ShuaLabs
Registry

mcp-sync

One MCP server set across Claude Code, Cursor, Warp, and Claude Desktop — with drift detection.

ToolPublic
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 list

Why it is built this way

Zero dependencies on purpose. A tool that repairs broken configs should not itself break because of a dependency tree.