We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Andre-Buzeli/git-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
<!-- f5983afc-e123-4c28-987e-3fa0f89264b3 86e1e627-0ccb-4c99-966a-40c48bf4e351 -->
# Plano de Correção de Erros Git-MCP
## Visão Geral
Corrigir 7 erros no GitHub e 3 erros no Gitea identificados durante testes das ferramentas Git-MCP.
## Problemas Identificados
### GitHub
1. **git-files**: Validação incorreta para ação `list` (exige `filePath` desnecessariamente)
2. **git-branches**: Validação de `get` exige `branchName` mas não há validação específica
3. **git-tags**: Validação de `create` exige `tagName` mas não há validação específica
4. **git-remote**: Ação `list` não está registrada no schema da ferramenta
5. **git-analytics**: Comandos `git log` e `git shortlog` falham em repositórios vazios
6. **git-packages**: Documentação confusa sobre parâmetro `packageName`
7. **git-sync**: Validação correta mas mensagem de erro pode ser melhorada
### Gitea
1. **git-pulls**: Erro 404 ao criar PR (problema de branches ou permissões)
2. **git-tags**: Mesmo problema do GitHub - falta validação de `tagName`
3. **git-remote**: Remote 'origin' não configurado (problema de setup, não do código)
## Correções Necessárias
### 1. git-files (src/tools/git-files.ts)
**Problema**: Validação exige `filePath` para ação `read`, mas `list` não precisa
**Solução**: Ajustar validação em `parameter-validator.ts` para tornar `filePath` opcional para `list`
**Arquivos**: `src/utils/parameter-validator.ts` linha 234-242
### 2. git-branches (src/utils/parameter-validator.ts)
**Problema**: Falta validação específica para ação `get`
**Solução**: Adicionar validação de `branchName` para ação `get` no método `validateBranchesParams`
**Arquivos**: `src/utils/parameter-validator.ts` linha 285-318
### 3. git-tags (src/utils/parameter-validator.ts)
**Problema**: Não há validação de parâmetros para git-tags
**Solução**: Adicionar método `validateTagsParams` com validação de `tagName` para ações `create`, `get`, `delete`
**Arquivos**: `src/utils/parameter-validator.ts` linha 139-163
### 4. git-remote (src/tools/git-remote.ts)
**Problema**: Ação `list` implementada mas não registrada no schema
**Solução**: Schema já tem `list` na linha 663, mas `TOOL_OPERATIONS` em `parameter-validator.ts` não inclui
**Arquivos**: `src/utils/parameter-validator.ts` linha 35
### 5. git-analytics (src/tools/git-analytics.ts)
**Problema**: Comandos git falham em repositórios sem commits
**Solução**: Adicionar verificação se repositório tem commits antes de executar `git log` e `git shortlog`
**Arquivos**: `src/tools/git-analytics.ts` linhas 253-326, 331-415
### 6. git-packages (src/tools/git-packages.ts)
**Problema**: Documentação confusa - `packageName` espera arquivo não nome de pacote
**Solução**: Melhorar documentação e mensagens de erro para esclarecer que `packageName` é o arquivo (ex: "package.json")
**Arquivos**: `src/tools/git-packages.ts` linhas 276-286, schema linha 606
### 7. git-sync (src/tools/git-sync.ts)
**Problema**: Mensagem de erro adequada mas pode ser mais clara
**Solução**: Melhorar mensagem de erro para incluir sugestão de usar `git-stash` antes de sync
**Arquivos**: `src/tools/git-sync.ts` linhas 173-185
### 8. git-pulls (Gitea)
**Problema**: Erro 404 ao criar PR - branches podem não existir ou falta permissão
**Solução**: Adicionar validação prévia se branches existem antes de tentar criar PR
**Nota**: Pode ser problema de setup do teste, não do código
## Arquivos a Modificar
1. `src/utils/parameter-validator.ts` - Adicionar/corrigir validações
2. `src/tools/git-analytics.ts` - Verificar repositório vazio
3. `src/tools/git-packages.ts` - Melhorar documentação
4. `src/tools/git-sync.ts` - Melhorar mensagens de erro
## Prioridade
1. **Alta**: git-files, git-branches, git-tags, git-remote (validações básicas)
2. **Média**: git-analytics (tratamento de repositório vazio)
3. **Baixa**: git-packages, git-sync (melhorias de UX)
## Notas
- Alguns erros do Gitea (git-remote show) são problemas de configuração do ambiente de teste, não bugs do código
- git-pulls no Gitea pode precisar de branches com commits para funcionar corretamente