GitHub MCP Agent
Agente MCP de GitHub
Haz preguntas en lenguaje natural sobre repositorios de GitHub y obtén respuestas respaldadas por datos en vivo de GitHub. En Cloudflare, un Worker llama a cualquier proveedor de LLM (Google, OpenAI, DeepSeek, Cloudflare, Groq o una API personalizada compatible con OpenAI) con capacidad de llamada a herramientas e implementa herramientas de GitHub a través de la API REST. Localmente, aún puedes ejecutar la aplicación original de Streamlit que se comunica con el servidor MCP oficial de GitHub a través de Docker.
Este es un empaquetado independiente del agente MCP de GitHub de Shubhamsaboo/awesome-llm-apps. El original se encuentra dentro de una gran colección de ejemplos; este repositorio es un proyecto autónomo que puedes clonar, ejecutar e implementar.
Qué hace
Señala la aplicación a cualquier owner/repo, escribe una pregunta y obtén una respuesta estructurada respaldada por datos en vivo de GitHub, no una suposición genérica de un LLM. Preguntas típicas:
¿Qué incidencias están etiquetadas como errores?
¿Qué solicitudes de extracción aún necesitan revisión?
¿Qué se ha fusionado recientemente?
¿Qué tan activo está este repositorio?
El agente formatea las respuestas en markdown, incluyendo tablas y enlaces de regreso a GitHub cuando son útiles.
Related MCP server: GitHub Tools MCP Server
Características
Consultas en lenguaje natural sobre incidencias, solicitudes de extracción, metadatos del repositorio, archivos y búsqueda
Worker de Cloudflare + interfaz de chat estática para uso alojado (cualquier proveedor de LLM + API REST de GitHub)
Servidor MCP oficial de GitHub (ruta local opcional) a través de Docker para la aplicación original de Streamlit
Trae tu propia clave de LLM: Google, OpenAI, DeepSeek, Cloudflare Workers AI, Anthropic, Groq, OpenRouter, Mistral, xAI, Together o cualquier endpoint compatible con OpenAI
Autenticación en la barra lateral, selector de proveedor y campo de modelo, plantillas de consulta y preguntas personalizadas
Carga opcional de
.env/.dev.varspara que puedas mantener las claves fuera de la interfaz
Arquitectura alojada (Cloudflare)
Streamlit y la imagen Docker de MCP de GitHub no pueden ejecutarse en Cloudflare Pages/Workers. La aplicación alojada es una reconstrucción nativa de Cloudflare del mismo producto:
┌─────────────────┐ POST /api/chat (SSE) ┌──────────────────┐
│ Static chat UI │ ────────────────────────────► │ Cloudflare Worker│
│ public/ │ │ Any LLM + tools │
└─────────────────┘ └────────┬─────────┘
│ GitHub REST
▼
┌──────────────────┐
│ api.github.com │
└──────────────────┘El Worker sirve la interfaz de chat desde
public/y maneja/api/*.Las solicitudes de chat llaman a tu LLM elegido con herramientas de GitHub equivalentes a los conjuntos de herramientas MCP
repos,issuesypull_requests(más archivos y búsqueda).El Worker ejecuta esas herramientas contra la API REST de GitHub usando
GITHUB_TOKEN.Los tokens pueden provenir de los secretos de Wrangler o de la barra lateral (
X-LLM-Key,X-GitHub-Token). Los valores de la barra lateral anulan los secretos para esa solicitud.
Implementar en Cloudflare
Requisitos previos
Node.js 18+
Una cuenta de Cloudflare
Una clave de API de LLM de cualquier proveedor (Google, OpenAI, DeepSeek, Cloudflare, Groq, …)
Token de acceso personal de GitHub (no comprometido)
git clone https://github.com/MadanMohan0537/github-mcp-agent.git
cd github-mcp-agent
npm install
npx wrangler login
npx wrangler secret put LLM_API_KEY
npx wrangler secret put GITHUB_TOKEN
npx wrangler secret put LLM_PROVIDER
npm run deployDespués de la implementación, Wrangler imprime una URL *.workers.dev. La interfaz y la API son del mismo origen.
Desarrollo local con Cloudflare
copy .dev.vars.example .dev.varsEdita .dev.vars con claves reales (nunca lo comprometas), luego:
npm run devAbre la URL que imprime Wrangler (generalmente http://127.0.0.1:8787).
Variable | Requerida | Propósito |
| Sí (para consultas) | Cualquier clave de proveedor: Google, OpenAI, DeepSeek, Groq, Cloudflare, etc. |
| No |
|
| No | ID del modelo para ese proveedor |
| Anulación personalizada/Cloudflare | URL base compatible con OpenAI |
| Cloudflare Workers AI | ID de cuenta utilizado para construir la URL de Workers AI |
| Sí (para consultas) | Autentica las llamadas REST de GitHub |
Alias de proveedor | No |
|
También puedes escribir claves en la barra lateral. El campo está etiquetado como LLM API key, no solo OpenAI. Los valores de la barra lateral se envían solo a este Worker como encabezados de solicitud.
Ámbitos del token:
Repositorios públicos:
public_repoes suficienteRepositorios privados:
repo
Ruta local opcional: Streamlit + Docker de MCP de GitHub
La aplicación original de Python no ha cambiado. Usa Agno, Streamlit y ghcr.io/github/github-mcp-server.
┌─────────────────┐ natural-language query ┌──────────────────┐
│ Streamlit UI │ ───────────────────────────────► │ Agno Agent │
│ github_agent.py│ │ (any LLM) │
└─────────────────┘ └────────┬─────────┘
│ MCP tools
▼
┌──────────────────┐
│ Docker container │
│ github-mcp-server│
└────────┬─────────┘
│ GitHub API
▼
┌──────────────────┐
│ api.github.com │
└──────────────────┘Requisitos previos
Requisito | Notas |
Python 3.10+ | Desarrollado con 3.12 |
Debe estar ejecutándose; el servidor MCP de GitHub es un contenedor | |
Clave de API de LLM | Google, OpenAI, DeepSeek, Cloudflare, Groq o cualquier proveedor compatible con OpenAI |
Token de acceso personal de GitHub |
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env
streamlit run github_agent.pyO . un.ps1 / run.bat después de instalar el entorno virtual. Abre la URL que imprime Streamlit (generalmente http://localhost:8501).
La primera descarga de Docker de ghcr.io/github/github-mcp-server puede tardar un minuto. Las consultas se agotan después de 120 segundos.
Ejemplo de uso
Repositorio: Shubhamsaboo/awesome-llm-apps
Incidencias
Encuentra incidencias etiquetadas como errores en Shubhamsaboo/awesome-llm-apps¿Qué incidencias se están discutiendo activamente?
Solicitudes de extracción
¿Qué PR necesitan revisión?Muéstrame PR fusionados recientemente
Repositorio
Muestra métricas de salud del repositorioMuestra patrones de actividad del repositorioAnaliza tendencias de calidad del código
Mantén cada pregunta enfocada en un área (incidencias, PR o estadísticas del repositorio). Las indicaciones amplias toman más tiempo y producen respuestas más ruidosas.
Estructura del proyecto
github-mcp-agent/
├── public/ # Cloudflare static chat UI
├── src/ # Worker: multi-provider LLM agent + GitHub REST tools
├── wrangler.toml # Workers + assets project
├── package.json # npm run dev / npm run deploy
├── github_agent.py # Optional local Streamlit + MCP Docker app
├── requirements.txt
├── .env.example
├── .dev.vars.example
├── LICENSE # Apache License 2.0 (from the original project)
├── NOTICE
└── README.mdSolución de problemas
Síntoma | Qué verificar |
| Clave en la barra lateral, |
| Token en la barra lateral, |
El Worker pide iniciar sesión | Ejecuta |
Errores de Docker / | Solo necesario para la ruta de Streamlit; instala Docker e inicia el demonio |
Tiempo de espera / respuestas truncadas | Limita la consulta; los resultados de las herramientas alojadas se recortan para mantener los límites del Worker/LLM |
| Ruta de Streamlit: instala desde el |
Errores 401 / de permisos de GitHub | Token caducado o falta el ámbito |
Atribución
Basado en Agente MCP de GitHub en Shubhamsaboo/awesome-llm-apps, específicamente:
mcp_ai_agents/github_mcp_agent
Tutorial original: Build an MCP GitHub agent in less than 50 lines of code.
Este repositorio es una copia independiente con documentación, un host de Cloudflare Workers y pequeños cambios de empaquetado. No es un producto oficial de GitHub o Cloudflare.
Licencia
El proyecto original awesome-llm-apps está licenciado bajo la Licencia Apache 2.0. Este derivado mantiene esa licencia. Consulta NOTICE para la atribución de la fuente.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables analyzing and querying GitHub repositories through the GitHub Chat API, allowing users to index repositories and ask questions about their code, architecture and tech stack.286MIT
- Flicense-quality-maintenanceModel Context Protocol server that enables interaction with GitHub repositories, issues, pull requests, and search functionality through natural language.1
- Flicense-qualityDmaintenanceA production-ready server featuring over 28 tools for comprehensive GitHub analysis, including repository metadata, issue tracking, and workflow monitoring. It enables users to search repositories, analyze contributor activity, and inspect codebase health through natural language.1
- Flicense-qualityDmaintenanceA Model Context Protocol (MCP) server that connects Claude AI directly to the GitHub API, enabling natural language queries for live repository data, issues, PRs, and contributions.1
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
GibsonAI MCP server: manage your databases with natural language
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MadanMohan0537/github-mcp-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server