Référence de configuration des clients MCP
Chaque client MCP lit les serveurs à un emplacement différent, sous sa propre clé et parfois dans un format qui lui est propre. Ce tableau indique où chacun les recherche, le format attendu et la prise en charge ou non d’OAuth pour les serveurs distants.
| Client | Fichier de configuration | Clé de premier niveau | Format | OAuth distant | Ajout via CLI |
|---|---|---|---|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json | mcpServers | json | Oui | Non |
| Claude Code | .mcp.json | mcpServers | json | Oui | Oui |
| Cursor | .cursor/mcp.json | mcpServers | json | Oui | Non |
| VS Code (GitHub Copilot) | .vscode/mcp.json (key 'servers') or portable .mcp.json (key 'mcpServers') | servers | json | Oui | Oui |
| Windsurf / Devin Desktop | .devin/mcp_config.json (Devin CLI / Devin Local project scope) | mcpServers | json | Oui | Oui |
| Zed | ~/.config/zed/settings.json | context_servers | json | Oui | Non |
| OpenAI Codex CLI | .codex/config.toml (trusted projects only) | mcp_servers | toml | Oui | Oui |
| Gemini CLI | .gemini/settings.json | mcpServers | json | Oui | Oui |
| ChatGPT | Écran des paramètres uniquement | — | — | Oui | Non |
| OpenClaw | ~/.openclaw/openclaw.json | mcp.servers | json5 | Oui | Oui |
| Cline | ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json | mcpServers | json | Non documenté | Oui |
| Continue | .continue/mcpServers/<name>.yaml (or drop a Claude/Cursor/Cline-style mcp.json into .continue/mcpServers/) | mcpServers | yaml | Non documenté | Non |
| JetBrains AI Assistant | Écran des paramètres uniquement | mcpServers | json (pasted in UI) | Non documenté | Non |
Différences qui font échouer les configurations
VS Code utilise servers
.vscode/mcp.json répertorie les entrées sous servers, et non sous mcpServers : une configuration Cursor ou Claude collée telle quelle ne sera donc pas chargée. Les formats portables plus récents .mcp.json et ~/.copilot/mcp-config.json utilisent bien mcpServers.
Gemini CLI : httpUrl, pas url
Gemini CLI détermine le transport à partir du nom du champ. httpUrl désigne Streamable HTTP, url l’ancien transport SSE et command stdio. Un serveur distant moderne nécessite httpUrl.
OpenClaw et Cline utilisent SSE par défaut
Si vous ne précisez pas le transport d’une entrée distante, les deux clients utilisent SSE, le protocole hérité. Définissez transport sur streamable-http dans OpenClaw et type sur streamableHttp dans Cline.
Claude Code exige un type
Dans .mcp.json, une entrée distante avec une url mais sans type est une erreur. Ajoutez type http à côté de url ; les entrées stdio utilisent type stdio.
Codex utilise TOML, une table par serveur
Codex n'utilise pas de fichier JSON. Chaque serveur est défini dans sa propre table [mcp_servers.<name>] de config.toml, args est un tableau TOML, et env_vars transmet les secrets du shell en les désignant par leur nom.
Continue attend une liste YAML
Dans Continue, mcpServers est une liste d'entrées qui contiennent chacune un name, et non une map indexée par nom. Chaque fichier de configuration doit aussi commencer par name, version et schema: v1.