Solr MCP сервер
MCP сервер, который предоставляет возможности поиска документов через Apache Solr, позволяя большим языковым моделям искать и извлекать документы из коллекций Solr с продвинутыми функциями, такими как фасетный поиск и подсветка результатов.
автор: Community
curl -fsSL https://vibebaza.com/i/solr-mcp | bash
MCP сервер, который предоставляет возможности поиска документов через Apache Solr, позволяя большим языковым моделям искать и извлекать документы из коллекций Solr с продвинутыми функциями, такими как фасетный поиск и подсветка результатов.
Установка
UV Package Manager
uv install
Pip
pip install -e .
Настройка виртуального окружения
python -m venv .venv
source .venv/bin/activate # On Linux/macOS
# OR
.\.venv\Scripts\activate # On Windows
Конфигурация окружения
cp .env.example .env
# Edit .env with your Solr connection details
Запуск среды разработки Solr
./start_solr.sh
Доступные инструменты
| Инструмент | Описание |
|---|---|
search |
Расширенный поиск с фильтрацией, сортировкой, пагинацией, фасетированием и подсветкой |
get_document |
Получение конкретных документов по ID |
Возможности
- MCP ресурсы для поиска документов Solr
- MCP инструменты для расширенного поиска и извлечения документов
- Поддержка фасетного поиска для исследования данных и агрегации
- Поддержка подсветки для показа где поисковые термины появляются в результатах
- Асинхронное взаимодействие с Solr используя httpx
- Типобезопасные интерфейсы с моделями Pydantic
- Поддержка аутентификации (JWT и OAuth 2.1)
- Комплексный набор тестов
- Docker-среда разработки Solr
- Нативная поддержка HTTP с потоковым HTTP транспортом
Переменные окружения
Обязательные
SOLR_BASE_URL- Базовый URL для экземпляра Apache SolrSOLR_COLLECTION- Имя коллекции Solr для поиска
Опциональные
MCP_SERVER_NAME- Имя MCP сервераMCP_SERVER_PORT- Порт для MCP сервераSOLR_USERNAME- Имя пользователя для аутентификации SolrSOLR_PASSWORD- Пароль для аутентификации SolrJWT_SECRET_KEY- Секретный ключ для аутентификации JWTJWT_ALGORITHM- Алгоритм для токенов JWTJWT_EXPIRATION_MINUTES- Время истечения токена JWT в минутахLOG_LEVEL- Уровень логирования для сервера
Примеры использования
Search for documents containing 'machine learning'
Find documents in the 'technology' category
Get documents sorted by date in descending order
Retrieve a specific document by its ID
Search with faceted results to explore data aggregations
Ресурсы
Примечания
Требует экземпляр Apache Solr. Включает настройку Docker Compose для разработки. Поддерживает OAuth 2.1 с Keycloak для продакшн развертываний. Версия 1.5.0 включает edismax многопольный поиск и функции автообновления OAuth. Всегда убеждайтесь, что виртуальное окружение активировано, чтобы избежать проблем с подключением.