dotsagent.io
Language:English
Connect · 13 clients

MCP client config reference

Every MCP client reads servers from its own place, under its own key and sometimes in its own format. This table shows where each one looks, what shape it wants and whether it handles OAuth for remote servers.

ClientConfig fileTop-level keyFormatRemote OAuthCLI add
Claude Desktop
Anthropic
~/Library/Application Support/Claude/claude_desktop_config.jsonmcpServersjsonYesNo
Claude Code
Anthropic
.mcp.jsonmcpServersjsonYesYes
Cursor
Anysphere
.cursor/mcp.jsonmcpServersjsonYesNo
VS Code (GitHub Copilot)
Microsoft
.vscode/mcp.json (key 'servers') or portable .mcp.json (key 'mcpServers')serversjsonYesYes
Windsurf / Devin Desktop
Cognition
.devin/mcp_config.json (Devin CLI / Devin Local project scope)mcpServersjsonYesYes
Zed
Zed Industries
~/.config/zed/settings.jsoncontext_serversjsonYesNo
OpenAI Codex CLI
OpenAI
.codex/config.toml (trusted projects only)mcp_serverstomlYesYes
Gemini CLI
Google
.gemini/settings.jsonmcpServersjsonYesYes
ChatGPT
OpenAI
Settings screen only——YesNo
OpenClaw
OpenClaw
~/.openclaw/openclaw.jsonmcp.serversjson5YesYes
Cline
Cline Bot Inc.
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonmcpServersjsonNot documentedYes
Continue
Continue Dev
.continue/mcpServers/<name>.yaml (or drop a Claude/Cursor/Cline-style mcp.json into .continue/mcpServers/)mcpServersyamlNot documentedNo
JetBrains AI Assistant
JetBrains
Settings screen onlymcpServersjson (pasted in UI)Not documentedNo

Differences that break setups

VS Code uses servers

.vscode/mcp.json lists entries under servers, not mcpServers, so a Cursor or Claude config pasted in unchanged won't load. The newer portable .mcp.json and ~/.copilot/mcp-config.json do use mcpServers.

Gemini CLI: httpUrl, not url

Gemini CLI picks the transport from the field name. httpUrl means Streamable HTTP, url means the old SSE transport, and command means stdio. A modern remote server needs httpUrl.

OpenClaw and Cline default to SSE

Leave out the transport on a remote entry and both fall back to legacy SSE. Set transport to streamable-http in OpenClaw and type to streamableHttp in Cline.

Claude Code wants a type

In .mcp.json, a remote entry with a url but no type is an error. Add type http next to the url; stdio entries take type stdio.

Codex is TOML, one table per server

Codex has no JSON file. Each server is its own [mcp_servers.<name>] table in config.toml, args is a TOML array, and env_vars forwards secrets from your shell by name.

Continue expects a YAML list

In Continue, mcpServers is a list of entries that each carry a name, not a map keyed by name. Every block file also needs name, version and schema: v1 at the top.

Generate a config →

Independent reference for people who build AI agents. Not affiliated with any vendor named here.

© 2026 DotsAgent · Facts checked October 1, 2026