Git MCP Server

Um servidor MCP para realizar operações Git e integrar com GitHub.

Documentação

Git MCP Server

Um servidor Model Context Protocol (MCP) que fornece operações Git aprimoradas por meio de uma interface padronizada. Este servidor integra-se ao ecossistema MCP para fornecer funcionalidade Git a assistentes de IA.

Recursos

  • Operações Git Principais: init, clone, status, add, commit, push, pull
  • Gerenciamento de Branches: listar, criar, excluir, checkout
  • Operações de Tags: listar, criar, excluir
  • Gerenciamento de Remotos: listar, adicionar, remover
  • Operações de Stash: listar, salvar, pop
  • Ações em Lote: Executar múltiplas operações Git em sequência
  • Integração com GitHub: Suporte integrado ao GitHub via Personal Access Token
  • Resolução de Caminhos: Tratamento inteligente de caminhos com configuração opcional de caminho padrão
  • Tratamento de Erros: Tratamento abrangente de erros com tipos de erro personalizados
  • Cache de Repositório: Gerenciamento eficiente do estado do repositório
  • Monitoramento de Desempenho: Rastreamento de desempenho integrado

Instalação

  1. Clone o repositório:
git clone https://github.com/yourusername/git-mcp-v2.git
cd git-mcp-v2
  1. Instale as dependências:
npm install
  1. Compile o projeto:
npm run build

Configuração

Adicione ao seu arquivo de configurações MCP:

{
  "mcpServers": {
    "git-v2": {
      "command": "node",
      "args": ["path/to/git-mcp-v2/build/index.js"],
      "env": {
        "GIT_DEFAULT_PATH": "/path/to/default/git/directory",
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-pat"
      }
    }
  }
}

Variáveis de Ambiente

  • GIT_DEFAULT_PATH: (Opcional) Caminho padrão para operações Git
  • GITHUB_PERSONAL_ACCESS_TOKEN: (Opcional) Personal Access Token do GitHub para operações GitHub

Ferramentas Disponíveis

Operações Básicas

  • init: Inicializar um novo repositório Git
  • clone: Clonar um repositório
  • status: Obter o status do repositório
  • add: Preparar arquivos
  • commit: Criar um commit
  • push: Enviar commits para o remoto
  • pull: Baixar alterações do remoto

Operações de Branch

  • branch_list: Listar todos os branches
  • branch_create: Criar um novo branch
  • branch_delete: Excluir um branch
  • checkout: Alternar branches ou restaurar arquivos da árvore de trabalho

Operações de Tags

  • tag_list: Listar tags
  • tag_create: Criar uma tag
  • tag_delete: Excluir uma tag

Operações de Remoto

  • remote_list: Listar remotos
  • remote_add: Adicionar um remoto
  • remote_remove: Remover um remoto

Operações de Stash

  • stash_list: Listar stashes
  • stash_save: Salvar alterações no stash
  • stash_pop: Aplicar e remover um stash

Operações em Lote

  • bulk_action: Executar múltiplas operações Git em sequência

Desenvolvimento

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run linter
npm run lint

# Format code
npm run format

Licença

MIT

Contribuição

  1. Faça um fork do repositório
  2. Crie seu branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add some amazing feature')
  4. Envie para o branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request