MCP Sync

Una herramienta de línea de comandos para sincronizar configuraciones de MCP (Model Context Protocol) entre múltiples herramientas de codificación de IA.

Documentación

MCP Sync - Herramienta de sincronización de configuración MCP

Herramienta CLI para sincronizar la configuración de MCP (Model Context Protocol) entre múltiples herramientas de codificación con IA.

Herramientas compatibles

  • Claude Desktop
  • Claude Code
  • Cline
  • Roo Code
  • Cursor
  • VS Code

Características

  • 🔄 Sincronización bidireccional: sincroniza desde la configuración maestra a cada herramienta, o desde una herramienta específica a otras
  • 💾 Copia de seguridad automática: crea copias de seguridad automáticamente antes de los cambios
  • 🔍 Detección de diferencias: función de ejecución en seco para verificar los cambios de antemano
  • ⚡ Operación sencilla: opera con comandos CLI simples
  • 🛡️ Seguridad: validación de configuración y manejo de errores

Instalación

# npmでインストール
npm install -g mcp-sync

# または、リポジトリをクローンして直接使用
git clone https://github.com/sodeyama/sync-mcp-config.git
cd sync-mcp-config
npm install
npm link

Uso

Inicialización

Primero, inicializa la configuración de sincronización de MCP:

mcp-sync init

Esto crea el archivo de configuración maestro en ~/.mcp/mcp_settings.json.

Sincronización

Sincronizar desde la configuración maestra a todas las herramientas

mcp-sync sync

Sincronizar solo herramientas específicas

mcp-sync sync --tool claude cline roo
# または claude-code も含める場合
mcp-sync sync --tool claude claude-code cline

Sincronizar desde una herramienta específica a otras

mcp-sync sync --source claude

Ejecución en seco (verificación de cambios)

mcp-sync sync --dry-run

Sincronización forzada (ignorar conflictos)

mcp-sync sync --force

Copia de seguridad

Hacer copia de seguridad de la configuración de todas las herramientas

mcp-sync backup

Hacer copia de seguridad solo de herramientas específicas

mcp-sync backup --tool claude cline

Restauración

Restaurar desde la copia de seguridad más reciente

mcp-sync restore --tool claude

Restaurar desde una copia de seguridad específica

mcp-sync restore --tool claude --id claude-claude_desktop_config-2025-01-11T08-30-00-000Z.json

Verificar copias de seguridad disponibles

mcp-sync restore --tool claude --list

Verificación de estado

Muestra el estado de sincronización actual e información de configuración:

mcp-sync status

Para mostrar registros detallados:

mcp-sync status --verbose

Edición de configuración

Abrir el archivo de configuración maestro en el editor:

mcp-sync edit

Ubicación de los archivos de configuración

  • Configuración maestra: ~/.mcp/mcp_settings.json
  • Copias de seguridad: ~/.mcp/backups/
  • Configuración de cada herramienta:
    • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Claude Code: ~/.claude.json (sección mcpServers) ※ Archivo compartido con otras configuraciones, por lo que se conservan las configuraciones existentes
    • Cline: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Roo Code: ~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
    • Cursor: ~/.cursor/mcp.json
    • VS Code: ~/Library/Application Support/Code/User/settings.json (sección mcp.servers)

Formato del archivo de configuración maestro

{
  "version": "1.0.0",
  "lastUpdated": "2025-01-11T08:40:00Z",
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-example"],
      "env": {
        "API_KEY": "your-api-key"
      },
      "disabled": false,
      "alwaysAllow": ["tool1", "tool2"],
      "metadata": {
        "description": "Example MCP server",
        "tags": ["example", "demo"]
      }
    }
  },
  "globalSettings": {
    "backupEnabled": true,
    "syncOnChange": true,
    "backupRetentionCount": 10,
    "excludeTools": []
  }
}

Opciones de línea de comandos

Opciones globales

  • --verbose, -v: muestra registros detallados
  • --quiet, -q: suprime mensajes que no sean errores

Opciones de cada comando

  • init: --force (sobrescribe la configuración existente)
  • sync:
    • --tool <tools...> (sincroniza solo herramientas específicas)
    • --source <tool> (sincroniza desde una herramienta específica en lugar de la maestra)
    • --dry-run (vista previa de los cambios)
    • --skip-backup (omitir copia de seguridad)
    • --force (sincronización forzada ignorando conflictos)
  • backup: --tool <tools...> (hacer copia de seguridad solo de herramientas específicas)
  • restore:
    • --tool <tool> (obligatorio: herramienta a restaurar)
    • --id <backupId> (ID de copia de seguridad específica)
    • --list (lista las copias de seguridad disponibles)

Solución de problemas

Error de permisos

Si no tienes permisos de escritura en el archivo de configuración, verifica lo siguiente:

# 権限を確認
ls -la ~/Library/Application\ Support/Claude/

# 必要に応じて権限を変更
chmod 644 ~/Library/Application\ Support/Claude/claude_desktop_config.json

No se encuentra el archivo de configuración

Aunque la herramienta esté instalada, es posible que el archivo de configuración no exista. En ese caso, inicia la herramienta correspondiente una vez y vuelve a intentarlo.

Conflictos de sincronización

Si hay configuraciones diferentes en varias herramientas, puedes usar la opción --force para forzar la sincronización:

mcp-sync sync --force

Acerca de la configuración de Claude Code

Claude Code guarda la configuración de MCP en la sección mcpServers del archivo ~/.claude.json. Este archivo también contiene otras configuraciones (globalShortcut, theme, etc.), por lo que MCP Sync solo actualiza la sección mcpServers y conserva las demás configuraciones.

Desarrollo

Compilación

npm run build

Pruebas

# 全テストを実行
npm test

# ウォッチモードでテスト
npm run test:watch

# カバレッジレポート付きでテスト
npm run test:coverage

# 特定のテストファイルのみ実行
npm test -- path/to/test.spec.ts

Modo de desarrollo

npm run dev

Calidad del código

# Lintを実行
npm run lint

# コードフォーマット
npm run format

Licencia

MIT License

Contribuciones

¡Las solicitudes de extracción son bienvenidas! Para informes de errores o solicitudes de funciones, contacta a través de Issues.