Skip to main content
Glama

mcp-lucene-server

Apache 2.0
  • Linux
  • Apple

MCP Lucene Сервер

Описание

MCP Lucene Server — это Java-реализация Model Context Protocol (MCP), разработанная для предоставления эффективных возможностей поиска и извлечения с использованием Apache Lucene. Этот сервер позволяет управлять документами и запрашивать их, используя мощные функции индексации и поиска Lucene. Он создан с использованием Spring Boot для легкой настройки и развертывания.

Функции

  • Соответствие 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 или с помощью переменных среды.

Пример application.properties :

server.port=8080 lucene.index.path=/путь/к/lucene/index

Лицензия

Данный проект лицензирован под лицензией Apache 2.0 .

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

mcp-lucene-сервер

  1. Описание
    1. Функции
      1. Оглавление
        1. Начиная
          1. Предпосылки
          2. Установка
          3. Запуск сервера
        2. Использование
          1. Конечные точки API
          2. Примеры
        3. Конфигурация
          1. Лицензия

            Related MCP Servers

            View all related MCP servers

            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