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)
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.
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.
Related Resources
Related MCP Servers
- -securityFlicense-qualityEnables interaction with GitHub through the GitHub API, supporting file operations, repository management, advanced search, and issue tracking with comprehensive error handling and automatic branch creation.Last updated -1,4001
- -securityAlicense-qualityEnables interaction with GitHub repositories through the GitHub API, allowing file operations, repository management, issue tracking, and code search through natural language commands.Last updated -32MIT License
- -securityFlicense-qualityA set of tools allowing AI assistants to interact directly with GitHub, enabling automation of tasks like fetching user profiles, creating repositories, and managing pull requests.Last updated -
- -securityAlicense-qualityTransforms any GitHub repository into a documentation hub for AI assistants, enabling access to up-to-date documentation and code to eliminate hallucinations. Supports repository-specific and dynamic endpoints with smart search capabilities.Last updated -Apache 2.0