GitHub Intelligence MCP server
Commit 21. Okt. 2026Stellt KI-Clients strukturierte, validierte JSON-Daten bereit, um GitHub-Repositories inklusive Issues, Pull Requests und Commits zu untersuchen und zu analysieren.
Auch bekannt als Dayyan-Saeed/Github-Intelligence-Mcp
- Stars
- 2
- Tools
- 7
- Downloads, 30 Tage
- —
- Neueste Version
- —
- Letzter Commit
- 21. Okt. 2026
- Lizenz
- MIT
Was ist GitHub Intelligence MCP?
GitHub Intelligence ist ein MCP server. Stellt KI-Clients strukturierte, validierte JSON-Daten bereit, um GitHub-Repositories inklusive Issues, Pull Requests und Commits zu untersuchen und zu analysieren. Er stellt 7 Tools bereit, etwa get_repository, search_repositories, get_issues.
Zusammenfassung generiert aus dem README des Projekts
Über GitHub Intelligence MCP server
Dieser Server ermöglicht es dir, die Gesundheit und Metriken von GitHub-Repositories direkt aus KI-Clients wie Claude, Cursor oder OpenCode heraus zu analysieren. Er versorgt Entwickler und KI-Agents mit deterministischen, validierten JSON-Daten, anstatt sich darauf zu verlassen, dass ein LLM Repository-Statistiken errät. Da der Server das Abrufen und Strukturieren der Daten übernimmt, kann sich das Modell auf das Reasoning konzentrieren, anstatt fehleranfällige Berechnungen durchzuführen.
Nutzer führen diesen Server lokal via stdio mit Python 3.12 und uv aus. Um die Verbindung herzustellen, musst du einen GitHub Personal Access Token über eine GITHUB_TOKEN Umgebungsvariable bereitstellen. Der Server bietet Read-only Tools wie get_repository, search_repositories, get_issues, get_pull_requests, get_recent_commits, get_contributors und get_releases. Alle List-Operationen sind sicher mit einem Limit zwischen 1 und 100 Items begrenzt, um die Stabilität zu gewährleisten.
Dieses Tool ist für alle gedacht, die zuverlässige Fakten über Metadaten, Contributor und die Release-Historie benötigen. Es nutzt Pydantic-Modelle, um einen stabilen Output-Contract zu garantieren, was bedeutet, dass die zurückgegebenen Daten immer strukturiert und vorhersehbar sind. Zudem ist eine integrierte Fehlerbehandlung enthalten, die Probleme der GitHub API in klare, benutzerfreundliche Nachrichten übersetzt.
Was du damit machen kannst
- 1Repository-Aktivität vergleichenLass eine KI die Anzahl der Stars, die Issue-Health und die aktuelle Aktivität zwischen zwei verschiedenen Repositories vergleichen.
- 2Top-Contributor identifizierenFordere eine Liste der aktivsten Entwickler an, die zu einem bestimmten Projekt beitragen.
- 3Aktuelle Software-Releases trackenFinde heraus, was kürzlich in einem Repository gemergt oder veröffentlicht wurde.
- 4Repository-Issues auditierenSuche nach und analysiere Issues innerhalb eines Repositories, gefiltert nach spezifischen Labels oder States.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
GitHub Intelligence MCP tools 7
Erkannt aus dem READMEget_repositorysearch_repositoriesget_issuesget_pull_requestsget_recent_commitsget_contributorsget_releases
| get_repository | — | |
| search_repositories | — | |
| get_issues | — | |
| get_pull_requests | — | |
| get_recent_commits | — | |
| get_contributors | — | |
| get_releases | — |
Konfiguration
GITHUB_TOKEN
| Name | Beschreibung | Typ |
|---|---|---|
| GITHUB_TOKEN | — |
Automatisierte Checks
Geluften am 14. Nov. 2026Vollständiger Bericht →Noch nicht verifiziert. Ein Server benötigt einen Score von 80, keine kritischen Befunde und genug Daten für unsere Prüfung. Wie die Checks funktionieren · Was du für mehr Punkte verbessern kannst
- Source Repository verknüpft und erreichbardayyan-saeed/github-intelligence-mcp is public and reachablegithub.com/dayyan-saeed/github-intelligence-mcp ↗Bestanden
- Paket nennt dieses Repository als QuelleNicht geprüft
- Build-Provenienz (Sigstore-Attestierung)Nicht geprüft
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit or release 2026-10-21github.com/dayyan-saeed/github-intelligence-mcp ↗Bestanden
- OpenSSF ScorecardNicht geprüft
- Package-Name ähnelt keinem populären PackageNicht geprüft
- Keine kritischen Advisories im Paket oder seinen AbhängigkeitenNicht geprüft
- Keine versteckten Anweisungen an das Modell7 tool descriptions and the README read; no override phrases, credential paths or hidden charactersBestanden
- Destruktive Tools sind markiertNo tool named like delete, drop or execBestanden
- Remote-Endpoint beantwortet den MCP-HandshakeNicht geprüft
README
Auf GitHub ansehenGitHub Intelligence MCP
Live Dashboard: https://github-intelligence-mcp-ashy.vercel.app/
An intelligent, structured MCP (Model Context Protocol) server for investigating and analyzing GitHub repositories.
MCP-compatible AI clients (OpenCode, Claude, Cursor, etc.) connect to this server and gain read-only tools that return deterministic, validated, structured JSON about any GitHub repository — metadata, issues, pull requests, commits, contributors, releases, and search.
Why it exists
AI agents answering questions like "analyze facebook/react" or "find stale issues" need reliable facts. Computing repository metrics with an LLM is slow, expensive, and error-prone. This server does the deterministic work in code — fetching, validating, bounding, and structuring GitHub data — so the LLM can focus on what it is good at: reasoning and explanation.
Architecture
┌───────────────────────────── MCP client (LLM) ─────────────────────────────┐
│ asks questions, reasons over structured results │
└───────────────────────────────┬───────────────────────────────────────────┘
│ MCP protocol (stdio JSON-RPC)
┌───────────────────────────────▼───────────────────────────────────────────┐
│ server.py MCPServer assembly + tool registration │
├───────────────────────────────────────────────────────────────────────────┤
│ tools/* tool boundary: validation, logging, clean errors │
├───────────────────────────────────────────────────────────────────────────┤
│ github/* async GitHub REST client (httpx), payload mapping │
├───────────────────────────────────────────────────────────────────────────┤
│ models/* stable Pydantic response models (output contract) │
└───────────────────────────────┬───────────────────────────────────────────┘
│ HTTPS + Bearer token
▼ GitHub REST API v3
Key layers are strictly separated: the github package knows nothing about
MCP; the tools package contains no HTTP logic; the models package defines
a stable output contract decoupled from raw API payloads. See
docs/architecture.md for the reasoning behind every
decision.
Available tools (Phase 1 MVP)
| Tool | Description |
|---|---|
get_repository |
Structured metadata for one repository (stars, forks, license, timestamps, …) |
search_repositories |
Search repos; optional sort (stars, forks, help-wanted-issues, updated), order, bounded limit |
get_issues |
Issues filtered by state/labels/sort — pull requests automatically excluded |
get_pull_requests |
PRs with created/updated/closed/merged timestamps and draft flag |
get_recent_commits |
Commits from the last N days (1–365) with author/committer info |
get_contributors |
Top contributors by contribution count |
get_releases |
Recent releases with tag, author, draft/prerelease flags |
All list operations accept a limit clamped to 1–100, enforced twice:
once by the generated input schema, once inside the service layer.
Example interaction
An MCP client calling the server over stdio:
{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "get_repository", "arguments": {"owner": "facebook", "repo": "react"}}}
returns structured content:
{
"name": "react",
"full_name": "facebook/react",
"stars": 238000,
"open_issues": 612,
"license": "MIT",
"default_branch": "main",
"created_at": "2013-05-24T16:15:54Z"
}
Natural-language prompts the tools support:
- "Compare stars, issue health, and recent activity of X and Y."
- "Who are the most active contributors of this repository?"
- "What was merged or released here recently?"
Installation
Requirements: Python 3.12+ and uv.
git clone <repository-url>
cd github-intelligence-mcp
uv sync
cp .env.example .env # then set GITHUB_TOKEN in .env
Create a GitHub token at https://github.com/settings/tokens — a fine-grained token with read-only access is sufficient.
Running locally
uv run github-intelligence-mcp # stdio transport (default)
Connecting to an MCP client
Example OpenCode configuration (opencode.json):
{
"mcp": {
"github-intelligence": {
"type": "local",
"command": ["uv", "run", "--directory", "/path/to/github-intelligence-mcp", "github-intelligence-mcp"],
"environment": { "GITHUB_TOKEN": "your-token" }
}
}
}
Claude Desktop (claude_desktop_config.json) uses the equivalent
mcpServers block with command/args.
Configuration
| Variable | Required | Default | Purpose |
|---|---|---|---|
GITHUB_TOKEN |
yes | — | GitHub PAT used for all requests |
GITHUB_API_URL |
no | https://api.github.com |
API root (useful for GitHub Enterprise) |
LOG_LEVEL |
no | INFO |
DEBUG…CRITICAL; logs go to stderr |
REQUEST_TIMEOUT_SECONDS |
no | 30 |
Per-request HTTP timeout |
CACHE_ENABLED |
no | false |
Reserved for Phase 4 response caching |
CACHE_TTL_SECONDS |
no | 300 |
Reserved for Phase 4 response caching |
Secrets are never hardcoded and never logged: the token lives in a
SecretStr and is only materialized inside the Authorization header.
Error handling
Domain exceptions map to clean, user-safe messages — never stack traces, never credentials:
| Situation | Client sees |
|---|---|
| Unknown/private repo | Repository 'owner/repo' was not found or is inaccessible. |
| Bad token | GitHub rejected the configured credentials. Check GITHUB_TOKEN. |
| Rate limit exhausted | GitHub API rate limit exceeded. Please retry after the provided reset time. Reset at: … |
| Missing permission | The configured token does not have permission to access this resource. |
| Invalid input | Field-specific validation message |
Transient failures (5xx, network errors) retry up to 3 times with capped exponential backoff. Client errors are never retried.
Repository health algorithm (Phase 2 roadmap)
Phase 2 adds deterministic scoring — no LLM involved — using explainable, documented weights:
| Component | Weight | Signals |
|---|---|---|
| Activity | 25% | commits 30/90 days, active contributors, recent PRs/releases |
| Issue health | 20% | stale-issue ratio, closure activity, average age (stale = open & untouched ≥ 90 days) |
| PR health | 20% | open/stale PR counts, merge cadence (stale = open ≥ 30 days) |
| Contributor health | 15% | active contributor count, concentration / bus-factor risk |
| Release activity | 10% | release intervals over 30/90-day windows |
| Documentation | 10% | README/docs/license presence signals |
Each component yields a 0–100 score with published formulas so results are reproducible.
Security model
- Read-only V1: no write operations exist to misuse; attack surface stays minimal.
- Input allow-lists prevent path traversal via
owner/repo. - Pagination and retries are bounded by construction.
- Logs contain tool names, repos, durations, statuses — never tokens or headers.
- Unanticipated exceptions are masked by the SDK; clients only see curated messages.
Testing
uv run pytest # 100% offline — respx mocks every HTTP call
Unit tests cover config, validation, models, client behavior (auth headers,
error mapping, retries, rate limits, pagination), and service filtering.
Integration tests drive the real MCPServer instance end-to-end: schema
generation, dispatch, structured output, and error translation.
Docker
docker build -t github-intelligence-mcp .
docker run --rm -i -e GITHUB_TOKEN=ghp_xxx github-intelligence-mcp
Multi-stage build on python:3.12-slim, runs as non-root, installs from the
committed uv.lock, and receives secrets only at runtime.
Development
See docs/development.md. Quality gates:
uv run ruff check .
uv run ruff format --check .
uv run mypy .
uv run pytest
CI runs all four on every push and pull request.
Roadmap
- Phase 2 — deterministic health analysis, maintenance-risk detection, repository comparison
- Phase 3 — MCP resources (
github://repo/{owner}/{repo}/…) and guided prompts - Phase 4 — SQLite response cache with per-endpoint TTLs, advanced rate-limit handling, GraphQL
- Phase 5 — LangGraph autonomous investigation agent
- Phase 6 — Next.js dashboard
License
GitHub Intelligence MCP Fragen
Welche Tools bietet GitHub Intelligence MCP?
Er stellt 7 Tools bereit, darunter get_repository, search_repositories, get_issues, get_pull_requests, get_recent_commits.
Welche Art von Daten kann ich von GitHub abrufen?
Der Server liefert strukturierte Metadaten, Issues, Pull Requests, Commits, Contributor und Releases.
Benötige ich einen GitHub Token, um diesen Server zu nutzen?
Ja, ein GitHub Personal Access Token (PAT) ist erforderlich. Ein fine-grained Token mit Read-only-Zugriff reicht aus.
Kann dieser Server Änderungen an meinen Repositories vornehmen?
Nein, die aktuelle Version ist Read-only und enthält keine Schreiboperationen.
Wie werden Fehler behandelt, wenn ein Repository nicht gefunden wird?
Der Server gibt eine saubere, benutzerfreundliche Nachricht zurück, anstatt eines Stack Traces.