hw_rag_mcp
Allows searching over Wikipedia articles indexed in the knowledge base.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hw_rag_mcpsearch for AI ethics documents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
HW RAG + MCP Knowledge Base
Проект строит базу знаний, индексирует ее в Chroma и открывает поиск по базе через MCP-инструмент search_docs.
1. Установка зависимостей
cd hw_rag_mcp
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txtRelated MCP server: quick-mcp-example
2. Переменные окружения
Создайте .env из примера:
cp .env.example .envЗаполните .env:
GIGACHAT_CREDENTIALS=...
GIGACHAT_SCOPE=GIGACHAT_API_PERS
GIGACHAT_MODEL=GigaChat-2-Max
GIGACHAT_EMBEDDINGS=EmbeddingsGigaR
SOURCE_FETCH_TIMEOUT=303. Подготовка корпуса
Корпус скачивается автоматически в src/ingest.py из открытых источников:
PDF Банка России: кодекс этики ИИ на финансовом рынке.
Web-страница Банка России: искусственный интеллект на финансовом рынке.
Wikipedia: статья "Искусственный интеллект".
Wikipedia: статья "Искусственный интеллект в проектах Викимедиа".
Дополнительно скачивать файлы вручную не нужно.
4. Разбиение и индексация
Запустите ingestion:
python src/ingest.pyСкрипт:
скачивает корпус;
очищает текст;
разбивает документы на фрагменты;
добавляет метаданные
document_id,chunk_id,source;считает embeddings через
EmbeddingsGigaR;сохраняет индекс в Chroma collection
course_rag.
После успешного запуска появится папка:
data/chroma_db/5. Запуск MCP-сервера
MCP-сервер находится в src/mcp_server.py.
python src/mcp_server.pyСервер использует stdio transport. В обычном сценарии его запускает MCP-клиент, например src/agent_demo.py.
Пример MCP-конфигурации:
{
"knowledge_base": {
"transport": "stdio",
"command": "python3",
"args": ["src/mcp_server.py"]
}
}Публикуемые возможности:
resource
kb://corpus/stats;tool
search_docs(query, k);tool
search_by_source(source_id, query, k).
6. Демонстрационный запрос
Проверка поиска напрямую через Chroma:
python src/search_demo.py --k 3Проверка поиска через агента и MCP:
python src/agent_demo.pyВ выводе agent_demo.py должно быть видно:
MCP tools загружены;
агент вызвал
search_docs;результат содержит top-k фрагменты с
document_id,chunk_id,sourceиscore.
7. Проверка на 15 запросах
Список запросов:
eval/eval_queries.csvЗапуск проверки:
python src/eval_search.pyСкрипт создает:
eval/eval_results.jsonl
eval/eval_report.mdeval_report.md содержит top-k результаты, ожидаемый источник, признак попадания в top-3 и краткую ручную оценку.
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote ChromaDB vector database MCP server with streamable HTTP transport
MCP server for querying Forkast documentation
Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context14265MIT
- FlicenseNot gradedqualityDmaintenanceDemonstrates an MCP server with tools, resources, and prompts for a knowledgebase chatbot that queries a ChromaDB vector database for RAG responses.62-
- FlicenseNot gradedqualityAmaintenanceMCP server for searching, reading, listing, writing, and appending Markdown wiki content using RAG with ChromaDB.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).2837MIT