MCP Server completo para manipular GitHub desde Claude Code.
Cubre todo el flujo: repos, ramas, Pull Requests, issues, archivos, commits, releases y colaboradores.
- Node.js 18 o superior → https://nodejs.org
- Claude Code instalado →
npm install -g @anthropic-ai/claude-code
npm installcp .env.example .envAbre .env y reemplaza el token:
GITHUB_TOKEN=ghp_TuTokenRealAqui
¿Cómo obtener el token?
- Ve a https://github.com/settings/tokens
- Click en "Generate new token (classic)"
- Dale estos permisos:
- ✅
repo(acceso completo a repos) - ✅
delete_repo(para eliminar repos) - ✅
read:useryuser:email
- ✅
- Copia el token generado (empieza con
ghp_)
Agrega el servidor al archivo de configuración de Claude Code.
En Mac/Linux, edita ~/.claude/claude.json:
{
"mcpServers": {
"github": {
"command": "node",
"args": ["/RUTA/COMPLETA/github-mcp/src/index.js"],
"env": {
"GITHUB_TOKEN": "ghp_TuTokenAqui"
}
}
}
}En Windows, edita C:\Users\TuUsuario\.claude\claude.json con la misma estructura pero usa rutas con \\:
{
"mcpServers": {
"github": {
"command": "node",
"args": ["C:\\Users\\TuUsuario\\github-mcp\\src\\index.js"],
"env": {
"GITHUB_TOKEN": "ghp_TuTokenAqui"
}
}
}
}| Herramienta | Descripción |
|---|---|
list_repos |
Lista todos tus repos |
create_repo |
Crea un nuevo repo |
get_repo |
Info detallada de un repo |
delete_repo |
Elimina un repo |
| Herramienta | Descripción |
|---|---|
list_branches |
Lista todas las ramas |
create_branch |
Crea una nueva rama |
delete_branch |
Elimina una rama |
| Herramienta | Descripción |
|---|---|
list_pull_requests |
Lista PRs (open/closed/all) |
create_pull_request |
Crea un nuevo PR |
merge_pull_request |
Hace merge de un PR |
close_pull_request |
Cierra un PR sin merge |
review_pull_request |
Aprueba o pide cambios |
| Herramienta | Descripción |
|---|---|
list_issues |
Lista issues |
create_issue |
Crea un issue |
close_issue |
Cierra un issue |
comment_issue |
Comenta en un issue o PR |
| Herramienta | Descripción |
|---|---|
get_file |
Lee el contenido de un archivo |
create_or_update_file |
Crea o actualiza un archivo |
delete_file |
Elimina un archivo |
| Herramienta | Descripción |
|---|---|
list_commits |
Lista los últimos commits |
| Herramienta | Descripción |
|---|---|
list_releases |
Lista los releases |
create_release |
Crea un nuevo release/tag |
| Herramienta | Descripción |
|---|---|
list_collaborators |
Lista colaboradores |
add_collaborator |
Agrega un colaborador |
| Herramienta | Descripción |
|---|---|
get_authenticated_user |
Info de tu cuenta |
Una vez configurado, puedes decirle a Claude cosas como:
"Crea un repo llamado mi-proyecto con README"
"Lista todos mis repositorios privados"
"Crea una rama feature/login desde main en el repo mi-proyecto"
"Abre un PR de feature/login hacia main con título 'Agregar login de usuarios'"
"Aprueba el PR número 3 del repo mi-proyecto"
"Crea un issue titulado 'Bug en el formulario' con el label bug"
"Lista los últimos 5 commits de main en mi-proyecto"
"Crea el release v1.0.0 en mi-proyecto"
Error: GITHUB_TOKEN no definido
→ Asegúrate de haber creado el .env y puesto tu token real.
Error 403 Forbidden
→ Tu token no tiene los permisos necesarios. Genera uno nuevo con repo activado.
Error 404 Not Found
→ Verifica que el owner y repo estén bien escritos (son case-sensitive).
Claude Code no reconoce el MCP
→ Verifica que la ruta en claude.json sea la ruta absoluta correcta al archivo src/index.js.