InfoWok
Intermediate

ChatGPT MCP: Connect Any MCP Server to ChatGPT (2026)

A practical 2026 guide for developers who already built an MCP server for Claude and want the same server answering inside ChatGPT. Covers what changed when MCP went cross-client, the real differences between Claude, ChatGPT and Cursor, the step-by-step connect flow via Developer Mode, and the OAuth and write-confirmation gotchas that trip people up.

SK
Sukhveer Kaur
Published October 14, 2026
5 min read
ChatGPT MCP title card reading "Connect Any MCP Server to ChatGPT (2026)" with the subtitle "Developer Mode, OAuth, and the write-confirmation gotcha" and an AI Engineering category badgeAI Engineering
CONNECT MCP TO CHATGPT
On this page +

Most developers treat MCP as a Claude feature. It never was. ChatGPT, Cursor and Gemini all speak MCP (Model Context Protocol — an open standard for connecting AI agents to tools and data). If you built an MCP server for Claude, you need no second integration: ChatGPT MCP support lets you point ChatGPT at the same server.

This guide is for exactly that reader: your Claude server works, and now you want it answering inside ChatGPT. By the end you will know:

  • what changed when MCP went cross-client, and why it matters;
  • the real differences between how Claude, ChatGPT and Cursor treat your server;
  • the exact steps to connect it to ChatGPT;
  • the OAuth and write-confirmation gotchas that catch people on the first try.
🎯 Key takeaways
  • The MCP server you built for Claude works in ChatGPT unchanged. Only the client-side connector layer differs.
  • ChatGPT connects to remote servers only, so a local stdio server has to be exposed over HTTP first.
  • Every write needs a manual Confirm in every chat, and nothing on the server side can pre-approve it.
  • Deep research connectors use only read-only search and fetch. Developer Mode exposes the full tool set.
  • Keep OAuth scopes per client and as narrow as each one needs.

MCP went cross-client — what actually changed#

MCP won the protocol race. The practical result: one server now serves many clients. A year ago, giving three AI apps access to your GitHub or your database meant three separate integrations. Today it can mean one MCP server and three connectors pointing at it.

Claude, ChatGPT, Cursor, Gemini, GitHub Copilot and VS Code have all adopted MCP, and the public server ecosystem now runs into the thousands. OpenAI documents adding a custom MCP server directly inside ChatGPT, so this is a supported path, not a hack.

The server in the middle never changes. What changes per client is the layer on top: how it authenticates, which tools it loads, and whether it asks before acting. ChatGPT’s layer is the newest and has the most surprises, so most of this guide is about that layer, not about rewriting your server.

Claude vs ChatGPT vs Cursor: the real differences#

Before you connect anything, it helps to see where the three clients diverge. Your server exposes the same tools to all of them; the client decides how those tools are discovered, authorized and confirmed.

Claude DesktopChatGPTCursor
How you add a serverConfig file or Connectors UIDeveloper Mode → custom connectormcp.json in the project
TransportLocal stdio + remoteRemote only (streamable HTTP / SSE)Local stdio + remote
Auth for remoteOAuthOAuth (client metadata documents, dynamic registration)OAuth / headers
Full tool set vs read-onlyFull tool setFull set in Developer Mode; read-only search/fetch for deep researchFull tool set
Write confirmationPer-tool approvalManual confirm on every write, every chatPer-tool approval
Plan requirementAny planDeveloper Mode: Pro/Plus/Business/Enterprise/EduAny plan

The row that matters most is transport. ChatGPT connects to remote servers only, with no “run this local command” option like Claude Desktop’s stdio config (where the client launches your server as a local process). A local stdio server must be exposed over a URL first; a remote one is ready to go.

ChatGPT MCP setup: connect your server step by step#

Here is the full flow, start to finish. It assumes a remote server that already runs for Claude and a ChatGPT plan that includes Developer Mode (Pro, Plus, Business, Enterprise or Education).

Step 1: Turn on Developer Mode#

In ChatGPT, open Settings, go to the Connectors tab (labeled Apps in some builds), open Advanced settings, and toggle Developer Mode on. This is the step most people miss. Without it, there is no “add custom connector” option anywhere in the UI.

Step 2: Create the connector#

In Connectors, click Create. Give it a name (and optionally a description and icon), paste your MCP server URL, set Authentication to OAuth, and tick the box confirming you trust the server.

text
Name:            My GitHub Tools
MCP server URL:  https://mcp.example.com/sse
Authentication:  OAuth
Trust:           ☑ I trust this application

Step 3: Authorize over OAuth#

ChatGPT redirects you to your server’s login, the same OAuth flow Claude used. If your server already handles Claude’s auth, there is usually nothing new to build. OpenAI’s client supports Client ID Metadata Documents and dynamic client registration, so most standards-compliant auth servers register without manual setup.

Step 4: Use it in a chat#

