MCP Lucene Сервер
Описание
MCP Lucene Server — это Java-реализация Model Context Protocol (MCP), разработанная для предоставления эффективных возможностей поиска и извлечения с использованием Apache Lucene. Этот сервер позволяет управлять документами и запрашивать их, используя мощные функции индексации и поиска Lucene. Он создан с использованием Spring Boot для легкой настройки и развертывания.
Related MCP server: Mercado Livre MCP Server
Функции
Соответствие MCP: реализует основной протокол контекста модели.
Lucene-Powered: использует Apache Lucene для полнотекстового поиска и индексации.
RESTful API: предоставляет RESTful API для взаимодействия с сервером.
Управление документами:
Upsert: добавление или обновление документов в индексе Lucene.
Удалить: удалить документы из индекса Lucene.
Список: Извлечь список документов из индекса.
Запрос:
Поддерживает сложные запросы с использованием синтаксиса запросов Lucene.
Фильтрация: Фильтрация запросов на основе метаданных документа.
Статус: Проверьте статус сервера.
Spring Boot: создан на основе Spring Boot для легкой настройки и развертывания.
Dockerization: содержит инструкции по контейнеризации приложения с использованием Docker.
Оглавление
Начиная
Предпосылки
Java: Java 11 или выше.
Maven: Maven 3.6.0 или выше.
Docker: установите Docker, если вы планируете использовать образ Docker.
Установка
Клонируйте репозиторий:
git clone [https://github.com/your-username/mcp-lucene-server.git](https://github.com/your-username/mcp-lucene-server.git) cd mcp-lucene-server(Замените
your-usernameна ваше имя пользователя GitHub)Соберите проект с помощью Maven:
mvn clean install
Запуск сервера
Без Докера
Запустите приложение Spring Boot:
java -jar target/mcp-lucene-server-0.0.1-SNAPSHOT.jar(Точное имя файла
.jarможет немного отличаться в зависимости от версии вашего проекта.)По умолчанию сервер запустится на порту
8080.
С Докером
Убедитесь, что у вас установлен Docker: следуйте инструкциям на официальном сайте Docker: https://docs.docker.com/get-docker/
Создайте образ Docker: перейдите в корневой каталог вашего проекта в терминале и выполните:
docker build -t mcp-lucene-server .Запустите Docker-контейнер:
docker run -p 8080:8080 mcp-lucene-serverЭто сопоставит порт
8080на вашем хост-компьютере с портом8080внутри контейнера.
Использование
Конечные точки API
Сервер предоставляет следующие конечные точки API:
GET /mcp/v1/statusВозвращает статус сервера.
POST /mcp/v1/upsertВставляет (вставляет или обновляет) один или несколько документов.
Текст запроса:
{ "documents": [ { "id": "doc1", "text": "This is the text of document 1.", "metadata": { "category": "example", "language": "english" } }, { "id": "doc2", "text": "This is document 2's text.", "metadata": { "category": "sample", "language": "spanish" } } ] }
POST /mcp/v1/queryЗапрашивает индекс Lucene.
Текст запроса:
{ "queries": [ { "query": "document", "top_k": 10, "filter": { "language": "english" } }, { "query": "text search", "filter": { "category": "example" } } ] }query: строка запроса Lucene.top_k: (Необязательно) Максимальное количество возвращаемых результатов (по умолчанию: 10).filter: (Необязательно) Карта полей метаданных и значений для фильтрации.
POST /mcp/v1/deleteУдаляет документы из индекса Lucene.
Текст запроса:
{ "ids": ["doc1", "doc2"] }
GET /mcp/v1/listПеречисляет документы из индекса Lucene.
Текст запроса:
{ "ids": ["doc1", "doc2"] }
Примеры
Получить статус сервера:
Вставить документы:
Запросить документы:
Удалить документы:
Список документов:
Конфигурация
Сервер можно настроить с помощью свойств приложения Spring Boot. Вот некоторые из ключевых свойств:
server.port: порт, который прослушивает сервер (по умолчанию: 8080).lucene.index.path: Путь к каталогу индекса Lucene. Здесь хранятся индексированные данные. Если не задано, используется местоположение по умолчанию. Настоятельно рекомендуется настроить его на постоянное место хранения.
Эти свойства можно задать в файле application.properties или application.yml в каталоге src/main/resources или с помощью переменных среды.
Пример
server.port=8080 lucene.index.path=/путь/к/lucene/index
Лицензия
Данный проект лицензирован под лицензией Apache 2.0 .