Skip to main content
Glama
MadanMohan0537

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.vars Laden, 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   │
                                                  └──────────────────┘
  1. Der Worker bedient die Chat-Oberfläche aus public/ und verarbeitet /api/*.

  2. Chat-Anfragen rufen deinen gewählten LLM mit GitHub-Tools auf, die den MCP-Toolsets repos, issues und pull_requests entsprechen (plus Dateien und Suche).

  3. Der Worker führt diese Tools gegen die GitHub REST-API mit GITHUB_TOKEN aus.

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

Nach 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.vars

Bearbeite .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

LLM_API_KEY

Ja (für Abfragen)

Beliebiges Anbieter-Schlüssel: Google, OpenAI, DeepSeek, Groq, Cloudflare, etc.

LLM_PROVIDER

Nein

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

LLM_MODEL

Nein

Modell-ID für diesen Anbieter

LLM_BASE_URL

Benutzerdefiniert / Cloudflare-Override

OpenAI-kompatible Basis-URL

CLOUDFLARE_ACCOUNT_ID

Cloudflare Workers AI

Konto-ID zum Erstellen der Workers AI-URL

GITHUB_TOKEN

Ja (für Abfragen)

Authentifiziert GitHub REST-Aufrufe

Anbieter-Aliasnamen

Nein

GOOGLE_API_KEY, OPENAI_API_KEY, DEEPSEEK_API_KEY, GROQ_API_KEY, …

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_repo reicht

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

Docker

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

Von 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

Oder . 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-apps

  • What issues are being actively discussed?

Pull-Requests

  • What PRs need review?

  • Show me recent merged PRs

Repository

  • Show repository health metrics

  • Show repository activity patterns

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

Fehlerbehebung

Symptom

Was zu prüfen ist

LLM API key not provided

Seitenleisten-Schlüssel, .dev.vars oder npx wrangler secret put LLM_API_KEY

GitHub token not provided

Seitenleisten-Token, .dev.vars oder npx wrangler secret put GITHUB_TOKEN

Worker-Deploy fordert zur Anmeldung auf

Führe npx wrangler login aus und schließe den OAuth-Flow im Browser ab

Docker-Fehler / docker nicht gefunden

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

ImportError wegen McpError / mcp

Streamlit-Pfad: Installiere aus der requirements.txt dieses Repositorys (mcp>=1.9,<2.0)

401 / Berechtigungsfehler von GitHub

Token abgelaufen oder fehlender repo / public_repo-Bereich

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.

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