mcp-github-server
An MCP server that enables managing GitHub repositories, pull requests, issues, and more through natural language in Cursor or Claude Desktop.
README
🐙 Servidor MCP para GitHub
Un servidor completo de Model Context Protocol (MCP) para interactuar con GitHub. Permite gestionar repositorios, issues, pull requests, branches, commits, releases, webhooks y mucho más desde Cursor o Claude Desktop.
✨ Características Principales
- ✅ Gestión completa de repositorios (listar, buscar, obtener detalles)
- ✅ Pull Requests (crear, mergear, cerrar, actualizar, reviews)
- ✅ Issues (crear, actualizar, cerrar, comentarios)
- ✅ Búsqueda avanzada (código, issues, usuarios, commits)
- ✅ Gestión de commits (obtener detalles, listar, comparar)
- ✅ Releases y Tags (crear, listar, obtener detalles)
- ✅ Webhooks (crear, actualizar, eliminar, ping)
- ✅ Protección de ramas (configurar reglas de protección)
- ✅ Multiplataforma (macOS, Linux, Windows)
🚀 Instalación Rápida
Requisitos
- Node.js 18+ instalado
- npm o pnpm
- Personal Access Token de GitHub con permisos
repo
Instalación desde npm
npm install -g mcp-github-server
# o con pnpm:
pnpm add -g mcp-github-server
Instalación desde código fuente
git clone https://github.com/pblarismendi/mcp-github-server.git
cd mcp-github-server
npm install
npm run build
🔑 Configuración
1. Obtener un Personal Access Token de GitHub
- Ve a GitHub Settings > Developer settings > Personal access tokens > Tokens (classic)
- Haz clic en "Generate new token (classic)"
- Dale un nombre descriptivo (ej: "MCP Server")
- Selecciona los scopes:
- ✅
repo(Full control of private repositories) - ✅
read:org(opcional, para organizaciones)
- ✅
- Haz clic en "Generate token"
- Copia el token inmediatamente (solo se muestra una vez)
2. Configurar en Cursor/Claude Desktop
Cursor
Ubicación: ~/.cursor/mcp.json o .cursor/mcp.json en tu workspace
Configuración - Método 1: Con npx (Recomendado - Más Simple)
Este método no requiere encontrar rutas absolutas ni instalar globalmente:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "mcp-github-server"],
"env": {
"GITHUB_TOKEN": "tu_token_aqui"
}
}
}
}
Configuración - Método 2: Con ruta absoluta
Si prefieres usar una instalación global, usa la ruta absoluta:
{
"mcpServers": {
"github": {
"command": "node",
"args": ["RUTA_ABSOLUTA/dist/index.js"],
"env": {
"GITHUB_TOKEN": "tu_token_aqui"
}
}
}
}
Ejemplos de rutas:
- macOS:
"/Users/tu_usuario/.npm-global/lib/node_modules/mcp-github-server/dist/index.js" - Linux:
"/usr/local/lib/node_modules/mcp-github-server/dist/index.js" - Windows:
"C:\\Users\\tu_usuario\\AppData\\Roaming\\npm\\node_modules\\mcp-github-server\\dist\\index.js"
Claude Desktop
Ubicación:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Configuración: (igual que Cursor)
3. Encontrar la ruta de instalación (Solo si usas Método 2)
Si instalaste globalmente con npm/pnpm y necesitas la ruta absoluta, encuentra la ruta con:
npm list -g mcp-github-server
# o
pnpm list -g mcp-github-server
O busca el ejecutable:
# macOS/Linux:
which mcp-github
which mcp-github-server
# Windows (PowerShell/CMD):
where mcp-github
where mcp-github-server
Nota: Si where mcp-github-server no encuentra nada en Windows, usa el Método 1 con npx que no requiere encontrar rutas.
💻 Uso Básico
Una vez configurado, el servidor MCP estará disponible en Cursor o Claude Desktop. Puedes usar comandos como:
- "Lista mis repositorios"
- "Muéstrame los PRs abiertos del repositorio X"
- "Crea un issue en el repositorio Y"
- "Busca código que contenga 'function calculate'"
🛠️ Herramientas Disponibles
Repositorios
list_repositories- Lista repositorios con filtrosget_repository- Obtiene detalles de un repositoriosearch_repositories- Busca repositorios en GitHub
Pull Requests
list_pull_requests- Lista PRscreate_pull_request- Crea un PRget_pull_request- Obtiene detalles de un PRmerge_pull_request- Mergea un PR (merge, squash, rebase)close_pull_request- Cierra un PRupdate_pull_request- Actualiza un PRadd_pull_request_review- Agrega una reviewlist_pull_request_reviews- Lista reviews de un PR
Issues
list_issues- Lista issuescreate_issue- Crea un issueupdate_issue- Actualiza un issueclose_issue- Cierra un issueadd_issue_comment- Agrega un comentariolist_issue_comments- Lista comentarios
Búsqueda
search_code- Busca código en repositoriossearch_issues- Busca issues y PRssearch_users- Busca usuariossearch_commits- Busca commits
Commits
get_commit- Obtiene detalles de un commitlist_commits- Lista commits con filtroscompare_commits- Compara commits o branches
Releases y Tags
list_releases- Lista releasesget_release- Obtiene detalles de un releasecreate_release- Crea un releaselist_tags- Lista tagscreate_tag- Crea un tag
Webhooks
list_webhooks- Lista webhooksget_webhook- Obtiene detalles de un webhookcreate_webhook- Crea un webhookupdate_webhook- Actualiza un webhookdelete_webhook- Elimina un webhookping_webhook- Hace ping a un webhook
Branches
list_branches- Lista branchesprotect_branch- Protege una rama
Otros
get_user_info- Obtiene información del usuarioget_file_content- Lee archivos o directorios
🐛 Solución de Problemas
Error: "GITHUB_TOKEN no está configurado"
- Verifica que el token esté en la configuración de Cursor/Claude Desktop
- Asegúrate de que no haya espacios antes o después del token
Error: "Bad credentials"
- Tu token puede haber expirado
- Genera un nuevo token en GitHub y actualiza la configuración
El servidor no se conecta
- Verifica que la ruta al archivo
dist/index.jssea correcta y absoluta (si usas Método 2) - Asegúrate de haber instalado el paquete correctamente
- Revisa los logs de Cursor/Claude Desktop para ver errores específicos
- Solución rápida: Usa el Método 1 con
npxque no requiere rutas absolutas
Problemas Específicos de Windows
El ejecutable no se encuentra después de instalar globalmente
Problema: Después de ejecutar npm install -g mcp-github-server, el comando where mcp-github-server no encuentra nada.
Solución 1 (Recomendada): Usa npx en lugar de buscar el ejecutable:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "mcp-github-server"],
"env": {
"GITHUB_TOKEN": "tu_token_aqui"
}
}
}
}
Solución 2: Encuentra la ruta manualmente:
-
Ejecuta en PowerShell o CMD:
npm list -g mcp-github-server -
Busca la ruta en la salida (normalmente algo como):
C:\Users\tu_usuario\AppData\Roaming\npm\node_modules\mcp-github-server -
Usa la ruta completa en la configuración:
{ "mcpServers": { "github": { "command": "node", "args": ["C:\\Users\\tu_usuario\\AppData\\Roaming\\npm\\node_modules\\mcp-github-server\\dist\\index.js"], "env": { "GITHUB_TOKEN": "tu_token_aqui" } } } }
El archivo .cmd no se creó después de la instalación global
Problema: Windows necesita archivos .cmd o .exe pero npm no los creó automáticamente.
Solución: Esto es normal y no es un problema. Puedes usar cualquiera de estos métodos:
-
Usar npx (más simple):
{ "command": "npx", "args": ["-y", "mcp-github-server"] } -
Usar node directamente con la ruta:
{ "command": "node", "args": ["RUTA_COMPLETA/dist/index.js"] }
Problemas con rutas en Windows
- Usa barras normales
/o dobles backslashes\\ - Ejemplo:
"C:\\Users\\Usuario\\...\\dist\\index.js"o"C:/Users/Usuario/.../dist/index.js" - Recomendación: Usa
npxpara evitar problemas con rutas
📚 Documentación Completa
Para más información sobre desarrollo, contribución, testing y características avanzadas, consulta:
- README.DEV.md - Documentación completa para desarrolladores
- GitHub Repository - Código fuente y issues
💖 Sponsor este Proyecto
Si este proyecto te resulta útil, considera patrocinarme:
Tu apoyo ayuda a mantener y mejorar este proyecto. ¡Gracias! 🙏
👨💻 Desarrollador
Desarrollado con ❤️ por Pablo Arismendi
- GitHub: @pblarismendi
📝 Licencia
MIT
📞 Soporte
Si encuentras algún problema o tienes preguntas:
- Abre un issue en GitHub
- Consulta la documentación completa para desarrolladores
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。