mcp-sync
Sync MCP server configurations across various AI coding tools.
mcp-sync
Sync MCP (Model Context Protocol) configurations across AI tools.
Overview
mcp-sync is a command-line tool that helps you manage and synchronize MCP server configurations across different AI coding tools like Claude Desktop, Claude Code, Cline, VS Code extensions, and more.
Features
- Auto-discovery: Automatically finds MCP configs on your system
- Manual registration: Add custom config file locations for future-proofing
- Global & project configs: Supports both user-wide and project-specific servers
- Conflict resolution: Smart merging with project configs taking priority
- Dry-run mode: Preview changes before applying them
- Cross-platform: Works on macOS, Windows, and Linux
Installation
Quick Usage (Recommended)
uvx mcp-sync status
uvx mcp-sync sync --dry-run
Persistent Installation
uv tool install mcp-sync
mcp-sync status
Development Install
git clone <repo-url>
cd mcp-sync
./scripts/setup.sh # Installs dependencies and git hooks automatically
Quick Start
-
Scan for existing configs:
mcp-sync scan -
Check current status:
mcp-sync status -
Add a server to global config:
mcp-sync add-server filesystem # Follow prompts to configure -
Preview sync changes:
mcp-sync diff mcp-sync sync --dry-run -
Sync configurations:
mcp-sync sync
Commands
Discovery & Status
mcp-sync scan- Auto-discover known MCP configsmcp-sync status- Show sync statusmcp-sync diff- Show config differences
Config Location Management
mcp-sync add-location <path> [--name <alias>]- Register custom config filemcp-sync remove-location <path>- Unregister config locationmcp-sync list-locations- Show all registered config paths
Sync Operations
mcp-sync sync- Sync all registered configsmcp-sync sync --dry-run- Preview changes without applyingmcp-sync sync --global-only- Sync only global configsmcp-sync sync --project-only- Sync only project configsmcp-sync sync --location <path>- Sync specific location only
Server Management
mcp-sync add-server <name>- Add MCP server to sync (interactive prompts)mcp-sync add-server <name> --command <cmd> --args <args> --env <vars> --scope <global|project>- Add server with inline parametersmcp-sync remove-server <name>- Remove server from sync (interactive prompts)mcp-sync remove-server <name> --scope <global|project>- Remove server with inline scopemcp-sync list-servers- Show all managed servers
Migration
mcp-sync vacuum- Import MCP servers from discovered configs--auto-resolve <first|last>choose conflict resolution automatically--skip-existingavoid overwriting servers already in global config
Adding Servers: When adding a server, you need to provide:
- Command: The executable to run (e.g.,
python,npx,node) - Arguments: Command-line arguments (comma-separated, optional)
- Environment: Environment variables as
KEY=valuepairs (comma-separated, optional) - Scope: Whether to add to global config (synced everywhere) or project config (this project only)
Interactive example:
mcp-sync add-server filesystem
# Prompts for: scope, command, args, env vars
Automated example:
mcp-sync add-server filesystem --command npx --args "-y,@modelcontextprotocol/server-filesystem,/home/user/docs" --scope global
Project Management
mcp-sync init- Create project.mcp.jsonmcp-sync template- Show template config
Client Management
mcp-sync list-clients- Show all supported clients and their detection statusmcp-sync client-info [client-id]- Show detailed client information and pathsmcp-sync edit-client-definitions- Edit user client definitions to add custom clients
Configuration Hierarchy
mcp-sync uses a three-tier configuration system:
-
Global Config (
~/.mcp-sync/global.json)- Personal development servers
- Synced across all tools
-
Project Config (
.mcp.jsonin project root)- Project-specific servers
- Version controlled with your project
- Takes priority over global config
-
Tool Configs (Auto-discovered locations)
- Claude Desktop, VS Code, Cline, etc.
- Updated by sync operations
Supported Tools
mcp-sync uses a configuration-driven approach to support AI tools and editors. Client definitions are managed through JSON configuration files.
Built-in client support:
- Claude Desktop - Official Claude Desktop application
- Claude Code - Claude CLI for code editing
- Cline - VS Code extension for AI assistance
- Roo - Roo VS Code extension for AI assistance
- VS Code User Settings - VS Code global user settings
- Cursor - Cursor AI code editor
- Continue - Continue VS Code extension
Run mcp-sync list-clients to see which clients are detected on your system, or mcp-sync client-info <client-id> for detailed information about specific clients.
Adding custom clients: Users can add their own client definitions by running mcp-sync edit-client-definitions. This creates ~/.mcp-sync/client_definitions.json where custom client configurations can be added. User definitions take precedence over built-in ones, allowing customization and adding support for new tools without modifying the codebase.
Example Workflow
# 1. Initialize project config
mcp-sync init
# 2. Add project-specific server
mcp-sync add-server database
# Choose "2. Project config"
# Command: python
# Args: /path/to/db-server.py
# Env: DB_URL=postgresql://...
# 3. Add global development server
mcp-sync add-server filesystem
# Choose "1. Global config"
# Command: npx
# Args: -y, @modelcontextprotocol/server-filesystem, /home/user
# 4. Sync to all tools
mcp-sync sync
# 5. Check status
mcp-sync status
Configuration File Format
MCP Server Configuration
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/directory"
]
},
"custom-server": {
"command": "python",
"args": ["/path/to/server.py"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
Development
Requirements
- Python 3.12+
- uv package manager
Setup
git clone <repo-url>
cd mcp-sync
uv sync
uv pip install -e .
Code Quality
uv run ruff check . # Linting
uv run ruff format . # Formatting
uv run pytest # Tests (when available)
Running Tests
Tests require the package to be on PYTHONPATH. Either install it in editable mode:
uv pip install -e .
uv run pytest
or set PYTHONPATH manually when invoking pytest:
PYTHONPATH=$PWD uv run pytest
License
[License details here]
Contributing
[Contributing guidelines here]
Servidores relacionados
Alpha Vantage MCP Server
patrocinadorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Kubernetes MCP Server
Inspect and debug Kubernetes clusters with read-only access to resources, CRDs, and pod logs.
Icons8 MCP server
Get access to MCP server SVG and MCP server PNG icons in your vibe-coding projects
MCP-Inscription Server
Interact with Ordinals Inscriptions and display content from transactions.
MCP Gateway
Integrates multiple MCP servers into a single interface with a management Web UI and real-time status updates.
Kite Trading MCP Server
An MCP server for the Zerodha Kite Connect API, featuring fully automated authentication without manual token handling.
Luzia Crypto API
Provides real-time cryptocurrency pricing data and market information from major exchanges like Binance, Coinbase, and Kraken via the Luzia API. It enables AI assistants to fetch ticker prices, compare exchange rates, and analyze market trends through specialized tools and prompts.
JMeter MCP Server
Execute JMeter tests and analyze results through MCP-compatible clients.
IDA Pro
Interact with IDA Pro for reverse engineering and binary analysis tasks.
Remote Terminal MCP for Cursor
A remote terminal tool for Cursor to manage and connect to remote servers via SSH, jump hosts, and Docker containers.
MCPulse
Crowdsourced MCP server reliability scoring — 615+ servers monitored, 2.17M+ health checks, real-time reliability data