Skip to main content
Glama
MadanMohan0537

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.vars para 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   │
                                                  └──────────────────┘
  1. El Worker sirve la interfaz de chat desde public/ y maneja /api/*.

  2. Las solicitudes de chat llaman a tu LLM elegido con herramientas de GitHub equivalentes a los conjuntos de herramientas MCP repos, issues y pull_requests (más archivos y búsqueda).

  3. El Worker ejecuta esas herramientas contra la API REST de GitHub usando GITHUB_TOKEN.

  4. 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 deploy

Despué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.vars

Edita .dev.vars con claves reales (nunca lo comprometas), luego:

npm run dev

Abre la URL que imprime Wrangler (generalmente http://127.0.0.1:8787).

Variable

Requerida

Propósito

LLM_API_KEY

Sí (para consultas)

Cualquier clave de proveedor: Google, OpenAI, DeepSeek, Groq, Cloudflare, etc.

LLM_PROVIDER

No

openai, google, deepseek, cloudflare, anthropic, groq, openrouter, mistral, xai, together o custom

LLM_MODEL

No

ID del modelo para ese proveedor

LLM_BASE_URL

Anulación personalizada/Cloudflare

URL base compatible con OpenAI

CLOUDFLARE_ACCOUNT_ID

Cloudflare Workers AI

ID de cuenta utilizado para construir la URL de Workers AI

GITHUB_TOKEN

Sí (para consultas)

Autentica las llamadas REST de GitHub

Alias de proveedor

No

GOOGLE_API_KEY, OPENAI_API_KEY, DEEPSEEK_API_KEY, GROQ_API_KEY, …

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_repo es suficiente

  • Repositorios 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

Docker

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

De github.com/settings/tokens

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env
streamlit run github_agent.py

O . 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 repositorio

  • Muestra patrones de actividad del repositorio

  • Analiza 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.md

Solución de problemas

Síntoma

Qué verificar

LLM API key not provided

Clave en la barra lateral, .dev.vars o npx wrangler secret put LLM_API_KEY

GitHub token not provided

Token en la barra lateral, .dev.vars o npx wrangler secret put GITHUB_TOKEN

El Worker pide iniciar sesión

Ejecuta npx wrangler login y completa el flujo OAuth del navegador

Errores de Docker / docker no encontrado

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

ImportError sobre McpError / mcp

Ruta de Streamlit: instala desde el requirements.txt de este repositorio (mcp>=1.9,<2.0)

Errores 401 / de permisos de GitHub

Token caducado o falta el ámbito repo / public_repo

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.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    D
    maintenance
    An 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.
    2
    86
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    A 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
  • F
    license
    -
    quality
    D
    maintenance
    A 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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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