mcp-github-agent
mcp-agent
Un servidor MCP (Protocolo de Contexto de Modelo) multi-servicio que proporciona a un agente de IA acceso a 34 herramientas en 9 plataformas: GitHub, Jira, Azure DevOps, Slack, PagerDuty, Linear, Notion, HuggingFace y OpenWeather.
En lugar de cambiar entre pestañas y paneles, hablas con tu asistente de IA en lenguaje natural y este consulta o actúa sobre estos sistemas directamente.
Funciona con Claude, GPT-4o, Azure OpenAI y cualquier cliente compatible con MCP.
¿Qué es MCP?
El Protocolo de Contexto de Modelo es un estándar abierto de Anthropic que permite a los modelos de IA comunicarse con herramientas y API externas de forma estructurada y segura. La IA permanece en la conversación pero puede acceder a sistemas reales para obtener datos o realizar acciones, decidiendo autónomamente qué herramientas utilizar y en qué orden.
Related MCP server: GitHub MCP Server
Servicios y herramientas
GitHub
Herramienta | Tipo | Qué hace |
| lectura | Biografía, ubicación, seguidores y número de repositorios públicos |
| lectura | Repositorios públicos ordenados por actividad, estrellas o fecha |
| lectura | Estrellas, bifurcaciones, incidencias abiertas, temas, licencia, último envío |
| lectura | Incidencias abiertas o cerradas |
| lectura | Solicitudes de extracción abiertas o fusionadas |
| lectura | Contenido de cualquier archivo de un repositorio |
| lectura | Principales contribuyentes ordenados por número de confirmaciones |
| lectura | Últimas versiones y registros de cambios |
| lectura | Repositorios en tendencia por idioma y período (diario/semanal/mensual) |
| lectura | Búsqueda por palabra clave, tema o idioma |
| escritura | Crear una nueva incidencia (requiere el ámbito de token |
Jira
Herramienta | Tipo | Qué hace |
| lectura | Buscar incidencias con JQL |
| lectura | Detalles completos de una incidencia por clave |
| lectura | Incidencias de un proyecto filtradas por estado |
| escritura | Crear una tarea, error, historia o épica |
Azure DevOps
Herramienta | Tipo | Qué hacer |
| lectura | Listar canalizaciones de CI/CD de un proyecto |
| lectura | Ejecuciones recientes de una canalización |
| lectura | Buscar elementos de trabajo por palabra clave |
| escritura | Crear una tarea, error, historia de usuario o épica |
Slack
Herramienta | Tipo | Qué hace |
| lectura | Listar canales públicos del espacio de trabajo |
| lectura | Leer mensajes recientes de un canal |
| escritura | Enviar un mensaje a un canal o usuario |
PagerDuty
Herramienta | Tipo | Qué hace |
| lectura | Listar incidentes por estado |
| lectura | Listar servicios configurados |
| escritura | Activar un nuevo incidente |
Linear
Herramienta | Tipo | Qué hacer |
| lectura | Listar equipos del espacio de trabajo |
| lectura | Incidencias de un equipo filtradas por estado |
| escritura | Crear una incidencia en un equipo |
Notion
Herramienta | Tipo | Qué hacer |
| lectura | Buscar páginas y bases de datos por palabra clave |
| lectura | Obtener el contenido de una página |
| escritura | Crear una nueva página bajo un elemento padre |
HuggingFace
Herramienta | Tipo | Qué hacer |
| lectura | Buscar modelos por palabra clave y tarea |
| lectura | Información detallada del modelo (descargas, me gusta, etiquetas) |
| lectura | Buscar conjuntos de datos por palabra clave |
OpenWeather
Herramienta | Tipo | Qué hacer |
| lectura | Clima actual de una ciudad |
| lectura | Pronóstico de varios días para una ciudad |
Casos de uso de ejemplo
Razonamiento entre servicios
"Comprueba si hay errores de Jira abiertos relacionados con los fallos de nuestra canalización de Azure DevOps de esta semana y, a continuación, crea una incidencia de GitHub que los resuma."
El agente llama a jira_search_issues → ado_get_pipeline_runs → create_issue de forma autónoma.
Respuesta a incidentes
"Hay un incidente activo de PagerDuty en el servicio de pagos. Encuentra la última solicitud de extracción fusionada en ese repositorio y notifica al canal de Slack #incidents."
El agente llama a pagerduty_get_incidents → get_pull_requests → slack_send_message.
Investigación con IA
"Encuentra los modelos de generación de texto más descargados en HuggingFace y, a continuación, busca en GitHub proyectos que utilicen el principal."
El agente llama a hf_search_models → search_repos.
Incorporación de desarrolladores
"¿Quiénes son los 5 principales contribuyentes de este repositorio? Obtén sus perfiles de GitHub y crea una página de Notion que resuma el equipo."
El agente llama a get_repo_contributors → get_user_profile (×5) → notion_create_page.
Configuración
1. Clona e instala
git clone https://github.com/Abdessamad-Y/mcp-github-agent.git
cd mcp-github-agent
pip install -r requirements.txt2. Configura tus servicios
cp .env.example .env
# Add tokens only for the services you want to use
# Unused services are safely ignored3. Conéctate a tu cliente de IA
→ Consulta docs/integrations.md para las guías de configuración:
Claude Desktop — MCP nativo, sin necesidad de código
Claude API — Script de Python con bucle de agente
OpenAI (GPT-4o) — mediante el SDK
openai-agentsAzure OpenAI — mediante el SDK de OpenAI + punto de conexión de Azure
Cursor / VS Code Copilot
Ejecutar la demostración
GITHUB_TOKEN=your_token python demo.pyEjecuta 4 escenarios en vivo con salida de terminal con formato. No se necesita clave de API de IA.
Ejecutar los ejemplos
# With Claude API
GITHUB_TOKEN=your_token ANTHROPIC_API_KEY=your_key python examples/with_claude.py
# With OpenAI
GITHUB_TOKEN=your_token OPENAI_API_KEY=your_key python examples/with_openai.py
# With Azure OpenAI
GITHUB_TOKEN=your_token \
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com \
AZURE_OPENAI_KEY=your_key \
AZURE_OPENAI_DEPLOYMENT=gpt-4o \
python examples/with_azure_openai.pyEstructura del proyecto
mcp-github-agent/
├── server.py # Entry point — registers all tools
├── mcp_instance.py # Shared FastMCP instance
├── tools/
│ ├── github.py # 11 GitHub tools
│ ├── jira.py # 4 Jira tools
│ ├── azure_devops.py # 4 Azure DevOps tools
│ ├── slack.py # 3 Slack tools
│ ├── pagerduty.py # 3 PagerDuty tools
│ ├── linear.py # 3 Linear tools
│ ├── notion.py # 3 Notion tools
│ ├── huggingface.py # 3 HuggingFace tools
│ └── weather.py # 2 OpenWeather tools
├── examples/
│ ├── with_claude.py
│ ├── with_openai.py
│ └── with_azure_openai.py
├── docs/
│ ├── how-it-works.md
│ ├── use-cases.md
│ └── integrations.md
├── demo.py
├── requirements.txt
└── .env.examplePila tecnológica
Lenguaje | Python 3.10+ |
SDK de MCP |
|
Cliente HTTP |
|
Salida de terminal |
|
Documentación
Arquitectura, protocolo MCP, transporte | |
Indicaciones del mundo real y comportamiento del agente | |
Configuración para Claude, OpenAI, Azure OpenAI, Cursor, VS Code |
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Operate GitHub from your AI assistant: repos, PRs, issues, Actions. Previews and read-only mode.
Access the GitHub API, enabling file operations, repository management, search functionality, and…
Ask any GitHub repository a question. Get source-backed answers.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to access and analyze GitHub profile data, providing insights on repositories, commit history, coding patterns, and generating portfolio summaries for developers and recruiters.82MIT
- FlicenseNot gradedqualityDmaintenanceEnables users to interact with GitHub via natural language requests, executing API calls and returning structured responses.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform GitHub operations such as creating repositories, issues, pull requests, and more through natural language.-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to answer natural-language GitHub queries by listing repositories, issues, pull requests, branches, commits, and files, as well as performing writes with dry-run and confirmation safeguards.-