Free open source tool

mcp-port

Convert MCP server configs between Claude, VS Code and Windsurf formats, validate them, and lint them for embedded secrets, without hand-editing JSON.

View source on GitHub

Runs fully in your browser, files never leave your device.

Convert a config

Paste a config or upload the file, pick the formats, and convert. Converting to VS Code replaces embedded secrets with input references automatically, exactly like the CLI.

The file is read locally into the box below. Nothing is uploaded anywhere.
Auto-detect matches the CLI. If you pick a format and the file does not match it, the validation panel says so.
VS Code uses the servers root key, a type field per server, and an inputs array for secrets.

Format quirks

Claude / generic: root key mcpServers, remote servers use url, secrets stay as plain values and the linter warns about them
VS Code: root key servers, every server carries a type field, secrets move into a root inputs array as promptString entries
Windsurf: root key mcpServers like Claude, but remote servers use serverUrl instead of url, and disabled is native
Unknown per-server fields are preserved through every conversion, so nothing your client added gets silently dropped

Prefer the command line?

Zero dependencies, plain Node.js 18 or newer.

git clone https://github.com/aamirtechs/mcp-port.git
cd mcp-port
node bin/mcp-port.js convert claude-config.json --to vscode
node bin/mcp-port.js check claude-config.json

The check command exits with code 1 when validation errors or secrets are found, so it works as a CI step or pre-commit hook.