MCP Issue
# MCP Issue - GitHub Issue Creator from Git Diff
Um servidor MCP (Model Context Protocol) que permite criar issues no GitHub automaticamente a partir de diffs do Git. Desenvolvido por Gustavo Detoni.
## Sobre o Projeto
Este projeto é um servidor MCP que oferece ferramentas para:
- Gerar diffs do Git (working directory, staged changes ou range de commits)
- Criar prompts estruturados para gerar issues a partir de diffs
- Criar issues no GitHub automaticamente usando a API do GitHub
## Funcionalidades
### Ferramentas Disponíveis:
1. **`git_diff`** - Gera diffs do repositório Git
- Suporte para diferentes modos: working, staged, range
- Filtros por arquivos específicos
- Controle de tamanho máximo do output
2. **`create_github_issue`** - Cria issues no GitHub
- Integração com a API do GitHub via Octokit
- Suporte a labels e assignees
- Configuração de repositório padrão
### Prompts Disponíveis:
1. **`draft_issue_from_diff`** - Converte diffs em rascunhos de issues estruturadas
- Template padronizado com seções: Summary, Context, Observations, etc.
- Detecção automática do tipo de mudança (bug/feat/chore/refactor)
- Sugestão de labels apropriadas
## Instalação
### Pré-requisitos
- Node.js (versão 18+)
- pnpm
- Git configurado no sistema
- Token do GitHub com permissões para criar issues
### Passos de Instalação
1. Clone o repositório:
```bash
git clone <url-do-repositorio>
cd mcp-issue
```
2. Instale as dependências:
```bash
pnpm install
```
3. Configure as variáveis de ambiente:
```bash
cp .env.example .env
```
Edite o arquivo `.env` com suas configurações:
```env
GITHUB_TOKEN=seu_token_do_github
DEFAULT_OWNER=seu_usuario_ou_organizacao
DEFAULT_REPO=nome_do_repositorio_padrao
```
4. Compile o projeto:
```bash
pnpm run build
```
## ⚙️ Configuração no Claude Desktop
Para usar este servidor MCP com o Claude Desktop, adicione a seguinte configuração no arquivo de configuração do Claude:
```json
{
"mcpServers": {
"boxtime-mcp": {
"command": "node",
"args": [
"C:\\Users\\gusta\\Desktop\\projects\\mcp-issue\\dist\\index.js"
],
"env": {
"GITHUB_TOKEN": "seu_token_aqui",
"DEFAULT_OWNER": "seu_usuario",
"DEFAULT_REPO": "seu_repositorio"
}
}
}
}
```
**Importante:** Substitua o caminho no array `args` pelo caminho absoluto correto para o arquivo `dist/index.js` no seu sistema.
## Scripts Disponíveis
- `pnpm run build` - Compila o TypeScript
- `pnpm run dev` - Executa em modo desenvolvimento
- `pnpm run start` - Executa a versão compilada
## Configuração do Token GitHub
Para obter um token do GitHub:
1. Acesse GitHub → Settings → Developer settings → Personal access tokens
2. Gere um novo token com as permissões:
- `repo` (para repositórios privados)
- `public_repo` (para repositórios públicos)
- `issues` (para criar e gerenciar issues)
## Template de Issue
O projeto usa um template estruturado para issues com as seguintes seções:
- **Summary**: Resumo conciso da implementação
- **Context**: Contexto da mudança ou problema resolvido
- **Observations**: Pontos importantes da implementação
- **Acceptance Criteria**: Critérios de aceitação baseados no diff
- **Action Plan**: Ações/tarefas implementadas
- **Dependencies/Risks**: Dependências e riscos identificados
- **Technical Notes**: Detalhes técnicos relevantes
## Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.TDQS
Scored across 2 tools
The two tools have completely distinct purposes: one creates GitHub issues via Octokit, while the other returns a diff of the current repository. There is no overlap in functionality or ambiguity between them.
Both tools use snake_case naming, which is consistent. However, one tool includes 'github' in its name while the other does not, creating a minor deviation in naming pattern. The verbs 'create' and 'git_diff' (which is more of a noun phrase) are not perfectly aligned in style.
With only 2 tools, the server feels thin for a domain that appears to involve GitHub and repository operations. This limited set does not provide comprehensive coverage for typical workflows, such as reading or updating issues, managing repositories, or handling other common tasks.
The tool set is severely incomplete for a server named 'MCP Issue' and including GitHub-related functionality. There are significant gaps: no tools to list, get, update, or delete issues, and no broader GitHub operations like managing pull requests or repositories. This will likely cause agent failures in many scenarios.