mcp-sync
One MCP server set across Claude Code, Cursor, Warp, and Claude Desktop — with drift detection.
- Language
- Python
Four AI tools, four separate MCP config files, no awareness of each other. You add a server to one and forget the rest. The configs drift, and the drift is silent: a broken server reports only "Failed to connect", never that the path is stale or that the environment variable you referenced was never exported.
mcp-sync defines the servers once and generates the rest. `check` reports drift and exits non-zero; `sync` reconciles every tool; `diff` shows exactly what would change. It also catches the most common silent killer — an `${env:VAR}` reference pointing at a variable nobody ever exported.
Zero third-party dependencies, single file, Python 3.8+. 21 tests, green on Linux, macOS, and Windows.
Install
curl -o ~/.local/bin/mcp-sync \
https://raw.githubusercontent.com/jmenzies722/mcp-sync/main/mcp_sync.py
chmod +x ~/.local/bin/mcp-sync
mcp-sync init # build one canonical list from configs you already have
mcp-sync check # what drifted — exit 1 if anything did
mcp-sync sync # reconcile every tool to the canonical listWhy it is built this way
Zero dependencies on purpose. A tool that repairs broken configs should not itself break because of a dependency tree.