If you use Claude Code across multiple projects, your MCP server configs are split across up to four files with no central view. This tool fixes that.
~/.claude.json mcpServers (global)
~/.claude.json projects[path].mcpServers (per-project settings)
[project]/.mcp.json per-project, shared
[project]/.mcp.local.json per-project, local override (git-ignored)
One sidebar, all four sources merged. Add, edit, delete, move, copy across scopes. ~/.claude.json is backed up before every write. Unknown JSON fields are preserved.
Native macOS app. Tauri v2 shell spawns a Go sidecar over localhost HTTP — the sidecar prints its port to stdout, Tauri reads it, the UI talks to it. The Go binary has zero external dependencies (stdlib net/http). UI is Svelte 5.
About 3.2k lines total: 1.3k Go, 1.7k Svelte/TS, 0.2k Rust.
Go 1.22+, Rust stable, Node 18+.
git clone https://github.com/strawberry-code/mcp-curator.git
cd mcp-curator
npm install
make build-sidecar # cross-compile Go sidecar for every Tauri target
make tauri-dev # dev server with HMR
make tauri-build # production .dmgSigning and notarization on macOS require a Developer ID Application certificate.
Tauri v2 (Rust)
spawns Go sidecar
net.Listen(":0") -> stdout: PORT=XXXX
Tauri reads port, proxies commands over localhost HTTP
Go sidecar (stdlib only)
domain/ entities, no I/O
application/ use cases
infrastructure/ config I/O: ~/.claude.json, .mcp.json, .mcp.local.json
api/ HTTP handlers, DTOs
MIT