Skip to main content
Glama
VivekKumarNeu

mcp-lucene-server

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.

Установка

  1. Клонируйте репозиторий:

    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)

  2. Соберите проект с помощью Maven:

    mvn clean install

Запуск сервера

Без Докера

  1. Запустите приложение Spring Boot:

    java -jar target/mcp-lucene-server-0.0.1-SNAPSHOT.jar

    (Точное имя файла .jar может немного отличаться в зависимости от версии вашего проекта.)

  2. По умолчанию сервер запустится на порту 8080 .

С Докером

  1. Убедитесь, что у вас установлен Docker: следуйте инструкциям на официальном сайте Docker: https://docs.docker.com/get-docker/

  2. Создайте образ Docker: перейдите в корневой каталог вашего проекта в терминале и выполните:

    docker build -t mcp-lucene-server .
  3. Запустите 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"] }

Примеры

Получить статус сервера:

curl http://localhost:8080/mcp/v1/status

Вставить документы:

curl -X POST http://localhost:8080/mcp/v1/upsert -H 'Content-Type: application/json' -d '{ "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" } } ] }'

Запросить документы:

curl -X POST http://localhost:8080/mcp/v1/query -H 'Content-Type: application/json' -d '{ "queries": [ { "query": "document text", "top_k": 5, "filter": { "language": "english" } } ] }'

Удалить документы:

curl -X POST http://localhost:8080/mcp/v1/delete -H 'Content-Type: application/json' -d '{ "ids": ["doc1"] }'

Список документов:

curl -X POST http://localhost:8080/mcp/v1/list -H 'Content-Type: application/json' -d '{ "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 .

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/VivekKumarNeu/MCP-Lucene-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server