remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Allows interaction with the GitHub API through PyGithub. Provides tools for managing issues, repositories, and pull requests, including creating and updating issues, managing comments, handling labels, assignees, and milestones.
Servidor MCP de PyGithub
Un servidor de Protocolo de Contexto de Modelo que proporciona herramientas para interactuar con la API de GitHub a través de PyGithub. Este servidor permite a los asistentes de IA realizar operaciones de GitHub, como la gestión de incidencias, repositorios y solicitudes de extracción.
Características
- Arquitectura de herramientas modulares:
- Grupos de herramientas configurables que se pueden habilitar o deshabilitar
- Organización específica del dominio (problemas, repositorios, etc.)
- Configuración flexible mediante archivos o variables de entorno
- Separación clara de preocupaciones con diseño modular
- Fácil extensión con patrones consistentes
- Gestión completa de problemas de GitHub:
- Crear y actualizar problemas
- Obtenga detalles del problema y enumere los problemas del repositorio
- Agregar, enumerar, actualizar y eliminar comentarios
- Administrar etiquetas de problemas
- Gestionar asignados y hitos
- Manejo inteligente de parámetros:
- Construcción dinámica de kwargs para parámetros opcionales
- Conversión de tipos adecuada para objetos de GitHub
- Validación de todos los parámetros de entrada
- Borrar mensajes de error para entradas no válidas
- Implementación robusta:
- Interacciones de la API de GitHub orientadas a objetos a través de PyGithub
- Gestión centralizada de clientes de GitHub
- Manejo adecuado de errores y limitación de velocidad
- Abstracción de API limpia mediante herramientas MCP
- Soporte completo de paginación
- Registro detallado para depuración
Documentación
Hay guías completas disponibles en el directorio docs/guides:
- error-handling.md: Tipos de errores, patrones de manejo y mejores prácticas
- security.md: Autenticación, control de acceso y seguridad de contenido
- tool-reference.md: Documentación detallada de herramientas con ejemplos
Consulte estas guías para obtener información detallada sobre el uso del servidor MCP de PyGithub.
Ejemplos de uso
Operaciones de emisión
- Creando un problema
- Obtener detalles del problema
- Actualización de un problema
Operaciones de comentarios
- Agregar un comentario
- Comentarios del listado
- Actualizar un comentario
Operaciones de etiquetas
- Agregar etiquetas
- Quitar una etiqueta
Todas las operaciones manejan parámetros opcionales de forma inteligente:
- Solo incluye los parámetros proporcionados en las llamadas API
- Convierte tipos primitivos en objetos de GitHub (por ejemplo, número de hito en objeto Milestone)
- Proporciona mensajes de error claros para parámetros no válidos
- Maneja la paginación automáticamente cuando corresponde
Instalación
- Crear y activar un entorno virtual:
- Instalar dependencias:
Configuración
Configuración básica
Agregue el servidor a su configuración de MCP (por ejemplo, claude_desktop_config.json
o cline_mcp_settings.json
):
Configuración del grupo de herramientas
El servidor permite habilitar o deshabilitar grupos de herramientas de forma selectiva mediante la configuración. Puede configurarlo de dos maneras:
1. Archivo de configuración
Cree un archivo de configuración JSON (por ejemplo, pygithub_mcp_config.json
):
Luego especifique este archivo en su entorno:
2. Variables de entorno
Alternativamente, utilice variables de entorno para configurar grupos de herramientas:
De forma predeterminada, solo está habilitado el grupo de herramientas issues
. Consulte README.config.md
para obtener opciones de configuración más detalladas.
Desarrollo
Pruebas
El proyecto incluye un conjunto completo de pruebas:
Nota: Muchas pruebas están fallando y se encuentran bajo investigación. Este es un problema conocido en el que se está trabajando activamente.
Pruebas con MCP Inspector
Pruebe las herramientas MCP durante el desarrollo utilizando el Inspector MCP:
Utilice la interfaz web de MCP Inspector para:
- Experimente con las herramientas disponibles
- Prueba con repositorios reales de GitHub
- Verificar casos de éxito y error
- Documentar las cargas útiles de trabajo
Estructura del proyecto
Solución de problemas
- El servidor no se puede iniciar:
- Verificar la ruta de Python de venv en la configuración de MCP
- Asegúrese de que todos los requisitos estén instalados en venv
- Compruebe que GITHUB_PERSONAL_ACCESS_TOKEN esté configurado y sea válido
- Errores de compilación:
- Utilice el indicador --no-build-isolation con la compilación uv
- Asegúrese de que se esté utilizando Python 3.10+
- Verificar que todas las dependencias estén instaladas
- Errores de la API de GitHub:
- Comprobar los permisos y la validez del token
- Revise pygithub_mcp_server.log para obtener seguimientos de errores detallados
- Verificar que no se hayan excedido los límites de velocidad
Dependencias
- Python 3.10+
- SDK de Python para MCP
- Pydantic
- PyGithub
- Gestor de paquetes UV
Licencia
Instituto Tecnológico de Massachusetts (MIT)
You must be authenticated.
Tools
Permite que los asistentes de IA interactúen con GitHub a través de la biblioteca PyGithub, proporcionando herramientas para administrar problemas, repositorios, solicitudes de extracción y otras operaciones de GitHub con manejo inteligente de parámetros y gestión de errores.