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
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
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 context15 npm265MIT
- FlicenseNot gradedqualityDmaintenanceDemonstrates an MCP server with tools, resources, and prompts for a knowledgebase chatbot that queries a ChromaDB vector database for RAG responses.63-
- 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).33 npm36MIT