Introducing MCPBolt — one config, every AI tool
After six months of copy-pasting the same Supabase server into eight different JSON files, we built the tool we wanted. Here's what MCPBolt does and why it stays local-only.
I got tired of copy-pasting the same Supabase config into eight different JSON files. So I built a tool to do it for me.
MCPBolt is a free, open-source, local-only CLI and Mac menu bar app that installs any MCP server into any AI coding tool from a single paste. No account. No cloud. No JSON archaeology.
The three-second pitch
You paste a config snippet once. MCPBolt:
- Detects the format automatically (Claude JSON, VS Code JSON, TOML, YAML, bare URL, npx one-liner, Docker command)
- Parses it into an internal representation that captures name, transport, and credentials
- Writes the correct native config for each tool you select, at each scope (user-level or project-level)
That's the whole thing. It's not a registry, a marketplace, or a cloud service. It's a format translator and a file writer.
What a run actually looks like
Here is a real session. You found the Supabase MCP server and grabbed their config snippet:
$ npx mcpbolt
mcpbolt ⚡ — wire MCP servers into any AI coding tool
Paste config below. Press Enter twice (or Ctrl+D) when done:
> { "mcpServers": { "supabase": { "url": "https://mcp.supabase.com/mcp" } } }
>
Detected
Format: JSON (Claude Desktop / VS Code / Cursor / Zed)
Servers: 1 — supabase
✔ Server name › supabase
✔ Select targets › Claude Desktop, Claude Code (global), Cursor (global), VS Code (project)
✔ Preview changes before writing? › Yes
Preview
Claude Desktop (user) → ~/Library/Application Support/Claude/claude_desktop_config.json
Claude Code (user) → ~/.claude.json
Cursor (user) → ~/.cursor/mcp.json
VS Code (project) → .vscode/mcp.json
✔ Write files now? › Yes
✓ Wired "supabase" into 4 targets.
→ Quit and reopen Claude Desktop to load the new server.
→ Open Cursor → Settings → MCP and click Refresh to activate.
→ Run "Developer: Reload Window" in VS Code (Cmd+Shift+P).Start to finish: about 30 seconds. And you never touched a JSON file manually.
https://mcp.example.com/sse), an npx one-liner, a Docker command, a Claude Desktop JSON blob, a VS Code servers block, Continue YAML, or Codex TOML. MCPBolt auto-detects all of them and converts to whatever each target needs.Ten tools supported on day one
MCPBolt knows how to write to all of these, at both user (global) and project scope where applicable:
- Claude Desktop
- Claude Code (global
~/.claude.jsonand project.mcp.json) - Cursor
- VS Code
- Codex CLI
- Windsurf
- Zed
- Continue
- Gemini CLI
- Roo Code
MCPBolt auto-detects which tools are installed on your machine and pre-checks only those in the target selector. You won't be prompted to write to Zed if Zed isn't installed.
The menu bar app
For developers who prefer to stay out of the terminal, MCPBolt also ships as a native macOS menu bar app (MCPBoltBar). Click the lightning bolt icon in your menu bar, paste a config, pick your targets, and write. Same flow, no terminal.
It also gives you a health view: which servers are wired into which tools, which are present in some tools but missing from others, and a coverage badge so you can see at a glance whether your Claude Desktop and Cursor configs are in sync.
What makes it different
There are a few things about MCPBolt that matter to me as the person who built it:
Local-only. Your MCP configs contain API keys, database URLs, and service tokens. They should never leave your machine. MCPBolt runs entirely locally. Nothing is sent anywhere.
Merge, never overwrite. MCPBolt reads your existing config, inserts or updates the one server entry you asked it to write, and writes back. Everything else in your config is untouched. A .bak file is created next to every file that gets modified, so if something goes wrong you can restore.
Dry-run by default.You see a preview of every change before anything is written. The “write files now?” prompt is not optional.
MIT licensed and open source. The code is on GitHub. You can read it, fork it, contribute to it, or audit it. Adding a new tool target is one file.
Install it
Run without installing:
npx mcpboltOr install globally:
npm install -g mcpboltMac menu bar app via Homebrew:
brew install --cask vishmathpati/mcpbolt/mcpboltbarIf you run into anything unexpected or want to add support for a tool MCPBolt doesn't cover yet, open an issue or a pull request. Adding a new target really is one file.
Download MCPBolt and let me know what you think.