GitHub MCP Agent
GitHub MCP Agent
Stelle natürlichsprachliche Fragen zu GitHub-Repositorys und erhalte Antworten, die auf live GitHub-Daten basieren. Auf Cloudflare ruft ein Worker jeden LLM-Anbieter (Google, OpenAI, DeepSeek, Cloudflare, Groq oder eine benutzerdefinierte OpenAI-kompatible API) mit Tool Calling auf und implementiert GitHub-Tools über die REST-API. Lokal kannst du weiterhin die ursprüngliche Streamlit-App ausführen, die über Docker mit dem offiziellen GitHub MCP Server kommuniziert.
Dies ist ein eigenständiges Paket des GitHub MCP Agents aus Shubhamsaboo/awesome-llm-apps. Das Original befindet sich in einer großen Sammlung von Beispielen; dieses Repository ist ein abgeschlossenes Projekt, das du klonen, ausführen und bereitstellen kannst.
Was es tut
Gib der App ein beliebiges owner/repo, gib eine Frage ein, und erhalte eine strukturierte Antwort, die auf live GitHub-Daten basiert – keine allgemeine LLM-Schätzung. Typische Fragen:
Welche Issues sind als Bugs markiert?
Welche Pull-Requests benötigen noch eine Überprüfung?
Was wurde kürzlich gemerged?
Wie aktiv ist dieses Repository?
Der Agent formatiert Antworten in Markdown, einschließlich Tabellen und Links zurück zu GitHub, wenn sie hilfreich sind.
Related MCP server: GitHub Tools MCP Server
Funktionen
Natürlichsprachliche Abfragen über Issues, Pull-Requests, Repository-Metadaten, Dateien und Suche
Cloudflare Worker + statische Chat-Oberfläche für gehostete Nutzung (beliebiger LLM-Anbieter + GitHub REST)
Offizieller GitHub MCP Server (optional lokaler Pfad) über Docker für die ursprüngliche Streamlit-App
Eigenen LLM-Schlüssel mitbringen: Google, OpenAI, DeepSeek, Cloudflare Workers AI, Anthropic, Groq, OpenRouter, Mistral, xAI, Together oder jeder OpenAI-kompatible Endpunkt
Seitenleiste für Authentifizierung, Anbieterauswahl und Modellfeld, Abfragevorlagen und benutzerdefinierte Fragen
Optional
.env/.dev.varsLaden, damit du Schlüssel aus der Benutzeroberfläche heraushalten kannst
Gehostete Architektur (Cloudflare)
Streamlit und das GitHub MCP Docker-Image können nicht auf Cloudflare Pages/Workers ausgeführt werden. Die gehostete App ist eine Cloudflare-native Neuimplementierung des gleichen Produkts:
┌─────────────────┐ POST /api/chat (SSE) ┌──────────────────┐
│ Static chat UI │ ────────────────────────────► │ Cloudflare Worker│
│ public/ │ │ Any LLM + tools │
└─────────────────┘ └────────┬─────────┘
│ GitHub REST
▼
┌──────────────────┐
│ api.github.com │
└──────────────────┘Der Worker bedient die Chat-Oberfläche aus
public/und verarbeitet/api/*.Chat-Anfragen rufen deinen gewählten LLM mit GitHub-Tools auf, die den MCP-Toolsets
repos,issuesundpull_requestsentsprechen (plus Dateien und Suche).Der Worker führt diese Tools gegen die GitHub REST-API mit
GITHUB_TOKENaus.Tokens können von Wrangler-Secrets oder aus der Seitenleiste (
X-LLM-Key,X-GitHub-Token) stammen. Werte aus der Seitenleiste überschreiben Secrets für diese Anfrage.
Auf Cloudflare bereitstellen
Voraussetzungen
Node.js 18+
Ein Cloudflare-Konto
Ein LLM-API-Schlüssel von einem beliebigen Anbieter (Google, OpenAI, DeepSeek, Cloudflare, Groq, …)
GitHub persönlicher Zugriffstoken (nicht committet)
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 deployNach der Bereitstellung gibt Wrangler eine *.workers.dev-URL aus. Die Benutzeroberfläche und die API sind same-origin.
Lokale Cloudflare-Entwicklung
copy .dev.vars.example .dev.varsBearbeite .dev.vars mit echten Schlüsseln (niemals committen), dann:
npm run devÖffne die von Wrangler ausgegebene URL (normalerweise http://127.0.0.1:8787).
Variable | Erforderlich | Zweck |
| Ja (für Abfragen) | Beliebiges Anbieter-Schlüssel: Google, OpenAI, DeepSeek, Groq, Cloudflare, etc. |
| Nein |
|
| Nein | Modell-ID für diesen Anbieter |
| Benutzerdefiniert / Cloudflare-Override | OpenAI-kompatible Basis-URL |
| Cloudflare Workers AI | Konto-ID zum Erstellen der Workers AI-URL |
| Ja (für Abfragen) | Authentifiziert GitHub REST-Aufrufe |
Anbieter-Aliasnamen | Nein |
|
Du kannst auch Schlüssel in die Seitenleiste eingeben. Das Feld ist mit LLM API key beschriftet, nicht nur OpenAI. Werte aus der Seitenleiste werden nur als Anfrage-Header an diesen Worker gesendet.
Token-Bereiche:
Öffentliche Repositorys:
public_reporeichtPrivate Repositorys:
repo
Optionaler lokaler Pfad: Streamlit + GitHub MCP Docker
Die ursprüngliche Python-App ist unverändert. Sie verwendet Agno, Streamlit und 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 │
└──────────────────┘Voraussetzungen
Anforderung | Hinweise |
Python 3.10+ | Entwickelt mit 3.12 |
Muss laufen; der GitHub MCP Server ist ein Container | |
LLM-API-Schlüssel | Google, OpenAI, DeepSeek, Cloudflare, Groq oder jeder OpenAI-kompatible Anbieter |
GitHub persönlicher Zugriffstoken |
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env
streamlit run github_agent.pyOder . un.ps1 / run.bat nachdem das venv installiert ist. Öffne die von Streamlit ausgegebene URL (normalerweise http://localhost:8501).
Das erste Docker-Pull von ghcr.io/github/github-mcp-server kann eine Minute dauern. Abfragen haben ein Zeitlimit von 120 Sekunden.
Beispielverwendung
Repository: Shubhamsaboo/awesome-llm-apps
Issues
Find issues labeled as bugs in Shubhamsaboo/awesome-llm-appsWhat issues are being actively discussed?
Pull-Requests
What PRs need review?Show me recent merged PRs
Repository
Show repository health metricsShow repository activity patternsAnalyze code quality trends
Halte jede Frage auf einen Bereich (Issues, PRs oder Repository-Statistiken) fokussiert. Breite Eingabeaufforderungen dauern länger und liefern verrauschte Antworten.
Projektstruktur
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.mdFehlerbehebung
Symptom | Was zu prüfen ist |
| Seitenleisten-Schlüssel, |
| Seitenleisten-Token, |
Worker-Deploy fordert zur Anmeldung auf | Führe |
Docker-Fehler / | Nur für den Streamlit-Pfad nötig; installiere Docker und starte den Daemon |
Zeitüberschreitung / abgeschnittene Antworten | Enggrenze die Abfrage ein; gehostete Tool-Ergebnisse werden beschnitten, um Worker/LLM-Limits einzuhalten |
| Streamlit-Pfad: Installiere aus der |
401 / Berechtigungsfehler von GitHub | Token abgelaufen oder fehlender |
Namensnennung
Basiert auf GitHub MCP Agent in Shubhamsaboo/awesome-llm-apps, genauer:
mcp_ai_agents/github_mcp_agent
Tutorial der Quelle: Build an MCP GitHub agent in less than 50 lines of code.
Dieses Repository ist ein unabhängiger eigenständiger Checkout mit Dokumentation, einem Cloudflare Workers Host und kleinen Paketänderungen. Es ist kein offizielles GitHub- oder Cloudflare-Produkt.
Lizenz
Das ursprüngliche Projekt awesome-llm-apps ist unter der Apache License 2.0 lizenziert. Dieser Ableger behält diese Lizenz. Siehe NOTICE für die Quellenangabe.
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