Scholar RAG MCP — MCP-сервер для Claude Code
Складывает научные PDF в локальную базу знаний и даёт агенту искать по ним: семантический поиск, чтение по разделам, добавление и удаление статей.
claude mcp add --env SCHOLAR_RAG_DATA_DIR=<SCHOLAR_RAG_DATA_DIR> --env SCHOLAR_RAG_CHAT_BASE_URL=<SCHOLAR_RAG_CHAT_BASE_URL> --env SCHOLAR_RAG_EMBED_BASE_URL=<SCHOLAR_RAG_EMBED_BASE_URL> --env SCHOLAR_RAG_RERANK_BASE_URL=<SCHOLAR_RAG_RERANK_BASE_URL> --transport stdio scholar-rag-mcp -- uvx scholar-rag-mcpЧто делает Scholar RAG MCP
Scholar RAG MCP принимает папку с PDF-статьями и прогоняет каждую через разбор MinerU: извлекает метаданные, размечает разделы, режет текст на куски и считает эмбеддинги. Всё лежит в Qdrant — либо в автоматически запущенном экземпляре, либо во внешнем. Дальше агент ищет по кускам, фильтрует по doc_id, section, year или journal и читает полный текст постранично.
Наружу торчат 11 инструментов по stdio: list_kbs, create_kb, delete_kb, add_document, remove_document, get_document, get_document_text, list_documents, search_documents, search_chunks, get_job. Создание базы и добавление статей идут фоновыми задачами, прогресс виден через get_job, а прерванную загрузку можно перезапустить — она продолжится. Чтение отдаёт сначала оглавление, страницы по запросу, поэтому контекст не раздувается.
Перед запуском нужны три OpenAI-совместимых эндпоинта: chat, embed и rerank. Без них сервер не заработает, а переменные SCHOLAR_RAG_CHAT_MODEL, SCHOLAR_RAG_EMBED_MODEL и SCHOLAR_RAG_RERANK_MODEL обязательны — скрипт запуска моделей просто выходит с сообщением. Готовый scripts/serve_models.sh тянет vLLM и работает только на Linux с CUDA; на Windows и macOS придётся указать свои серверы вроде Ollama или LM Studio. Реранк-эндпоинт должен отдавать /v1/rerank, иначе остаётся режим только с эмбеддингами.
Какие задачи решает
- собрать локальную базу знаний из папки научных PDF
- найти нужный фрагмент статьи по смыслу, а не по ключевым словам
- прочитать статью по разделам, не забивая контекст целиком
- добавить или убрать одну статью из уже собранной базы
- отфильтровать выдачу по году, журналу или разделу
Примеры запросов агенту
- Создай базу знаний
papersи загрузи в неё все PDF из папки./articles - Найди в базе
papersкуски про методы оценки и покажи, из каких статей они взяты - Покажи оглавление документа
doc_id=42, потом открой раздел про эксперименты
Как установить Scholar RAG MCP
Командой платформы
claude mcp add --env SCHOLAR_RAG_DATA_DIR=<SCHOLAR_RAG_DATA_DIR> --env SCHOLAR_RAG_CHAT_BASE_URL=<SCHOLAR_RAG_CHAT_BASE_URL> --env SCHOLAR_RAG_EMBED_BASE_URL=<SCHOLAR_RAG_EMBED_BASE_URL> --env SCHOLAR_RAG_RERANK_BASE_URL=<SCHOLAR_RAG_RERANK_BASE_URL> --transport stdio scholar-rag-mcp -- uvx scholar-rag-mcpВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scholar-rag-mcp <команда>
Командой платформы
codex mcp add scholar-rag-mcp --env SCHOLAR_RAG_DATA_DIR=<SCHOLAR_RAG_DATA_DIR> --env SCHOLAR_RAG_CHAT_BASE_URL=<SCHOLAR_RAG_CHAT_BASE_URL> --env SCHOLAR_RAG_EMBED_BASE_URL=<SCHOLAR_RAG_EMBED_BASE_URL> --env SCHOLAR_RAG_RERANK_BASE_URL=<SCHOLAR_RAG_RERANK_BASE_URL> -- uvx scholar-rag-mcpВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scholar-rag-mcp <команда>
Файл настроек
{
"mcpServers": {
"scholar-rag-mcp": {
"command": "uvx",
"args": [
"scholar-rag-mcp"
],
"env": {
"SCHOLAR_RAG_DATA_DIR": "<SCHOLAR_RAG_DATA_DIR>",
"SCHOLAR_RAG_CHAT_BASE_URL": "<SCHOLAR_RAG_CHAT_BASE_URL>",
"SCHOLAR_RAG_EMBED_BASE_URL": "<SCHOLAR_RAG_EMBED_BASE_URL>",
"SCHOLAR_RAG_RERANK_BASE_URL": "<SCHOLAR_RAG_RERANK_BASE_URL>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scholar-rag-mcp <команда>
Файл настроек
{
"servers": {
"scholar-rag-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"scholar-rag-mcp"
],
"env": {
"SCHOLAR_RAG_DATA_DIR": "<SCHOLAR_RAG_DATA_DIR>",
"SCHOLAR_RAG_CHAT_BASE_URL": "<SCHOLAR_RAG_CHAT_BASE_URL>",
"SCHOLAR_RAG_EMBED_BASE_URL": "<SCHOLAR_RAG_EMBED_BASE_URL>",
"SCHOLAR_RAG_RERANK_BASE_URL": "<SCHOLAR_RAG_RERANK_BASE_URL>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scholar-rag-mcp <команда>
Командой платформы
gemini mcp add -e SCHOLAR_RAG_DATA_DIR=<SCHOLAR_RAG_DATA_DIR> -e SCHOLAR_RAG_CHAT_BASE_URL=<SCHOLAR_RAG_CHAT_BASE_URL> -e SCHOLAR_RAG_EMBED_BASE_URL=<SCHOLAR_RAG_EMBED_BASE_URL> -e SCHOLAR_RAG_RERANK_BASE_URL=<SCHOLAR_RAG_RERANK_BASE_URL> scholar-rag-mcp uvx scholar-rag-mcpВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scholar-rag-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Scholar RAG MCP
Как установить Scholar RAG MCP в Claude Code?
Одной командой: `claude mcp add scholar-rag-mcp -e SCHOLAR_RAG_CHAT_BASE_URL=<SCHOLAR_RAG_CHAT_BASE_URL> -e SCHOLAR_RAG_EMBED_BASE_URL=<SCHOLAR_RAG_EMBED_BASE_URL> -e SCHOLAR_RAG_RERANK_BASE_URL=<SCHOLAR_RAG_RERANK_BASE_URL> -- uvx scholar-rag-mcp`. Подставьте свои адреса эндпоинтов вместо плейсхолдеров.
Что делает Scholar RAG MCP?
Разбирает научные PDF, режет их на куски с эмбеддингами и кладёт в Qdrant. Через 11 инструментов агент ищет по базе, читает статьи по разделам и управляет самими базами.
Что нужно для работы сервера?
Три OpenAI-совместимых сервиса: chat, embed и rerank. Переменные с именами моделей обязательны, а реранк-эндпоинт должен поддерживать /v1/rerank.