Servidor MCP completo para GitHub - Lista repositorios, issues, PRs y más. Compatible con macOS, Linux y Windows.
The server defines 11 tools with mixed quality. Tool naming follows verb_noun conventions well (list_*, get_*, create_*, merge_*, protect_*), but descriptions vary significantly in completeness. Input schemas are consistently present with proper JSON Schema typing, though parameter descriptions lack depth in several tools. Output schemas are not explicitly documented, the code shows JSON serialization but no declared response structure for LLMs to plan around. Error handling is minimal and non-actionable. Tools are properly scoped to single responsibilities. The server reads well-structured and follows SDK patterns, but lacks production-grade error guidance and output documentation.
Crea un nuevo pull request en el repositorio especificado
Obtiene detalles de un commit específico
Obtiene información detallada de un pull request específico
Obtiene información detallada de un repositorio específico
Lista las ramas de un repositorio
Lista commits de un repositorio o branch específico
Output schemas not documented. Code shows JSON serialization but no explicit response structure declarations. LLMs cannot plan downstream tool calls or extract fields without knowing what the response contains.
Minimal parameter descriptions for discovery tools. 'get_repository', 'get_commit', and 'list_commits' have descriptions under 50 characters. Descriptions like 'Obtiene información detallada de un repositorio específico' do not explain WHEN to use it vs related tools, what fields to expect, or prerequisites.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 37 | - | v1 |
Lista los issues de un repositorio. Puedes filtrar por estado, etiquetas, asignado, etc.
Lista los pull requests de un repositorio
Lista todos los repositorios (públicos y privados) de tu cuenta de GitHub. Puedes filtrar por visibilidad, tipo y ordenar los resultados.
Mergea un pull request
Protege una rama del repositorio. Requiere PRs para mergear y puede requerir aprobaciones.
Error handling lacks recovery guidance. No try-catch blocks visible in handler code, and error responses do not categorize failures as retryable, user-fixable, or fatal. An LLM receiving a 404 or permission error has no actionable next step.
Destructive operations lack confirmation step. 'protect_branch' modifies repository protection rules (WRITE risk), and 'merge_pull_request' is irreversible, but no dry-run, pre-execution confirmation, or explicit destructive risk annotation exists.
Tool annotations missing. The MCP spec supports readOnlyHint, destructiveHint, and idempotentHint. These are not declared, so LLMs cannot infer which tools are safe to retry or which modify state without reading descriptions.
list_commits is underspecified. It accepts only owner and repo, but does not document branch filtering, commit limit, or what fields are returned. The description ('Lista commits de un repositorio o branch específico') mentions branch but the schema has no branch parameter.
Pagination results not capped or limited. list_repositories, list_issues, list_pull_requests, and list_branches accept per_page up to 100, but no description warns about context window exhaustion. Per production baselines, result sets should be capped at 20-50 items and explicitly documented.
Parameter descriptions inconsistent in depth. 'visibility' in list_repositories has a description, but 'protected' in list_branches is described as 'Filtrar solo ramas protegidas', no explanation of what 'protected' means in GitHub's security model or when to use it.