MCP Sync

Uma ferramenta de linha de comando para sincronizar configurações do MCP (Model Context Protocol) entre várias ferramentas de codificação de IA.

Documentação

MCP Sync - Ferramenta de Sincronização de Configurações MCP

Ferramenta CLI para sincronizar configurações MCP (Model Context Protocol) entre múltiplas ferramentas de codificação com IA.

Ferramentas Suportadas

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

Recursos

  • 🔄 Sincronização bidirecional: sincronize da configuração mestre para cada ferramenta, ou de uma ferramenta específica para outras
  • 💾 Backup automático: cria backups automaticamente antes de qualquer alteração
  • 🔍 Detecção de diferenças: modo de simulação (dry-run) para visualizar alterações antecipadamente
  • ⚡ Operação simples: comandos CLI simples
  • 🛡️ Segurança: validação de configuração e tratamento de erros

Instalação

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

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

Como Usar

Inicialização

Primeiro, inicialize a configuração de sincronização MCP:

mcp-sync init

Isso criará o arquivo de configuração mestre em ~/.mcp/mcp_settings.json.

Sincronização

Sincronizar da configuração mestre para todas as ferramentas

mcp-sync sync

Sincronizar apenas ferramentas específicas

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

Sincronizar de uma ferramenta específica para outras

mcp-sync sync --source claude

Modo de simulação (visualizar alterações)

mcp-sync sync --dry-run

Sincronização forçada (ignorar conflitos)

mcp-sync sync --force

Backup

Fazer backup das configurações de todas as ferramentas

mcp-sync backup

Fazer backup apenas de ferramentas específicas

mcp-sync backup --tool claude cline

Restauração

Restaurar do backup mais recente

mcp-sync restore --tool claude

Restaurar de um backup específico

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

Verificar backups disponíveis

mcp-sync restore --tool claude --list

Verificação de Status

Exibe o estado atual da sincronização e informações de configuração:

mcp-sync status

Para exibir logs detalhados:

mcp-sync status --verbose

Edição de Configuração

Abrir o arquivo de configuração mestre no editor:

mcp-sync edit

Localização dos Arquivos de Configuração

  • Configuração mestre: ~/.mcp/mcp_settings.json
  • Backups: ~/.mcp/backups/
  • Configurações de cada ferramenta:
    • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Claude Code: ~/.claude.json (seção mcpServers) ※Como o arquivo é compartilhado com outras configurações, as configurações existentes são preservadas
    • 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 (seção mcp.servers)

Formato do Arquivo de Configuração Mestre

{
  "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": []
  }
}

Opções de Linha de Comando

Opções Globais

  • --verbose, -v: Exibir logs detalhados
  • --quiet, -q: Suprimir mensagens que não sejam erros

Opções de Cada Comando

  • init: --force (sobrescrever configuração existente)
  • sync:
    • --tool <tools...> (sincronizar apenas ferramentas específicas)
    • --source <tool> (sincronizar de uma ferramenta específica em vez da mestre)
    • --dry-run (visualizar alterações)
    • --skip-backup (pular backup)
    • --force (sincronização forçada ignorando conflitos)
  • backup: --tool <tools...> (fazer backup apenas de ferramentas específicas)
  • restore:
    • --tool <tool> (obrigatório: ferramenta a ser restaurada)
    • --id <backupId> (ID de backup específico)
    • --list (listar backups disponíveis)

Solução de Problemas

Erro de Permissão

Se você não tiver permissão de escrita no arquivo de configuração, verifique o seguinte:

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

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

Arquivo de Configuração Não Encontrado

Mesmo que a ferramenta esteja instalada, o arquivo de configuração pode não existir. Nesse caso, inicie a ferramenta correspondente uma vez e tente novamente.

Conflitos de Sincronização

Se houver configurações diferentes em múltiplas ferramentas, use a opção --force para forçar a sincronização:

mcp-sync sync --force

Sobre a Configuração do Claude Code

O Claude Code armazena as configurações MCP na seção mcpServers do arquivo ~/.claude.json. Como este arquivo também contém outras configurações (globalShortcut, theme, etc.), o MCP Sync atualiza apenas a seção mcpServers, preservando as demais configurações.

Desenvolvimento

Build

npm run build

Testes

# 全テストを実行
npm test

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

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

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

Modo de Desenvolvimento

npm run dev

Qualidade do Código

# Lintを実行
npm run lint

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

Licença

Licença MIT

Contribuição

Pull requests são bem-vindos! Para relatórios de bugs ou solicitações de recursos, entre em contato via Issues.