github-code-rag-mcp
Kurz erklärt
Ein MCP-Server, der es einer KI ermöglicht, GitHub-Code in Echtzeit zu durchsuchen und wiederzuverwenden. Authentifizierung schreiben? Such. Middleware schreiben? Such. Zahlungsintegration schreiben? Such. Bevor die KI eine einzige Zeile Code schreibt, sucht sie auf GitHub nach der besten Implementierung – kein Neuerfinden des Rades. Enthält außerdem eine integrierte „Anforderungsanalyse-Agent"-Methodik, damit die KI zuerst recherchiert und dann handelt, anstatt zu raten.
Related MCP server: MCP Code Intelligence
Das Problem
Kennst du das auch?
„Ich wollte ein Benutzerauthentifizierungsmodul schreiben, habe eine halbe Stunde im Browser gesucht und Code von fragwürdiger Qualität gefunden."
„Es gibt großartige Implementierungen auf GitHub, aber die KI sucht nie danach – sie schreibt einfach von Grund auf neu."
„Jede neue Funktion fühlt sich an, als würde man das Rad neu erfinden, obwohl die Antworten überall sind."
Das Problem ist, wie KI heute Code schreibt.
现在的流程:AI 想写 → 凭记忆瞎写 → 不对 → 改 → 还不对
应该有的流程:AI 想写 → 搜 GitHub → 找到最好的实现 → 复用 → 微调 → 完成github-code-rag steckt GitHub in den Werkzeugkasten deiner KI. Erst suchen, dann wiederverwenden.
Kernfunktionen
🔥 GitHub in Echtzeit durchsuchen und den relevantesten Code zur Wiederverwendung finden
Sortiert nach Sternen, priorisiert die ausgereiftesten Projekte. Filterung nach Sprache und Sternanzahl möglich.
用户:帮我写个 FastAPI 的数据库连接模块
↓
AI:search_github("fastapi sqlalchemy database stars:>1000")
AI:read_github_file("tiangolo/fastapi", "docs_src/sql_app/main.py")
AI:search_code("create_engine sessionmaker")
↓
AI:我参考了 FastAPI 官方示例,给你写好了:
# Source: tiangolo/fastapi/docs_src/sql_app/main.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
...Kein Wechseln des Browsers, kein Klonen von Repositories, kein Blättern durch Dutzende von Tabs. Deine KI durchsucht GitHub nebenbei beim Codieren, findet die beste Implementierung und verwendet sie direkt wieder.
📚 Gelesener Code wird automatisch indiziert – wird mit der Zeit besser
Alle gelesenen Repositories werden in einen lokalen FTS5-Volltextindex aufgenommen. Beim nächsten Suchen nach verwandtem Code kommen die Ergebnisse in Millisekunden.
→ search_code("jwt authentication middleware")
在 12 个已读仓库中找到 47 个匹配片段:
- fastapi/.../auth.py:35 JWT bearer middleware
- django/.../auth.py:128 Token authentication
- ...Je länger du es nutzt, desto größer wird deine lokale Code-Wissensdatenbank, desto schneller schreibt die KI Code.
🔄 GitHub API + offizielle Suchseite als doppelte Absicherung gegen Ratenbegrenzung
GitHub Search API: höchste Qualität, sortiert nach Sternen (60 Anfragen/Stunde kostenlos, mit Token 5000 Anfragen/Stunde)
Offizielle GitHub-Suchseite als Fallback: kostenloses unbegrenztes Kontingent, automatische Herabstufung bei Ratenbegrenzung
Kein git clone: alles über REST API, belegt keinen lokalen Speicherplatz
🧠 Bonus: Anforderungsanalyse-Agent – erst recherchieren, dann handeln
Der System-Prompt kodiert einen Workflow fest, sodass die KI nicht sofort blind loslegt. Sie sucht zuerst nach ähnlichen Projekten, stellt dir basierend auf echten Projekten Rückfragen zu deinen Anforderungen und beginnt erst mit der Umsetzung, wenn alles klar ist.
用户:我想做个博客系统
↓
AI:[搜了 10 个相关项目]
你是要做独立博客(类似 Hugo/Hexo),还是多用户平台?
- 独立博客(简单、SEO 好)
- 多用户平台(功能复杂、需后台)
- 我来根据 GitHub 项目给你推荐Kann man sich vorstellen als „die Arbeitsmethodik eines Senior Engineers – kostenlos dazu". Wenn du es nicht brauchst, kannst du es ignorieren. Die Codesuche allein ist den Preis wert.
⚡ Kein git clone · Keine Vektordatenbank · Nur 1 Abhängigkeit
Alles über die GitHub REST API – kein Klonen von Repositories nötig
SQLite + FTS5 Volltextindex – keine Vektordatenbank oder Embeddings nötig
Laufzeitabhänigkeit nur
mcp>=1.0, alles andere ist Python-StandardbibliothekStart < 1 Sekunde, Speicher < 50 MB
Mit vs. Ohne
Ohne github-code-rag | Mit github-code-rag | |
Vor dem Schreiben von Code GitHub durchsuchen | Manuell im Browser suchen | KI sucht automatisch und verwendet direkt wieder |
Code-Quelle | KI schreibt aus dem Gedächtnis | Beste Implementierung aus 200+ Millionen GitHub-Repositories auswählen |
Code-Qualität | Hängt komplett vom KI-Modell ab | Auf den Schultern von Open-Source-Giganten |
Quellenangabe | Weiß nicht, von wem kopiert wurde | Automatische Angabe |
Jede neue Funktion | Von Grund auf neu beginnen | Lokale Wissensdatenbank wächst stetig |
GitHub-Ratenbegrenzung | — | Offizielle Suchseite als Fallback, unbegrenztes Kontingent |
Schnellstart
1. Installation
# 推荐:pipx 一键安装(隔离环境)
pipx install github-code-rag
# 或者 uv
uv tool install github-code-rag
# 或者 pip
pip install github-code-rag2. Token konfigurieren (optional, aber empfohlen)
export GITHUB_TOKEN=ghp_your_token_hereOhne Token funktioniert es auch – der integrierte Fallback auf die offizielle GitHub-Suchseite bietet kostenloses unbegrenztes Kontingent. Mit Token erhöht sich das GitHub-API-Kontingent von 60 Anfragen/Stunde auf 5000 Anfragen/Stunde.
3. In deinem KI-Client konfigurieren
Siehe Abschnitt „Client-Konfiguration" unten.
4. Teste es
Sag nach der Installation zu deiner KI:
„Schreib mir eine FastAPI JWT-Authentifizierungs-Middleware. Such zuerst auf GitHub nach der besten Implementierung als Referenz"
Schau, ob sie zuerst GitHub durchsucht und dir dann basierend auf dem gefundenen Code etwas schreibt.
Client-Konfiguration
Die folgenden Konfigurationen verwenden alle den stdio-Modus. Starte den Client nach der Konfiguration neu. Installationspfad unsicher? Führe
which github-code-rag(macOS/Linux) oderwhere github-code-rag(Windows) aus.
Claude Code
Bearbeite ~/.claude.json und füge hinzu:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Claude Desktop
Öffne Einstellungen → Developer → Edit Config und füge hinzu:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}macOS Konfigurationsdatei:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows Konfigurationsdatei:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
Projektweite Konfiguration (nur aktuelles Projekt): Erstelle .cursor/mcp.json im Projektstammverzeichnis:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}Globale Konfiguration: Einstellungen → MCP → Add new server → Stdio → Befehl eingeben github-code-rag
Windsurf
Einstellungen → MCP Servers → Add MCP Server, stdio-Modus auswählen, Befehl eingeben:
github-code-ragDie Konfigurationsdatei befindet sich normalerweise unter:
macOS:
~/.codeium/windsurf/mcp_config.jsonWindows:
%APPDATA%\..\Roaming\Codeium\Windsurf\mcp_config.json
Cline / Roo Code
Einstellungen → MCP Servers → Add new MCP Server → Local executable, eingeben:
Command: github-code-ragOder direkt die Konfigurationsdatei bearbeiten:
Cline:
~/.cline/mcp.jsonRoo Code:
~/.roo-code/mcp.json
Codex CLI
Bearbeite ~/.codex/config.toml und füge hinzu:
[mcp_servers.github-code-rag]
command = "github-code-rag"OpenCode
Bearbeite den mcp servers-Abschnitt in der OpenCode-Konfigurationsdatei:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}Alle Clients, die das MCP-Protokoll unterstützen, können verwendet werden. Wenn dein Client nicht in der obigen Liste ist, ist die Konfiguration im Grunde gleich – setze den Befehl auf
github-code-rag.
Werkzeugliste
Werkzeug | Beschreibung |
| Offizielle GitHub-API-Suche nach Repositories, sortiert nach Sternen |
| Offizielle GitHub-Suchseite als Fallback, kostenloses unbegrenztes Kontingent |
| Verzeichnisstruktur eines Repositories durchsuchen |
| Dateiinhalt lesen, automatisch in der lokalen Wissensdatenbank indizieren |
| FTS5-Volltextsuche im bereits gelesenen Code |
| Suchverlauf für ähnliche Projekte abfragen |
| Status des lokalen Index anzeigen |
| Datenbank-Tabellenstruktur und Datensatzanzahl anzeigen |
| Historische Daten bereinigen, Speicherplatz freigeben |
Funktionsweise
┌───────────────────────────────────────────────────────────┐
│ 你的 AI 客户端 │
│ (Claude Code / Cursor / Codex / Claude Desktop / ...) │
└───────────────────────────┬───────────────────────────────┘
│ MCP protocol (stdio)
┌───────────────────────────▼───────────────────────────────┐
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 系统提示词(需求分析 Agent 方法论) │ │
│ │ · 先搜再问 · 逐步收敛 · 复用优先 │ │
│ └───────────────────────┬─────────────────────────┘ │
│ │ 指导 AI 怎么用工具 │
│ ┌───────────────────────▼─────────────────────────┐ │
│ │ 9 个 MCP 工具 │ │
│ │ 搜索 / 浏览 / 阅读 / 搜索代码 / 历史 / 管理 │ │
│ └───────────┬───────────────────────────┬─────────┘ │
│ │ │ │
│ ┌────────────▼───────────┐ ┌───────────▼──────────┐ │
│ │ GitHub REST API │ │ SQLite + FTS5 │ │
│ │ + GitHub 搜索页兜底 │ │ 本地代码知识库 │ │
│ │ 零 git clone │ │ Trigram 全文搜索 │ │
│ └────────────────────────┘ └──────────────────────┘ │
│ │
└───────────────────────────────────────────────────────────┘Warum FTS5 und nicht Vektordatenbank?
FTS5 (wir verwenden es) | Vektorsuche | |
Suche nach Funktions-/Klassennamen / Schlüsselwörtern | Präzise | Semantische Abweichung |
Suche nach „Wie implementiert man Authentifizierung" | Nicht geeignet | Möglich |
Zusätzliche Abhängigkeiten | Null (in SQLite integriert) | Vektordatenbank + Embedding-Modell |
Download-Größe | < 1 MB | Dutzende bis Hunderte MB |
Suchlatenz | < 10 ms | Dutzende bis Hunderte ms |
Unsere Lösung: Zweistufige Suche. Zuerst mit der GitHub-Suche das richtige Repository finden (löst „Welches Projekt ist eine Referenz wert?"), dann mit FTS5 präzise im Repository nach Code suchen (löst „Wo genau ist die Implementierung?").
Vektorsuche? Für Code-Wiederverwendungsszenarien ist das oft eine überverkaufte Lösung. Wenn du nach Code suchst, denkst du an „Wie verwende ich sessionmaker" oder „Wie schreibe ich eine JWT-Middleware", nicht an „Dinge, die semantisch nah an Authentifizierung sind".
Vergleich mit ähnlichen Projekten
Funktion | github-code-rag | codedb | codebase-rag | Offizielles GitHub MCP |
Öffentlichen GitHub-Code zur Wiederverwendung durchsuchen | ✅ | ❌ (nur lokal) | ✅ (benötigt clone) | ✅ |
Kein git clone | ✅ | N/A | ❌ | ✅ |
Lokaler Code-Index (FTS5) | ✅ | ✅ (Zig Eigenentwicklung) | ✅ (FTS5 + Vektor) | ❌ |
Kostenloser Such-Fallback (GitHub-Suchseite) | ✅ | ❌ | ❌ | ❌ |
Anforderungsanalyse-Agent-Führung | ✅ (kostenlos dazu) | ❌ | ❌ | ❌ |
Methodik zur erzwungenen Code-Wiederverwendung | ✅ (kostenlos dazu) | ❌ | ❌ | ❌ |
Suchverlauf / Kategorisierung | ✅ | ❌ | ❌ | ❌ |
Anzahl externer Abhängigkeiten | 1 (mcp) | 0 (einzelne Binärdatei) | Viele (Bun + ONNX) | Viele |
Startzeit | < 1 s | Sehr schnell | Langsamer | Schnell |
Zusammenfassung der Unterschiede in einem Satz:
codedb / codebase-rag = Werkzeuge zur lokalen Codesuche
Offizielles GitHub MCP = GitHub-Allzweckwerkzeugkasten
github-code-rag = Spezialwerkzeug zum Kopieren von GitHub-Code + kostenlose Anforderungsanalyse-Methodik
Projektstruktur
├── server/
│ └── mcp_server.py # MCP 服务器 + 系统提示词
├── github/
│ └── connector.py # GitHub API 封装(纯 urllib,零依赖)
├── core/
│ ├── models.py # 数据模型
│ └── retrieval_engine.py # FTS5 搜索引擎
├── storage/
│ └── sqlite_storage.py # SQLite + FTS5 + WAL + 触发器同步
├── tests/
│ ├── test_retrieval.py
│ └── test_storage.py
├── .well-known/mcp.json # SSE 模式配置
└── pyproject.tomlEntwicklung
# 克隆
git clone https://github.com/suyu-creator/github-code-rag-mcp.git
cd github-code-rag-mcp
# 安装依赖
uv sync
# 运行测试
uv run pytest
# 手动启动(stdio 模式)
uv run github-code-ragUmgebungsvariablen:
GITHUB_TOKEN=ghp_xxx # GitHub API Token(推荐)
CODE_RAG_DATA_DIR=~/.code-rag # 数据存储目录FAQ
Welche MCP-Clients werden unterstützt?
Alle, die das MCP-Protokoll unterstützen – Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Codex, Gemini CLI, OpenCode… Solange es MCP-Server konfigurieren kann, funktioniert es.
Wird mein Code hochgeladen?
Nein. Alle Indizes werden lokal in SQLite gespeichert. Die GitHub-API wird nur zum Lesen öffentlicher Repositories verwendet, dein Code wird nicht nach außen gesendet.
Warum nicht einfach gh CLI verwenden?
Weil MCP-Werkzeuge für die KI transparent sein müssen – die KI muss nicht wissen, welche CLI du installiert hast, sie muss nur die Werkzeuge aufrufen können. Außerdem ist es eine reine Python-Implementierung ohne Systemabhängigkeiten.
Was passiert bei Ratenbegrenzung der GitHub-API?
Automatische Herabstufung auf die offizielle GitHub-Suchseite, kostenloses unbegrenztes Kontingent, keine zusätzliche Konfiguration nötig. Die Erfahrung ist etwas schlechter, aber es funktioniert trotzdem.
Wird Vektorsuche hinzugefügt?
Möglich, aber nicht die aktuelle Priorität. Unsere Positionierung ist „schnell den richtigen Code zur Wiederverwendung finden", die zweistufige Suche mit FTS5 + GitHub-Suche deckt bereits 90% der Szenarien ab. Der tatsächliche Nutzen der Vektorsuche in Code-Wiederverwendungsszenarien ist nicht so groß, wie die Marketingtexte behaupten.
Mitwirken
Fehler gefunden → Issue eröffnen
Neue Ideen → Zuerst ein Issue zur Diskussion eröffnen
Code beitragen → Fork + PR
Gefällt es dir → Gib einen Stern, damit es mehr Leute sehen
English
In One Sentence
An MCP server that lets your AI search and reuse code from GitHub in real time. Writing auth? Search first. Writing middleware? Search first. Writing payment integration? Search first. Before AI writes any code, it finds the best implementation on GitHub — no reinventing the wheel. Also includes a "requirements analysis Agent" methodology so AI researches before building, no guessing.
The Problem
Does this sound familiar?
"Needed an auth module, spent 30 mins Googling, found code of questionable quality."
"There are great implementations on GitHub, but the AI never searches — it just writes from scratch."
"Every new feature feels like reinventing the wheel when answers are everywhere."
The problem is how AI codes today.
Current: AI wants to write → guesses from memory → wrong → rewrite → still wrong
Better: AI wants to write → searches GitHub → finds the best → reuses → tweaks → donegithub-code-rag puts GitHub inside your AI's toolbox. Search first, reuse second.
Core Capabilities
🔥 Real-time GitHub code search & reuse
Sorted by stars, finds the most mature projects first. Filter by language and star count.
User: Write a FastAPI database connection module
↓
AI: search_github("fastapi sqlalchemy database stars:>1000")
AI: read_github_file("tiangolo/fastapi", "docs_src/sql_app/main.py")
AI: search_code("create_engine sessionmaker")
↓
AI: I referenced the FastAPI official example, here you go:
# Source: tiangolo/fastapi/docs_src/sql_app/main.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
...No browser switching, no cloning repos, no dozens of tabs. Your AI searches GitHub on the fly while coding, finds the best implementation, reuses it.
📚 Read code auto-indexes, gets better over time
All read repos go into a local FTS5 full-text index. Next time you search for related code, results come back in milliseconds.
→ search_code("jwt authentication middleware")
Found 47 matches across 12 indexed repos:
- fastapi/.../auth.py:35 JWT bearer middleware
- django/.../auth.py:128 Token authentication
- ...The more you use it, the bigger your local code knowledge base gets, the faster AI codes.
🔄 GitHub API + official search page dual fallback
GitHub Search API: highest quality, sorted by stars (60 req/hr free, 5000 with Token)
GitHub official search page fallback: free unlimited quota, auto-degrade on rate limit
Zero git clone: all via REST API, no local disk bloat
🧠 Bonus: Requirements Analysis Agent
The system prompt hardcodes a workflow so AI doesn't jump straight into coding. It searches similar projects first, asks clarifying questions based on real examples, and only starts building after confirmation.
User: I want to build a blog system
↓
AI: [searched 10 relevant projects]
Do you want a standalone blog (like Hugo/Hexo) or a multi-user platform?
- Standalone blog (simple, great SEO)
- Multi-user platform (complex features, needs admin backend)
- Recommend based on GitHub projectsThink of it as "a senior engineer's methodology — included for free." You don't have to use it. The code search alone is worth it.
⚡ Zero git clone · Zero vector DB · Only 1 dependency
All via GitHub REST API — no repo cloning needed
SQLite + FTS5 full-text index — no vector DB or embeddings
Runtime depends only on
mcp>=1.0, everything else is Python stdlibStartup < 1 second, memory < 50MB
With vs Without
Ohne github-code-rag | Mit github-code-rag | |
GitHub vor dem Programmieren durchsuchen | Manuell im Browser | KI erledigt es automatisch |
Codequelle | Aus dem Modellgedächtnis | Das Beste aus über 200 Millionen GitHub-Repos |
Codequalität | Hängt von der Modellfähigkeit ab | Auf den Schultern der Open-Source-Gemeinschaft |
Quellenangabe | Keine Ahnung, wer was geschrieben hat | Automatisch getaggt |
Jede neue Funktion | Beginnt bei Null | Die lokale Wissensdatenbank wächst ständig weiter |
GitHub-Ratenbegrenzung | — | Offizieller Suchseiten-Fallback, unbegrenzt |
Schnellstart
1. Installation
# Recommended: pipx (isolated environment)
pipx install github-code-rag
# Or uv
uv tool install github-code-rag
# Or pip
pip install github-code-rag2. Token konfigurieren (optional, aber empfohlen)
export GITHUB_TOKEN=ghp_your_token_hereFunktioniert auch ohne Token – integrierter offizieller GitHub-Suchseiten-Fallback, kostenlos und unbegrenzt. Mit einem Token steigt das GitHub-API-Kontingent von 60 Anfragen/Std. auf 5000 Anfragen/Std.
3. KI-Client konfigurieren
Siehe Abschnitt „Client-Einrichtung“ unten.
4. Versuchen Sie dies
Sagen Sie Ihrer KI nach der Installation:
„Schreibe eine FastAPI JWT-Auth-Middleware. Durchsuche zuerst GitHub nach der besten Implementierung, auf die du dich beziehen kannst.“
Beobachten Sie, ob sie vor dem Schreiben von Code GitHub durchsucht.
Client-Einrichtung
Alle Konfigurationen verwenden den stdio-Modus. Starten Sie Ihren Client nach der Konfiguration neu. Sie sind sich nicht sicher über den Installationspfad? Führen Sie
which github-code-rag(macOS/Linux) oderwhere github-code-rag(Windows) aus.
Claude Code
Bearbeiten Sie ~/.claude.json und fügen Sie hinzu:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Claude Desktop
Einstellungen → Entwickler → Konfiguration bearbeiten, hinzufügen:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}macOS-Konfigurationspfad:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows-Konfigurationspfad:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
Projektebene (nur aktuelles Projekt): Erstellen Sie .cursor/mcp.json im Projektstamm:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}Global: Einstellungen → MCP → Neuen Server hinzufügen → Stdio → github-code-rag eingeben
Windsurf
Einstellungen → MCP-Server → MCP-Server hinzufügen, stdio-Modus wählen, Befehl:
github-code-ragSpeicherorte der Konfigurationsdateien:
macOS:
~/.codeium/windsurf/mcp_config.jsonWindows:
%APPDATA%\..\Roaming\Codeium\Windsurf\mcp_config.json
Cline / Roo Code
Einstellungen → MCP-Server → Neuen MCP-Server hinzufügen → Lokale ausführbare Datei, eingeben:
Command: github-code-ragOder Konfigurationsdateien direkt bearbeiten:
Cline:
~/.cline/mcp.jsonRoo Code:
~/.roo-code/mcp.json
Codex CLI
Bearbeiten Sie ~/.codex/config.toml und fügen Sie hinzu:
[mcp_servers.github-code-rag]
command = "github-code-rag"OpenCode
Bearbeiten Sie den mcp-Server-Abschnitt in der OpenCode-Konfiguration:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}Jeder MCP-kompatible Client funktioniert. Wenn Ihr Client oben nicht aufgeführt ist, ist die Einrichtung im Grunde gleich – zeigen Sie mit
commandaufgithub-code-rag.
Werkzeugliste
Werkzeug | Beschreibung |
| Offizielle GitHub-API-Reposuche, sortiert nach Sternen |
| Offizieller GitHub-Suchseiten-Fallback, kostenloses unbegrenztes Kontingent |
| Repo-Verzeichnisstruktur durchsuchen |
| Dateiinhalt lesen, automatisch in lokale Wissensdatenbank indizieren |
| FTS5-Volltextsuche über indizierten Code |
| Suchverlauf nach ähnlichen Projekten durchsuchen |
| Lokalen Indexstatus anzeigen |
| Datenbankschema und Datensatzanzahlen überprüfen |
| Verlaufsdaten bereinigen, Speicherplatz freigeben |
So funktioniert es
┌───────────────────────────────────────────────────────────┐
│ Your AI Client │
│ (Claude Code / Cursor / Codex / Claude Desktop / ...) │
└───────────────────────────┬───────────────────────────────┘
│ MCP protocol (stdio)
┌───────────────────────────▼───────────────────────────────┐
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ System Prompt (Requirements Analysis Agent) │ │
│ │ · Search first · Iterative narrowing │ │
│ │ · Reuse-first · One question at a time │ │
│ └───────────────────────┬─────────────────────────┘ │
│ │ Guides AI tool usage │
│ ┌───────────────────────▼─────────────────────────┐ │
│ │ 9 MCP Tools │ │
│ │ search / browse / read / code search / history │ │
│ └───────────┬───────────────────────────┬─────────┘ │
│ │ │ │
│ ┌────────────▼───────────┐ ┌───────────▼──────────┐ │
│ │ GitHub REST API │ │ SQLite + FTS5 │ │
│ │ + GitHub search page │ │ Local code KB │ │
│ │ Zero git clone │ │ Trigram FTS │ │
│ └────────────────────────┘ └──────────────────────┘ │
│ │
└───────────────────────────────────────────────────────────┘Warum FTS5 und nicht Vektordatenbanken?
FTS5 (was wir verwenden) | Vektorsuche | |
Funktion/Klasse/Schlüsselwort-Suche | Präzise | Semantische Drift |
„Wie implementiert man Auth“ | Nein | Ja |
Zusätzliche Abhängigkeiten | Null (SQLite integriert) | Vektordatenbank + Einbettungsmodell |
Downloadgröße | < 1 MB | Zehn bis hunderte MB |
Suchlatenz | < 10 ms | Zehn bis hunderte ms |
Unser Ansatz: Zweiphasensuche. Zuerst GitHub-Suche verwenden, um die richtigen Repos zu finden („welches Projekt ist es wert, referenziert zu werden“), dann FTS5 verwenden, um Code innerhalb der Repos zu lokalisieren („wo ist die Implementierung“).
Vektorsuche? Für die Wiederverwendung von Code ist sie oft eine überbewertete Lösung. Wenn Sie Code suchen, denken Sie „wie verwende ich sessionmaker“ oder „wie schreibe ich JWT-Middleware“ – nicht „semantisch ähnliche Dinge zur Authentifizierung.“
Vergleich
Funktion | github-code-rag | codedb | codebase-rag | Offizielles GitHub MCP |
Öffentlichen GitHub-Code suchen & wiederverwenden | ✅ | ❌ (nur lokal) | ✅ (benötigt Klon) | ✅ |
Kein Git-Klon | ✅ | N/V | ❌ | ✅ |
Lokale Codeindizierung (FTS5) | ✅ | ✅ (Zig benutzerdefiniert) | ✅ (FTS5 + Vektor) | ❌ |
Kostenloser Such-Fallback (GitHub-Seite) | ✅ | ❌ | ❌ | ❌ |
Anforderungsanalyse-Agent | ✅ (Bonus) | ❌ | ❌ | ❌ |
Verbindliche Wiederverwendungsmethodik | ✅ (Bonus) | ❌ | ❌ | ❌ |
Suchverlauf / Kategorien | ✅ | ❌ | ❌ | ❌ |
Externe Abhängigkeiten | 1 (mcp) | 0 (einzelne Binärdatei) | Viele (Bun + ONNX) | Viele |
Startzeit | < 1 s | Sehr schnell | Langsam | Schnell |
In einem Satz:
codedb / codebase-rag = Werkzeuge zum Durchsuchen von lokalem Code
Offizielles GitHub MCP = Schweizer Taschenmesser für GitHub
github-code-rag = speziell für die Wiederverwendung von GitHub-Code entwickelt + Bonus-Methodik-Agent
Projektstruktur
├── server/
│ └── mcp_server.py # MCP server + system prompt
├── github/
│ └── connector.py # GitHub API wrapper (pure urllib, zero deps)
├── core/
│ ├── models.py # Data models
│ └── retrieval_engine.py # FTS5 search engine
├── storage/
│ └── sqlite_storage.py # SQLite + FTS5 + WAL + trigger sync
├── tests/
│ ├── test_retrieval.py
│ └── test_storage.py
├── .well-known/mcp.json # SSE mode config
└── pyproject.tomlEntwicklung
# Clone
git clone https://github.com/suyu-creator/github-code-rag-mcp.git
cd github-code-rag-mcp
# Install dependencies
uv sync
# Run tests
uv run pytest
# Manual start (stdio mode)
uv run github-code-ragUmgebungsvariablen:
GITHUB_TOKEN=ghp_xxx # GitHub API Token (recommended)
CODE_RAG_DATA_DIR=~/.code-rag # Data storage directoryFAQ
Welche MCP-Clients werden unterstützt?
Alle MCP-kompatiblen Clients – Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Codex, Gemini CLI, OpenCode … jeder Client, der einen MCP-Server konfigurieren kann, funktioniert.
Wird mein Code hochgeladen?
Nein. Alle Indizes werden in lokaler SQLite gespeichert. Die GitHub-API liest nur öffentliche Repos. Ihr Code verlässt niemals Ihren Rechner.
Warum nicht einfach die gh CLI verwenden?
Weil MCP-Werkzeuge für die KI transparent sein sollten – sie muss nicht wissen, welche CLI Sie installiert haben, sie ruft einfach Werkzeuge auf. Außerdem reine Python-Implementierung, keine Systemabhängigkeiten.
Was passiert, wenn das GitHub-API ratenbegrenzt ist?
Automatische Degradierung auf die offizielle GitHub-Suchseite. Kostenlos, unbegrenztes Kontingent, keine zusätzliche Konfiguration erforderlich. Die Erfahrung ist leicht beeinträchtigt, aber es funktioniert nie nicht.
Werdet ihr Vektorsuche hinzufügen?
Vielleicht, aber das ist nicht die aktuelle Priorität. Unser Fokus liegt auf „schnell den richtigen Code zum Wiederverwenden finden.“ Die Zweiphasensuche (GitHub-Suche + FTS5) deckt bereits 90 % der Anwendungsfälle ab. Der tatsächliche Nutzen der Vektorsuche für die Code-Wiederverwendung ist nicht so groß, wie das Marketing behauptet.
Mitwirken
Fehler gefunden → Issue eröffnen
Neue Idee → zuerst ein Issue zur Diskussion eröffnen
Code-Beitrag → Fork + PR
Finden Sie es nützlich → Stern geben, helfen Sie, dass mehr Leute es entdecken
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceSelf-hosted MCP server for indexing and searching code repositories via hybrid search and deep code understanding.718MIT
- AlicenseNot gradedqualityDmaintenanceIntelligent code search MCP server with AST analysis, call graphs, dependency tracking, and semantic embeddings for developers.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server for semantic code search and dependency graph analysis. Indexes codebases into a knowledge graph with vector embeddings for AI-powered code understanding.9MIT
- AlicenseAqualityAmaintenanceMCP server for semantic code search with AST-aware chunking, hybrid vectors, and query syntax.111Apache 2.0
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for static security analysis of Android source code
A MCP server built for developers enabling Git based project management with project and personal…
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/suyu-creator/github-code-rag-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server