codebase-rag-mcp
codebase-rag-mcp
Ein Model Context Protocol (MCP)-Server, der jede lokale Codebasis in eine durchsuchbare, zitiergestützte Wissensbasis verwandelt. Basierend auf einem hybriden Retriever (dense FAISS + sparse BM25), einem optionalen Reranker und einem austauschbaren LLM-Anbieter (NVIDIA, Groq, OpenRouter, Gemini oder einem beliebigen lokalen OpenAI-kompatiblen Endpunkt).
Status: Nur Grundgerüst. Das Paket lässt sich installieren, die CLI läuft, und der MCP-Server startet und bietet ein Platzhalter-
ping-Tool an. Die RAG-Pipeline (Erfassung → Parsing → Chunking → Indexierung → Abruf → Reranking → Generierung) wird schrittweise auf diesem Gerüst aufgebaut. SieheDECISIONS.mdundFLOW.md.
Installation
Erfordert Python 3.11+.
# Editable install with dev tooling (pytest, ruff, mypy)
pip install -e ".[dev]"Dies umfasst tree-sitter, FAISS (CPU), rank-bm25, sentence-transformers, langchain-huggingface / langchain-community, das offizielle MCP-Python-SDK und httpx für ausgehende Anbieteraufrufe.
Related MCP server: Grounded Code MCP
Konfiguration
Kopieren Sie die Beispiel-Umgebungsdatei und füllen Sie die Anbieterschlüssel aus, die Sie haben:
cp .env.example .env
# then edit .envErkannte Variablen (siehe .env.example für die vollständige Liste):
Variable | Zweck |
| NVIDIA NIM / Build-API |
| Groq Cloud |
| OpenRouter (Multi-Provider-Proxy) |
| Google Gemini (optional) |
| OpenAI-kompatibler lokaler Server (Ollama, vLLM, LM Studio, ...) |
| Modellname für die Verwendung mit dem lokalen Server |
| Optionaler Bearer-Token für den lokalen Server |
|
|
| Wo aufgenommene Korpora liegen (Standard |
| Wo FAISS-/BM25-Artefakte gespeichert werden (Standard |
Ausführen
# Print the version
codebase-rag --version
# Boot the MCP server over stdio (advertises a 'ping' tool today)
codebase-rag serveEntwicklung
ruff check . # lint
ruff format --check . # format check
mypy # type-check
pytest # testsEin vorkonfigurierter GitHub-Actions-Workflow unter .github/workflows/ci.yml führt alle vier bei jedem Push aus.
Aufbau
src/codebase_rag_mcp/
config.py # python-dotenv loader
cli/main.py # `codebase-rag` entrypoint
mcp/server.py # stdio MCP server (stub)
ingestion/ # file discovery (TBD)
parser/ # tree-sitter AST extraction (TBD)
chunker/ # AST-aware chunking (TBD)
indexing/
vector.py # FAISS dense index (TBD)
bm25.py # rank-bm25 sparse index (TBD)
retrieval/ # hybrid query routing (TBD)
reranker/ # cross-encoder / LLM reranker (TBD)
generation/
providers/ # NVIDIA / Groq / OpenRouter / Gemini / local (TBD)
citations/ # chunk → source citations (TBD)
impact/ # symbol-graph impact analysis (TBD)Lizenz
MIT. Siehe LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Repository knowledge graph MCP server for codebase understanding and debugging.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA local MCP server that provides AI coding assistants with semantic search capabilities over codebases. It indexes code using local embeddings and exposes tools for efficient code retrieval, saving tokens and improving response quality.31 npm4MIT
- AlicenseNot gradedqualityDmaintenanceA local MCP server that gives AI coding assistants retrieval access to your personal knowledge base of books, standards, and docs, grounding their answers in sources you trust.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for team documentation and knowledge bases, enabling semantic search over documentation files using local embeddings.MIT
- AlicenseNot gradedqualityDmaintenanceA knowledge base MCP server backed by Qdrant vector database with local embeddings for semantic search and document management.4 npm1ISC