MCP-сервер RAGdocs — семантический поиск по документации
Сервер RAGdocs реализует протокол MCP (Model Context Protocol) и предоставляет набор инструментов для индексации, поиска и управления документацией с помощью векторного поиска. Он позволяет AI-ассистентам находить релевантные фрагменты документации по смыслу и добавлять их в контекст своих ответов.
Возможности
- Векторный поиск по документации на естественном языке
- Поддержка множества источников документации (веб-страницы)
- Семантическое ранжирование результатов
- Автоматическая обработка и индексация URL-адресов
- Управление очередью на обработку
Предварительные требования
Для работы сервера необходимы:
- Node.js (утилита
npx)
- API-ключ OpenAI (для генерации эмбеддингов)
- Экземпляр векторной базы данных Qdrant с URL и API-ключом
Установка и настройка (Claude Desktop)
Добавьте следующую конфигурацию в файл claude_desktop_config.json:
{
"mcpServers": {
"rag-docs": {
"command": "npx",
"args": [
"-y",
"@hannesrudolph/mcp-ragdocs"
],
"env": {
"OPENAI_API_KEY": "ваш_ключ",
"QDRANT_URL": "https://ваш-экземпляр.qdrant.io",
"QDRANT_API_KEY": "ваш_ключ_qdrant"
}
}
}
}
Замените значения в env на свои учётные данные.
Инструменты
Сервер предоставляет семь инструментов для работы с документацией.
search_documentation
Выполняет семантический поиск по проиндексированным документам. Возвращает фрагменты текста с контекстом, отсортированные по релевантности.
Входные параметры:
query (строка, обязательный) — поисковый запрос на естественном языке, термин или фрагмент кода.
limit (число, опционально) — максимальное количество результатов (от 1 до 20, по умолчанию 5). Большее значение даёт более полные результаты, но может работать дольше.
list_sources
Выводит список всех источников документации, которые уже проиндексированы: их URL, заголовки и время последнего обновления. Удобно для проверки, какие материалы доступны для поиска.
extract_urls
Извлекает все гиперссылки с указанной веб-страницы и (опционально) добавляет их в очередь на обработку.
Входные параметры:
url (строка, обязательный) — полный URL страницы (с протоколом, например https://...). Страница должна быть публично доступна.
add_to_queue (булево, опционально) — если true, извлечённые URL автоматически ставятся в очередь для последующей индексации. С осторожностью на больших сайтах.
remove_documentation
Удаляет указанные источники документации из базы данных по их URL. Удаление постоянно — восстановить данные можно только повторной индексацией.
Входные параметры:
urls (массив строк) — список URL для удаления. Каждый URL должен в точности совпадать с тем, который использовался при добавлении.
list_queue
Показывает URL, ожидающие обработки в очереди. Полезно для мониторинга статуса, проверки правильности добавления URL или оценки объёма необработанной документации.
run_queue
Запускает последовательную обработку и индексацию всех URL из очереди. Каждый URL обрабатывается с повторными попытками при ошибках. Выполняется, пока очередь не опустеет или не возникнет неисправимая ошибка.
clear_queue
Очищает всю очередь URL немедленно и безвозвратно. Используйте, чтобы начать с чистого листа, удалить нежелательные URL или отменить ожидающую обработку.
Сценарии использования
- Улучшение ответов AI-ассистента за счёт актуальной документации
- Создание «документированных» AI-агентов, которые могут ссылаться на конкретные источники
- Разработка инструментов с контекстной подсказкой на основе документации
- Семантический поиск по технической документации
- Дополнение существующих баз знаний
Лицензия
Сервер распространяется под лицензией MIT. Подробности — в файле LICENSE в репозитории проекта.
Благодарности
Этот проект является форком qpd-v/mcp-ragdocs, первоначально разработанного qpd-v. Оригинальный проект послужил основой для данной реализации.
Комментарии
Комментариев пока нет. Будьте первым.