For a long time MCP was a Claude-and-Cursor story. That's over: ChatGPT now speaks MCP too. OpenAI's Apps SDK is built directly on the Model Context Protocol, and Developer Mode lets you connect your own MCP server. If you've only wired servers into Claude Desktop or Cursor, here's what's the same, what's different, and how to get one running in ChatGPT.
Connectors became "apps"
First, the naming. As of late 2025 OpenAI folded its old "connectors" and the new interactive integrations into a single concept it calls apps, all built on MCP. An app can be a pure data connector — read from a backend, call some tools — or it can return rendered widgets that show up inline in the chat, which is the Apps SDK's headline feature. Underneath, it's the same protocol you already know: the server lists tools, the model calls them, and results come back. What OpenAI adds on top is a way to package and publish that experience, plus an optional UI layer.
The minimal MCP integration
If you're building the server, the Apps SDK asks for three capabilities, and they map cleanly onto MCP. List tools so the model can see what's available. Call tools, where the model selects one and issues a call_tool request. And, optionally, return widgets — alongside the structured result you return an embedded resource the Apps SDK renders inline. The first two are vanilla MCP; the third is the MCP Apps UI extension that ChatGPT and Claude are both converging on. So a well-built MCP server is most of the way to being a ChatGPT app already.
Connecting one via Developer Mode
To attach your own server, you enable Developer Mode in ChatGPT's settings, which exposes the ability to add an MCP server as an app — pointing at a remote, OAuth-protected endpoint rather than a local stdio command. That's the key difference from a desktop client: ChatGPT is cloud-side, so it talks to remote servers over HTTP, not processes spawned on your machine. If your server only runs locally today, you'll need to host it and expose an authenticated URL before ChatGPT can reach it — the same hosted, OAuth shape vendors like GitHub and Stripe ship.
How it differs from Claude and Cursor
The mental model is consistent across all three, but the plumbing differs. Claude Desktop and Cursor happily launch local servers over stdio from a config file; ChatGPT leans on remote connectors. That means hosting and auth matter more from day one — see private MCP server hosting and token passthrough prevention. For a side-by-side of the desktop clients, read Claude Desktop vs Cursor vs Windsurf.
Going further
The takeaway: building a clean, remote, OAuth-secured MCP server now buys you Claude, Cursor and ChatGPT from one codebase. Start from what is an MCP server and build your first MCP server in Node.js, then publish it to the official registry. Browse ready picks in best MCP servers for Claude Desktop or grab a loadout.