Skip to main content
Glama
yashwant-kumar08

GitHub Dev Copilot

GitHub Dev Copilot - Servidor MCP

Un servidor del Model Context Protocol (MCP) listo para producción que actúa como un GitHub Copilot para agentes de IA. Proporciona herramientas para interactuar con la API de GitHub, permitiendo a los agentes gestionar repositorios, incidencias, PRs y analizar la salud del repositorio.

Arquitectura

+----------------+      +-----------------------+      +-------------+
|    AI Agent    | ---> |  GitHub MCP Server    | <--> |  GitHub API |
| (Client)       | STDI |  (Python / FastMCP)   | HTTP |             |
+----------------+      +-----------------------+      +-------------+
                                   |
                        +-----------------------+
                        |        Tools          |
                        | - list_repositories   |
                        | - read_issues         |
                        | - create_issue        |
                        | - comment_on_pr       |
                        | - analyze_repo_health |
                        +-----------------------+

Related MCP server: github-mcp-server

Características

  • Autenticación: Se conecta de forma segura utilizando un token de acceso personal de GitHub (PAT).

  • Herramientas: Expone herramientas MCP robustas y con tipado estricto.

  • Seguridad:

    • Valida las entradas mediante Pydantic.

    • Limita las peticiones a la API para evitar bloqueos.

    • Nunca expone tokens.

  • Análisis: herramienta inteligente analyze_repo_health para puntuar repositorios.

Configuración

  1. Clona el repositorio (si corresponde) o navega hasta el directorio del proyecto.

  2. Instala las dependencias:

    pip install -r requirements.txt
  3. Configura el entorno: Copia .env.example a .env y añade tu PAT de GitHub.

    cp .env.example .env
    # Edit .env and set GITHUB_TOKEN
  4. Ejecuta el servidor: Puedes ejecutarlo directamente con Python, o mediante un inspector de clientes MCP.

    python main.py

Uso con Claude Desktop o clientes MCP

Añade la configuración del servidor a tu claude_desktop_config.json:

{
  "mcpServers": {
    "github-copilot": {
      "command": "python",
      "args": ["/path/to/mcp_github_dev_copilot/main.py"]
    }
  }
}

Herramientas disponibles

1. list_repositories

Lista los repositorios accesibles para el usuario autenticado.

  • Devuelve: Nombre, propietario, estado privado/público, estrellas, lenguaje.

2. read_issues

Obtiene las incidencias de un repositorio.

  • Entrada: repo_owner, repo_name, state ("open", "closed", "all")

  • Salida: Lista de incidencias con ID, título y etiquetas.

3. create_issue

Crea una nueva incidencia.

  • Entrada: repo_owner, repo_name, title, body (markdown), labels

  • Salida: URL de la incidencia y número.

4. comment_on_pr

Añade un comentario a una solicitud de extracción.

  • Entrada: repo_owner, repo_name, pr_number, comment_text

  • Salida: URL del comentario.

5. analyze_repo_health

Realiza una comprobación de salud en un repositorio.

  • Comprobaciones: Número de incidencias abiertas, incidencias obsoletas (>30 días), actividad reciente de commits, presencia de pruebas, configuración de CI.

  • Salida: Puntuación de salud (0-100) y sugerencias de mejora.

Seguridad y limitaciones

  • Limitación de peticiones: El servidor implementa un decorador para gestionar los límites de peticiones de GitHub esperando o reintentando.

  • Ámbitos: Asegúrate de que tu PAT tenga los ámbitos repo, read:org y workflow.

  • Sin navegador: Este servidor utiliza la API oficial de GitHub, no el scraping web.

  • Registros: Las actividades se registran en stderr para evitar interferir con la comunicación stdio de MCP.

Mejoras futuras

  • Añadir las herramientas update_issue y merge_pr.

  • Implementar lectura/búsqueda de contenido de archivos.

  • Añadir soporte para la autenticación de GitHub App.

Related MCP Connectors

Related MCP Servers