CLI reference

The mcpbolt CLI reads a pasted config, translates it, and writes the result to one or more AI tool config files. It has a single interactive mode (default) and a handful of flags for scripting.


Invocation

npx mcpbolt [flags]

Or, if installed globally:

mcpbolt [flags]

Flags

FlagDescription
--versionPrint the installed version and exit.
--helpShow usage and available flags.
--dry-runParse and preview all changes but do not write any files. Equivalent to answering "No" at the "Write files now?" prompt, but skips the prompt entirely.
--target <id>Pre-select one or more targets (comma-separated) instead of showing the interactive picker. Example: --target claude-desktop,cursor-global.
--non-interactiveSkip all prompts. Requires the config to be piped or passed via stdin. Combines well with --target for scripting.
--format <fmt>Force a specific input format instead of auto-detecting. Valid values: claude, vscode, zed, codex, continue, url, npx, docker.

Environment variables

VariableDescription
MCPBOLT_CONFIG_DIROverride the directory MCPBolt uses for its own internal state (backups index, etc.). Defaults to ~/.mcpbolt.
MCPBOLT_NO_COLORSet to any non-empty value to disable ANSI colors in output. Useful for CI logs or terminals that don't support color.
💡
Scripting. For non-interactive use, pipe your config via stdin and combine flags: cat config.json | mcpbolt --non-interactive --target claude-desktop. MCPBolt exits with code 0 on success, non-zero on error.

Writer targets

These are the id values you pass to --target. MCPBolt auto-detects which are installed on your machine during interactive mode.

IDAppScopeConfig file
claude-desktopClaude Desktopuser~/Library/Application Support/Claude/claude_desktop_config.json
claude-code-globalClaude Codeuser~/.claude.json
claude-code-projectClaude Codeproject.mcp.json
cursor-globalCursoruser~/.cursor/mcp.json
cursor-projectCursorproject.cursor/mcp.json
vscode-globalVS Codeuser~/Library/Application Support/Code/User/mcp.json
vscode-projectVS Codeproject.vscode/mcp.json
codex-globalCodex CLIuser~/.codex/config.toml
codex-projectCodex CLIproject.codex/config.toml
windsurfWindsurfuser~/.codeium/windsurf/mcp_config.json
zed-globalZeduser~/.config/zed/settings.json
zed-projectZedproject.zed/settings.json
continueContinueuser~/.continue/config.yaml
gemini-globalGemini CLIuser~/.gemini/settings.json
gemini-projectGemini CLIproject.gemini/settings.json
rooRoo Codeproject.roo/mcp.json
Merge, not overwrite. MCPBolt always merges the target server key into the existing config file. Every other key in the file is left untouched. If the file does not exist, it is created with only the new server entry.