Integrations
Utilizes Apache Lucene for full-text search and indexing capabilities, enabling efficient document management, complex querying with Lucene query syntax, and document filtering based on metadata.
Supports containerization of the application using Docker, with instructions for building and running the server as a Docker container.
Built with Spring Boot for application setup and deployment, providing RESTful API endpoints for document management operations including upsert, delete, list, and query functionalities.
Servidor MCP Lucene
Descripción
El servidor MCP Lucene es una implementación basada en Java del Protocolo de Contexto de Modelo (MCP), diseñado para proporcionar funciones eficientes de búsqueda y recuperación mediante Apache Lucene. Este servidor permite gestionar y consultar documentos, aprovechando las potentes funciones de indexación y búsqueda de Lucene. Está desarrollado con Spring Boot para facilitar su configuración e implementación.
Características
- Cumplimiento de MCP: implementa el protocolo de contexto de modelo principal.
- Impulsado por Lucene: utiliza Apache Lucene para búsqueda e indexación de texto completo.
- API RESTful: proporciona una API RESTful para interactuar con el servidor.
- Gestión de documentos:
- Upsert: agrega o actualiza documentos en el índice de Lucene.
- Eliminar: elimina documentos del índice de Lucene.
- Lista: recupera una lista de documentos del índice.
- Consultando:
- Admite consultas complejas utilizando la sintaxis de consulta de Lucene.
- Filtrado: Filtrar consultas en función de los metadatos del documento.
- Estado: Verifique el estado del servidor.
- Spring Boot: desarrollado con Spring Boot para una fácil configuración e implementación.
- Dockerización: incluye instrucciones para contenerizar la aplicación usando Docker.
Tabla de contenido
Empezando
Prerrequisitos
- Java: Java 11 o superior.
- Maven: Maven 3.6.0 o superior.
- Docker: instale Docker si planea utilizar la imagen de Docker.
Instalación
- Clonar el repositorio:(ReemplaceCopy
your-username
con su nombre de usuario de GitHub) - Construya el proyecto usando Maven:Copy
Ejecución del servidor
Sin Docker
- Ejecute la aplicación Spring Boot:(El nombre exacto del archivoCopy
.jar
puede variar levemente dependiendo de la versión de su proyecto). - El servidor se iniciará en el puerto
8080
de forma predeterminada.
Con Docker
- Asegúrese de tener Docker instalado: siga las instrucciones en el sitio web oficial de Docker: https://docs.docker.com/get-docker/
- Construya la imagen de Docker: navegue al directorio raíz de su proyecto en su terminal y ejecute:Copy
- Ejecute el contenedor Docker:Esto asignará el puertoCopy
8080
en su máquina host al puerto8080
dentro del contenedor.
Uso
Puntos finales de API
El servidor proporciona los siguientes puntos finales de API:
GET /mcp/v1/status
- Devuelve el estado del servidor.
POST /mcp/v1/upsert
- Upserts (inserta o actualiza) uno o más documentos.
- Cuerpo de la solicitud:Copy
POST /mcp/v1/query
- Consulta el índice de Lucene.
- Cuerpo de la solicitud:Copy
query
: La cadena de consulta de Lucene.top_k
: (opcional) El número máximo de resultados a devolver (predeterminado: 10).filter
: (opcional) Un mapa de campos de metadatos y valores para filtrar.
POST /mcp/v1/delete
- Elimina documentos del índice de Lucene.
- Cuerpo de la solicitud:Copy
GET /mcp/v1/list
- Enumera documentos del índice de Lucene.
- Cuerpo de la solicitud:Copy
Ejemplos
Obtener el estado del servidor:
Insertar documentos:
Consulta de documentos:
Eliminar documentos:
Lista de documentos:
Configuración
El servidor se puede configurar mediante las propiedades de la aplicación Spring Boot. Estas son algunas de las propiedades clave:
server.port
: el puerto en el que escucha el servidor (predeterminado: 8080).lucene.index.path
: La ruta al directorio de índice de Lucene. Aquí se almacenan los datos indexados. Si no se configura, se utiliza una ubicación predeterminada. Se recomienda configurarla como una ubicación de almacenamiento persistente.
Puede configurar estas propiedades en un archivo application.properties
o application.yml
en su directorio src/main/resources
, o mediante variables de entorno.
Ejemplo application.properties
:
servidor.puerto=8080 lucene.index.path=/ruta/a/lucene/index
Licencia
Este proyecto está licenciado bajo la licencia Apache 2.0 .
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that provides search and crawl functionality using Search1API.Last updated -5206111TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.Last updated -1TypeScriptMIT License
- AsecurityAlicenseAqualityProvides an MCP protocol interface for interacting with Elasticsearch 7.x databases, supporting comprehensive search functionality including aggregations, highlighting, and sorting.Last updated -31PythonApache 2.0
- -securityFlicense-qualityAn MCP server that integrates with SerpApi to retrieve search results from multiple search engines including Google, Bing, Yahoo, and others, enabling fast access to both live and archived search data.Last updated -Python