Referensi config client MCP
Setiap client MCP membaca server dari lokasi dan key yang berbeda, dan terkadang menggunakan formatnya sendiri. Tabel ini menunjukkan lokasi yang digunakan setiap client, format yang dibutuhkan, dan apakah client tersebut mendukung OAuth untuk server jarak jauh.
| Client | File config | Key tingkat teratas | Format | OAuth jarak jauh | Tambah lewat CLI |
|---|---|---|---|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json | mcpServers | json | Ya | Tidak |
| Claude Code | .mcp.json | mcpServers | json | Ya | Ya |
| Cursor | .cursor/mcp.json | mcpServers | json | Ya | Tidak |
| VS Code (GitHub Copilot) | .vscode/mcp.json (key 'servers') or portable .mcp.json (key 'mcpServers') | servers | json | Ya | Ya |
| Windsurf / Devin Desktop | .devin/mcp_config.json (Devin CLI / Devin Local project scope) | mcpServers | json | Ya | Ya |
| Zed | ~/.config/zed/settings.json | context_servers | json | Ya | Tidak |
| OpenAI Codex CLI | .codex/config.toml (trusted projects only) | mcp_servers | toml | Ya | Ya |
| Gemini CLI | .gemini/settings.json | mcpServers | json | Ya | Ya |
| ChatGPT | Hanya melalui layar pengaturan | — | — | Ya | Tidak |
| OpenClaw | ~/.openclaw/openclaw.json | mcp.servers | json5 | Ya | Ya |
| Cline | ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json | mcpServers | json | Tidak terdokumentasi | Ya |
| Continue | .continue/mcpServers/<name>.yaml (or drop a Claude/Cursor/Cline-style mcp.json into .continue/mcpServers/) | mcpServers | yaml | Tidak terdokumentasi | Tidak |
| JetBrains AI Assistant | Hanya melalui layar pengaturan | mcpServers | json (pasted in UI) | Tidak terdokumentasi | Tidak |
Perbedaan yang dapat merusak konfigurasi
VS Code menggunakan servers
.vscode/mcp.json mencantumkan entri di bawah servers, bukan mcpServers, sehingga config Cursor atau Claude yang ditempel begitu saja tidak akan dimuat. .mcp.json dan ~/.copilot/mcp-config.json yang lebih baru dan portabel menggunakan mcpServers.
Gemini CLI: httpUrl, bukan url
Gemini CLI menentukan transport berdasarkan nama field. httpUrl berarti Streamable HTTP, url berarti transport SSE lama, dan command berarti stdio. Server jarak jauh modern memerlukan httpUrl.
OpenClaw dan Cline menggunakan SSE secara default
Jika transport tidak dicantumkan pada entri jarak jauh, keduanya akan menggunakan SSE lama. Atur transport ke streamable-http di OpenClaw dan type ke streamableHttp di Cline.
Claude Code memerlukan type
Di .mcp.json, entri remote yang memiliki url tetapi tidak memiliki type akan menyebabkan error. Tambahkan type http di samping url; entri stdio menggunakan type stdio.
Codex menggunakan TOML, satu tabel per server
Codex tidak menggunakan file JSON. Setiap server memiliki tabel [mcp_servers.<name>] tersendiri di config.toml, args berupa array TOML, dan env_vars meneruskan secret dari shell berdasarkan namanya.
Continue mengharapkan daftar YAML
Di Continue, mcpServers berupa daftar entri yang masing-masing memiliki name, bukan map dengan name sebagai kunci. Setiap file blok juga harus memiliki name, version, dan schema: v1 di bagian atas.