GitHub Repo MCP
Navega por repositorios de GitHub, explora directorios y visualiza el contenido de archivos.
Documentación
GitHub Repo MCP
GitHub Repo MCP es un servidor MCP de código abierto que permite a tus asistentes de IA navegar por repositorios de GitHub, explorar directorios y ver el contenido de archivos.
Tabla de contenidos
Primeros pasos • Resumen de funciones
✨ Características principales
- 💻 Compatible con Cursor, Windsurf, Claude Desktop y otros clientes MCP que admiten el protocolo
stdio - 🔎 Navega por el contenido de cualquier repositorio público de GitHub
- 📂 Explora directorios y subdirectorios de repositorios
- 📝 Ve el contenido de archivos de código y texto
- 📦 Instalación sencilla mediante el gestor de paquetes
Primeros pasos
Requisitos previos
Para instalar el servidor se requiere lo siguiente en tu sistema:
- Node.js 18+
- npm o yarn
Paso 1. Instalación
Puedes instalar y ejecutar GitHub Repo MCP usando Smithery, NPX, o configurándolo en mcp.json de tu IDE:
MacOS
npx github-repo-mcp
Windows NPX
cmd /c npx -y github-repo-mcp
Windows NPX mediante .cursor/mcp.json
{
"mcpServers": {
"github-repo-mcp": {
"command": "wsl",
"args": [
"bash",
"-c",
"cmd /c npx -y github-repo-mcp"
],
"enabled": true
}
}
}
Windows NPX mediante .cursor/mcp.json (si la ruta no está configurada)
# Find the full path to npx first
which npx
{
"mcpServers": {
"github-repo-mcp": {
"command": "wsl",
"args": [
"bash",
"-c",
"'/home/[username]/.nvm/versions/node/v20.18.0/bin/npx github-repo-mcp'"
],
"enabled": true
}
}
}
Instalación mediante Smithery
Para instalar GitHub Repo MCP para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @Ryan0204/github-repo-mcp --client claude
Espera unos segundos o haz clic en el botón de actualizar varias veces si no se registra. Si aún no se registra, asegúrate de haber ingresado el comando correcto.
Paso 2. Configuración
El servidor GitHub Repo MCP puede usar un token de GitHub para obtener límites de tasa más altos al acceder a la API de GitHub.
Variables de entorno
| Variable | Requerida | Predeterminado | Descripción |
|---|---|---|---|
GITHUB_TOKEN | No | Ninguno | Tu token de acceso personal de GitHub para límites de tasa más altos |
Configuración de un token de GitHub (opcional)
Aunque el servidor funciona sin autenticación, la API de GitHub tiene límites de tasa mucho más bajos para solicitudes no autenticadas. Para aumentar tu límite de tasa:
- Crea un token de acceso personal en https://github.com/settings/tokens
- Configura el token como variable de entorno en mcp.json:
{
"mcpServers": {
"github-repo-mcp": {
"command": "...",
"args": [
...
],
"env": {
"GITHUB_TOKEN": "Your_Github_Token"
}
"enabled": true,
}
}
}
Resumen de funciones
Herramientas de navegación de repositorios
El servidor proporciona tres herramientas principales para interactuar con repositorios de GitHub:
1. getRepoAllDirectories
Lista todos los archivos y directorios en la raíz de un repositorio de GitHub.
- Parámetros:
repoUrl: La URL del repositorio de GitHub (por ejemplo, "https://github.com/owner/repo")
2. getRepoDirectories
Lista el contenido de un directorio específico en un repositorio de GitHub.
- Parámetros:
repoUrl: La URL del repositorio de GitHubpath: La ruta del directorio a obtener (por ejemplo, "src")
3. getRepoFile
Recupera y muestra el contenido de un archivo específico de un repositorio de GitHub.
- Parámetros:
repoUrl: La URL del repositorio de GitHubpath: La ruta del archivo a obtener (por ejemplo, "src/index.js")
Ejemplos de uso
Aquí hay algunos ejemplos de cómo usar estas herramientas con un asistente de IA:
-
Navegar por la raíz de un repositorio: Pide a tu asistente de IA que "Muestre el contenido del repositorio en https://github.com/Ryan0204/github-repo-mcp"
-
Explorar un directorio específico: Pregunta "¿Qué archivos hay en el directorio src de https://github.com/Ryan0204/github-repo-mcp?"
-
Ver un archivo: Pide "Muéstrame el archivo README.md de https://github.com/Ryan0204/github-repo-mcp"
Limitaciones
- Límite de tasa: Sin autenticación, la API de GitHub tiene límites de tasa estrictos (60 solicitudes por hora)
- Repositorios privados: Solo se puede acceder a repositorios públicos a menos que se proporcione un token con los permisos adecuados
- Archivos binarios: El servidor detecta extensiones de archivos binarios comunes y no mostrará su contenido
- Archivos grandes: La API de GitHub tiene limitaciones en el tamaño de los archivos que se pueden recuperar
Solución de problemas
Aquí hay algunos problemas comunes y sus soluciones:
- Límite de tasa excedido: Configura un token de GitHub como se describe en la sección de Configuración
- Comando no encontrado: Asegúrate de que el paquete esté instalado globalmente
- Errores de conexión: Verifica tu conexión a internet y el estado de la API de GitHub
Si encuentras algún problema, revisa la salida en busca de mensajes de error o crea un issue en el repositorio de GitHub.
¡Disfruta! ☺️