Start a new chat and attach the connector:

  1. Click the + icon, choose More, then select Developer mode.
  2. Pick your connector as a source and send a prompt that needs a tool.
  3. ChatGPT proposes the tool call and waits; click Confirm to send it to your server.
  4. If you later change your server’s tools, open the connector and click Refresh.

The most common snag: a connector that saves fine, shows “Connected,” and lists zero tools, with no error. In almost every case the URL points at the server’s home page instead of the MCP endpoint itself (the path that usually ends in /sse). Fix the path, click Refresh, and the tools appear.

The gotchas: OAuth, read-only tools, and write confirmations#

This is where ChatGPT MCP connections get tricky. Three gotchas catch almost everyone, and none of them show up until you are already connected.

Gotcha 1: every write needs a manual Confirm#

ChatGPT confirms every write action, in every conversation, and the confirmation is manual. Nothing your server can do will pre-approve it. For an interactive chat that is a safety feature; for anything you hoped to automate, it is a hard limit to design around.

⚠️ Warning

A write can still execute even if your server marked the tool read-only. ChatGPT trusts your labels only so far, which is why OpenAI’s guidance is to connect only servers you trust. My advice: treat the trust checkbox as a real decision, not a formality.

Gotcha 2: deep research connectors are read-only#

Deep research connectors and Developer Mode connectors are different things. For deep research, your server should expose just two read-only tools, search and fetch. A result only becomes a linked citation when it carries a real url; return results without one and your sources silently stop linking.

🔑 Key point

Developer Mode exposes your server’s full tool set, including writes, and gates each write behind a manual Confirm. Deep research connectors expose only read-only search and fetch. Pick the mode to match what the server is for (a knowledge source or an action tool) before you wire it up.

Gotcha 3: scope OAuth per client#

Because the same server now faces several clients, keep OAuth scopes tight and per-client where you can. A token minted for a read-only deep research connector should not carry write permissions it will never use. Least privilege stops being theoretical the moment a second client holds a token to your server.

One server, many clients: keeping it portable#

The lesson underneath all of this: write the server once, against the MCP spec, and let each client’s connector layer be the only thing that differs. I’d resist the urge to special-case ChatGPT inside your server code. In practice that means three habits:

  • Expose it remotely over streamable HTTP or SSE (server-sent events), so every client can reach it, not just the ones that run local processes.
  • Use standards-compliant OAuth, so client registration is automatic rather than a bespoke setup per app.
  • Keep tool descriptions clean and honest: every client reads the same descriptions, so a vague one hurts you three times over.

Do that, and adding the next client (Gemini, Copilot, whatever ships next quarter) is a connector form, not a project.

The bottom line#

“MCP is a Claude thing” was never true, and in 2026 it is plainly false. The server you built for Claude will answer inside ChatGPT once ChatGPT MCP setup is done: Developer Mode on, connector added, authorized. The new parts (remote-only transport, read-only tools, per-write confirmation) never touch your server code. Which client are you connecting next?

🧭 Where to go next

Frequently asked questions

Can I use my existing Claude MCP server with ChatGPT? +
Yes, if it is a remote server reachable over a URL. ChatGPT connects to remote MCP servers (streamable HTTP or SSE), so a server you already expose for Claude works, and you add it as a custom connector in ChatGPT's Developer Mode and authorize it over OAuth. A local stdio-only server has to be exposed remotely first.
Where is Developer Mode in ChatGPT? +
Settings, then the Connectors tab, then Advanced settings, then toggle on Developer Mode. It needs a plan that includes Developer Mode (Pro, Plus, Business, Enterprise or Education). Once on, you can add a custom connector by URL and use its full tool set in a chat.
Why does ChatGPT ask me to confirm every tool call? +
ChatGPT requires manual confirmation before any write action, in every conversation. Nothing runs until you click Confirm, so you can inspect the proposed call first. The confirmation also flags potentially sensitive data, and a write can still happen even if the server labeled a tool read-only, so only connect servers you trust.
What is the difference between a deep research connector and a Developer Mode connector? +
A deep research connector exposes only two read-only tools, search and fetch, for pulling knowledge into an answer. Developer Mode gives the model the server's full tool set, including tools that write. That is why Developer Mode adds the per-call confirmation step.

References

  1. Building MCP servers for ChatGPT and API integrations — OpenAI
  2. Add a remote MCP server to ChatGPT — Auth0
  3. Model Context Protocol — official site
  4. What Is an MCP Server? A Complete Guide for Developers — Infowok
Written by
Sukhveer Kaur
Sukhveer KaurSoftware Developer & AI Engineer

Sukhveer is a software developer specialising in AI systems and backend engineering. She has hands-on experience designing agentic AI applications, working with large language model pipelines, autonomous agent frameworks, and cloud-native services in Java and Python. At InfoWok, she bridges the gap between cutting-edge AI research and practical implementation — helping developers understand and apply emerging technologies through clear, experience-backed writing.

New AI engineering guides, the day they ship

Real Python, production depth. No digest spam.

Comments