Wiring a Custom MCP Server Into Claude and ChatGPT: What It Actually Takes
Simon Willison mapped out the real steps for connecting a custom MCP server to Claude and ChatGPT's chat interfaces — and the gap between the two platforms says a lot about where agentic tooling stands today.
By TRAGenX Desk
MCP (Model Context Protocol) solved the *server* side of connecting LLMs to external tools and data a while back — write one server, speak one protocol, and any compliant client can use it. What's been murkier is the *consumer* side: how do you actually plug a custom MCP server into the chat apps millions of people already use? Simon Willison wrote up exactly that, testing his own read-only SQL-query server against Claude.ai and ChatGPT.
Claude: one modal, minimal ceremony
In his TIL writeup, Willison found Claude's flow is close to frictionless: open the prompt box's plus menu, go to Connectors > Add custom connector, paste the server URL, and optionally configure auth. The connector then toggles on and off from that same menu. No special mode, no separate settings screen — it's treated as a first-class extension point.
ChatGPT: developer mode first
ChatGPT's path has more steps. You first have to enable Developer mode under Settings, a toggle OpenAI marks as elevated risk. From there, custom MCP servers are added through what's functionally a plugin registration flow — you set authentication (Willison used No Auth since his server didn't require OAuth), then find and activate the server from the plus icon in a chat. Internally, ChatGPT refers to these as "Plugins" rather than MCP servers, which is a naming mismatch worth knowing if you're hunting through menus expecting the word "MCP" to appear.
The shared guardrail: explicit consent
Both platforms stop short of silently trusting a new server. The first time you actually invoke a custom MCP connector, you hit a consent splash screen — a deliberate friction point given that an MCP server can, by design, read data and take actions on your behalf. ChatGPT's UI is blunt about it, warning that custom MCP servers introduce risk. One notable gap Willison flags: MCP tools aren't available in ChatGPT's Advanced Voice mode, so a voice-only session can't reach whatever your custom server exposes.
Why this matters for builders
If you're building internal tooling — a server that lets an LLM query your trading dashboards, your deployment logs, or your support tickets — the protocol was never the hard part. Getting a non-engineer teammate to actually turn it on inside the chat app they already live in is. Claude's single-modal setup lowers that bar considerably; ChatGPT's developer-mode gate means a custom MCP integration there is realistically an engineer-assisted rollout, not a paste-a-URL-and-go one. That asymmetry is worth factoring into any decision about which chat surface to standardize on for internal agentic tools.
Custom MCP servers introduce risk.
— ChatGPT plugin-configuration warning, via Simon Willison's TIL
FAQ
Frequently asked questions
- Do I need OAuth to add a custom MCP server?
- No. Both Claude and ChatGPT support unauthenticated servers — Willison's example was a read-only SQL query server with no auth configured, set to "No Auth" in ChatGPT's plugin modal.
- Why does ChatGPT call MCP servers "Plugins"?
- That's the label ChatGPT's interface uses for the feature, even though the underlying protocol is MCP — it's a UI terminology choice, not a different standard.
- Can I use a custom MCP server with ChatGPT's voice mode?
- No — per Willison's writeup, MCP tools are not available as tools inside ChatGPT's Advanced Voice mode, so custom servers only work in text-based chat sessions.
Sources
- TIL: Adding a custom MCP server to Claude and ChatGPT — Simon Willison
- Adding a custom MCP server to Claude and ChatGPT — Simon Willison (TIL)