About Mcpsync
Mcpsync is an MCP server published by justrach in the Developer Tools category: mCP server sync for all your AI tools.
The repository has 6 stars and 1 forks, with the last commit 4 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/justrach/mcpsyncThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (7)
Claude Code`~/.claude/settings.json`
Parameters not published.
Cursor`~/.cursor/mcp.json`
Parameters not published.
Forge`~/forge/mcp.json`
Parameters not published.
Gemini CLI`~/.gemini/settings.json`
Parameters not published.
Graff`~/codegraff/.mcp.json`
Parameters not published.
OpenCode`~/.config/opencode/mcp.json`
Parameters not published.
Windsurf`~/.codeium/windsurf/mcp_config.json`
Parameters not published.
Ask AI
Ask AI about Mcpsync
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
One config. Every AI tool. Always in sync.
a codegraff product
mcpsync keeps your MCP servers identical across every AI coding tool you use — Claude Code, Cursor, Windsurf, OpenCode, Gemini CLI, Graff, and Forge — from a single source-of-truth file at ~/.mcpconfig.json.
Add a server once. Run mcpsync sync. Done.
Why mcpsync?
- One source of truth —
~/.mcpconfig.jsonis the only file you ever edit - Additive sync — tool-specific servers you've added manually are never touched
- Atomic writes — all config updates use temp-file + rename, never corrupting a live tool
- Seven tools at once — Claude Code, Cursor, Windsurf, OpenCode, Gemini, Graff, Forge
- Single static binary — written in Zig, no runtime, no dependencies
Install
curl -fsSL https://mcpsync.codegraff.com | bash
Or build from source (requires Zig 0.16+):
git clone https://github.com/justrach/mcpsync
cd mcpsync && zig build -Doptimize=ReleaseFast
cp zig-out/bin/mcpsync ~/bin/mcpsync
Quick start
# Bootstrap: pull existing MCP configs from all your tools into ~/.mcpconfig.json
mcpsync init
# See what's in sync and what isn't
mcpsync status
# Push source-of-truth to every tool
mcpsync sync
# Preview changes without applying them
mcpsync diff
Status table
SERVER Claude Code Cursor Windsurf OpenCode Gemini Graff Forge
------------------------------------------------------------------------------------------
codedb ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync
muonry ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync
deepwiki ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync ✓ in sync
Legend: ✓ in sync ✗ missing ~ outdated · foreign (not managed)
Managing servers
# Add a stdio server
mcpsync add myserver --cmd /usr/local/bin/myserver --args --mcp
# Add an HTTP/SSE server
mcpsync add myserver --url https://example.com/mcp
# Remove a server
mcpsync remove myserver
# List all managed servers
mcpsync list
How it works
~/.mcpconfig.json ← single source of truth
│
├─ mcpsync sync
│
├──► ~/.claude/settings.json (Claude Code)
├──► ~/.cursor/mcp.json (Cursor)
├──► ~/.codeium/windsurf/mcp_config.json (Windsurf)
├──► ~/.config/opencode/mcp.json (OpenCode)
├──► ~/.gemini/settings.json (Gemini CLI)
├──► ~/codegraff/.mcp.json (Graff)
└──► ~/forge/mcp.json (Forge)
Each tool's config is merged surgically — only the mcpServers key is replaced. Every other key in the file (hooks, keybindings, theme settings) is round-tripped verbatim. Foreign servers that exist in a tool but not in your source-of-truth are preserved and shown as · foreign.
Source of truth format
~/.mcpconfig.json is plain JSON, tool-agnostic:
{
"mcpServers": {
"myserver": {
"command": "/usr/local/bin/myserver",
"args": ["--mcp"]
},
"remote": {
"url": "https://example.com/mcp"
}
}
}
All commands
| Command | Description |
|---|---|
mcpsync / mcpsync status |
Sync grid: every server × every tool |
mcpsync sync |
Push source-of-truth to all tools |
mcpsync diff |
Preview what sync would change |
mcpsync init |
Bootstrap ~/.mcpconfig.json from existing tool configs |
mcpsync list |
List managed servers |
mcpsync add <name> --cmd <path> [--args ...] |
Add a stdio server |
mcpsync add <name> --url <url> |
Add an HTTP/SSE server |
mcpsync remove <name> |
Remove a server |
Supported tools
| Tool | Config file |
|---|---|
| Claude Code | ~/.claude/settings.json |
| Cursor | ~/.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| OpenCode | ~/.config/opencode/mcp.json |
| Gemini CLI | ~/.gemini/settings.json |
| Graff | ~/codegraff/.mcp.json |
| Forge | ~/forge/mcp.json |
Built with
- Zig 0.16
- No external dependencies
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.