codebase-rag-mcp
codebase-rag-mcp
Сервер Model Context Protocol (MCP), который превращает любую локальную кодовую базу в базу знаний с поддержкой запросов и цитирования. Построен на гибридном ретривере (плотный FAISS + разреженный BM25), опциональном реранкере и сменяемом LLM-провайдере (NVIDIA, Groq, OpenRouter, Gemini или любой локальной OpenAI-совместимой конечной точке).
Статус: только каркас. Пакет устанавливается, CLI запускается, а MCP-сервер загружается и анонсирует заглушку инструмента
ping. Конвейер RAG (приём → разбор → разбиение на чанки → индексирование → поиск → реранкинг → генерация) строится инкрементально поверх этого скелета. См.DECISIONS.mdиFLOW.md.
Установка
Требуется Python 3.11+.
# Editable install with dev tooling (pytest, ruff, mypy)
pip install -e ".[dev]"Это подтягивает tree-sitter, FAISS (CPU), rank-bm25, sentence-transformers, langchain-huggingface / langchain-community, официальный MCP Python SDK и httpx для исходящих вызовов провайдеров.
Related MCP server: Grounded Code MCP
Настройка
Скопируйте пример файла окружения и заполните ключи провайдеров, которые у вас есть:
cp .env.example .env
# then edit .envРаспознаваемые переменные (см. .env.example для полного списка):
Переменная | Назначение |
| NVIDIA NIM / build API |
| Groq Cloud |
| OpenRouter (мультипровайдерный прокси) |
| Google Gemini (необязательно) |
| Локальный OpenAI-совместимый сервер (Ollama, vLLM, LM Studio, ...) |
| Имя модели для использования на локальном сервере |
| Необязательный bearer-токен для локального сервера |
|
|
| Где хранятся принятые корпуса (по умолчанию |
| Где сохраняются артефакты FAISS / BM25 (по умолчанию |
Запуск
# Print the version
codebase-rag --version
# Boot the MCP server over stdio (advertises a 'ping' tool today)
codebase-rag serveРазработка
ruff check . # lint
ruff format --check . # format check
mypy # type-check
pytest # testsПреднастроенный GitHub Actions workflow в .github/workflows/ci.yml запускает все четыре на каждый push.
Структура
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)Лицензия
MIT. См. 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