GitHub Repository

Proporciona acceso al contenido de un repositorio de GitHub.

Documentación

Servidor de Repositorio GitHub MCP

Un servidor MCP (Model Context Protocol) que proporciona acceso al contenido de repositorios de GitHub. Este servidor permite a los asistentes de IA navegar y leer archivos de repositorios de GitHub especificados.

Demo

demo

Características

Recursos

  • Acceder a cualquier archivo en un repositorio de GitHub mediante URI
  • Listar el contenido del repositorio y navegar por directorios
  • Soporte para acceso a archivos específicos de ramas
  • El contenido de los archivos se sirve como texto plano

URIs de Recursos

  • Formato de URL base: https://api.github.com/repos/{owner}/{repo}/contents/{path}
  • Soporta tanto archivos como directorios
  • Los archivos se sirven con el tipo MIME text/plain
  • Los directorios se sirven con el tipo MIME application/x-directory

Configuración

El servidor requiere las siguientes variables de entorno:

GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token
GITHUB_OWNER=repository_owner
GITHUB_REPO=repository_name
GITHUB_BRANCH=branch_name  # Optional

Desarrollo

Instalar dependencias:

npm install

Compilar el servidor:

npm run build

Para desarrollo con reconstrucción automática:

npm run watch

Instalación

Para usar con Claude Desktop, añade la configuración del servidor:

Ubicación de Configuración

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-github-repo": {
      "command": "/path/to/mcp-server-github-repo/build/index.js"
    }
  }
}

Implementación de la API

El servidor implementa tres endpoints principales de MCP:

  1. ListResources - Lista archivos y directorios en el repositorio
  2. ReadResource - Recupera el contenido de un archivo específico

Autenticación

El servidor utiliza un Token de Acceso Personal de GitHub para la autenticación. Asegúrate de que tu token tenga los permisos adecuados para acceder al contenido del repositorio.

Manejo de Errores

El servidor incluye manejo de errores para:

  • Variables de entorno faltantes
  • Errores de la API de GitHub
  • Rutas inválidas (por ejemplo, intentar leer un directorio como archivo)
  • Fallos de autenticación

Depuración

Dado que los servidores MCP se comunican a través de stdio, la depuración puede ser desafiante. Usa el Inspector MCP para depurar:

npm run inspector

Esto proporcionará una URL para acceder a las herramientas de depuración en tu navegador.

Notas de Seguridad

  • Mantén seguro tu Token de Acceso Personal de GitHub
  • Considera usar tokens con los permisos mínimos requeridos
  • Ten en cuenta las limitaciones de tamaño del repositorio al acceder a repositorios grandes

Licencia

MIT