mcp-agentgate-config-convert
v0.14.0
Published
Convert MCP server configuration between clients (Claude Desktop, Claude Code, Cursor, VS Code, Codex, OpenCode)
Readme
mcp-agentgate-config-convert
Convert MCP server configuration between client formats — the "config portability" gap called out in the official MCP 2026 roadmap.
Supported clients:
| Client | Format | Default location |
|---|---|---|
| claude-desktop | JSON mcpServers (stdio only) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| claude-code | JSON mcpServers (+type) | .mcp.json |
| cursor | JSON mcpServers | ~/.cursor/mcp.json / .cursor/mcp.json |
| vscode | JSON servers (+type, inputs) | .vscode/mcp.json |
| codex | TOML [mcp_servers.<name>] | ~/.codex/config.toml |
| opencode | JSON(C) mcp (local/remote) | opencode.json |
| windsurf | JSON mcpServers (remote via serverUrl) | ~/.codeium/windsurf/mcp_config.json |
| cline | JSON mcpServers (+disabled) | <vscode user dir>/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json |
| gemini-cli | JSON mcpServers (url sse / httpUrl http) | ~/.gemini/settings.json |
| kiro | JSON mcpServers | ~/.kiro/settings/mcp.json / .kiro/settings/mcp.json |
| roo-code | JSON mcpServers | <vscode user dir>/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json / .roo/mcp.json |
| kilocode | JSON mcpServers | <vscode user dir>/globalStorage/kilocode.kilo-code/settings/mcp_settings.json / .kilocode/mcp.json / .kilo/mcp.json |
| kilo | JSON(C) mcp (Kilo CLI, OpenCode schema) | kilo.json / kilo.jsonc |
| zed | JSONC context_servers inside settings | ~/.config/zed/settings.json |
| continue | YAML mcpServers list | ~/.continue/config.yaml / .continue/mcpServers/*.yaml |
| amp | amp.mcpServers key inside settings | ~/.config/amp/settings.json / .amp/settings.json |
| warp | standard mcpServers (working_directory for cwd) | ~/.warp/.mcp.json / .warp/.mcp.json |
| lmstudio | standard mcpServers (Cursor notation) | ~/.lmstudio/mcp.json |
| trae | standard mcpServers | .trae/mcp.json (project) |
| amazonq | standard mcpServers | .amazonq/mcp.json (project; also ~/.aws/amazonq/mcp.json) |
| antigravity | mcpServers; remote servers use serverUrl | .agents/mcp_config.json (workspace) / ~/.gemini/config/mcp_config.json |
| crush | mcp map (type: stdio/http/sse, disabled) | .crush.json / crush.json (project; also ~/.config/crush/crush.json) |
| goose | YAML extensions map (type: stdio/streamable_http/sse; cmd/envs/uri) | ~/.config/goose/config.yaml (%APPDATA%\Block\goose\config\config.yaml on Windows) |
| factory | standard mcpServers | .factory/mcp.json (project; also ~/.factory/mcp.json) |
| junie | standard mcpServers | .junie/mcp/mcp.json (project; also ~/.junie/mcp/mcp.json) |
| qoder | mcpServers key inside settings | .qoder/settings.json (project; also ~/.qoder/settings.json) |
| qwen-code | mcpServers key inside settings (Gemini CLI notation: url is SSE, httpUrl is streamable HTTP) | .qwen/settings.json (project; also ~/.qwen/settings.json) |
| copilot-cli | mcpServers map or bare project map (type: local/stdio/http/sse, tools allowlist) | ~/.copilot/mcp-config.json / .github/mcp.json |
CLI
agentgate-config-convert --from cursor --to vscode --in .cursor/mcp.json --out .vscode/mcp.json
# or via stdin/stdout
cat .cursor/mcp.json | agentgate-config-convert --from cursor --to codexLossy conversions (e.g. remote servers into Claude Desktop, VS Code inputs,
clients without a disabled flag) never fail silently — every dropped or degraded
field is reported as a warning: line on stderr.
API
import { convert } from "mcp-agentgate-config-convert";
const { content, warnings } = convert("cursor", "codex", jsonText);This package will be merged into the agentgate CLI as agentgate config convert
once route A's CLI lands; the canonical model and conversion semantics are specified
in docs/spec/config-convert.md.
Develop
npm install
npm test
npm run build