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.
MCP Lucene Server
Beschreibung
Der MCP Lucene Server ist eine Java-basierte Implementierung des Model Context Protocol (MCP) und bietet effiziente Such- und Abfragefunktionen mit Apache Lucene. Mit diesem Server können Sie Dokumente verwalten und abfragen und dabei die leistungsstarken Indexierungs- und Suchfunktionen von Lucene nutzen. Er basiert auf Spring Boot und ermöglicht so eine einfache Einrichtung und Bereitstellung.
Merkmale
- MCP-Konformität: Implementiert das zentrale Model Context Protocol.
- Lucene-basiert: Verwendet Apache Lucene für die Volltextsuche und Indizierung.
- RESTful API: Bietet eine RESTful API für die Interaktion mit dem Server.
- Dokumentenmanagement:
- Upsert: Dokumente im Lucene-Index hinzufügen oder aktualisieren.
- Löschen: Dokumente aus dem Lucene-Index löschen.
- Liste: Ruft eine Liste von Dokumenten aus dem Index ab.
- Abfragen:
- Unterstützt komplexe Abfragen mit der Lucene-Abfragesyntax.
- Filtern: Filtern Sie Abfragen basierend auf Dokumentmetadaten.
- Status: Überprüfen Sie den Serverstatus.
- Spring Boot: Erstellt mit Spring Boot für einfache Einrichtung und Bereitstellung.
- Dockerisierung: Enthält Anweisungen zum Containerisieren der Anwendung mit Docker.
Inhaltsverzeichnis
Erste Schritte
Voraussetzungen
- Java: Java 11 oder höher.
- Maven: Maven 3.6.0 oder höher.
- Docker: Installieren Sie Docker , wenn Sie das Docker-Image verwenden möchten.
Installation
- Klonen Sie das Repository:(Ersetzen SieCopy
your-username
durch Ihren GitHub-Benutzernamen) - Erstellen Sie das Projekt mit Maven:Copy
Ausführen des Servers
Ohne Docker
- Führen Sie die Spring Boot-Anwendung aus:(Der genaue Name derCopy
.jar
Datei kann je nach Projektversion leicht abweichen.) - Der Server wird standardmäßig auf Port
8080
gestartet.
Mit Docker
- Stellen Sie sicher, dass Sie Docker installiert haben: Folgen Sie den Anweisungen auf der offiziellen Docker-Website: https://docs.docker.com/get-docker/
- Erstellen Sie das Docker-Image: Navigieren Sie in Ihrem Terminal zum Stammverzeichnis Ihres Projekts und führen Sie Folgendes aus:Copy
- Führen Sie den Docker-Container aus:Dadurch wird PortCopy
8080
auf Ihrem Hostcomputer dem Port8080
innerhalb des Containers zugeordnet.
Verwendung
API-Endpunkte
Der Server stellt die folgenden API-Endpunkte bereit:
GET /mcp/v1/status
- Gibt den Status des Servers zurück.
POST /mcp/v1/upsert
- Upserts (fügt ein oder aktualisiert) ein oder mehrere Dokumente.
- Anforderungstext:Copy
POST /mcp/v1/query
- Fragt den Lucene-Index ab.
- Anforderungstext:Copy
query
: Die Lucene-Abfragezeichenfolge.top_k
: (Optional) Die maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 10).filter
: (Optional) Eine Karte mit Metadatenfeldern und Werten, nach denen gefiltert werden soll.
POST /mcp/v1/delete
- Löscht Dokumente aus dem Lucene-Index.
- Anforderungstext:Copy
GET /mcp/v1/list
- Listet Dokumente aus dem Lucene-Index auf.
- Anforderungstext:Copy
Beispiele
Serverstatus abrufen:
Upsert-Dokumente:
Dokumente abfragen:
Dokumente löschen:
Dokumente auflisten:
Konfiguration
Der Server kann mithilfe der Anwendungseigenschaften von Spring Boot konfiguriert werden. Hier sind einige der wichtigsten Eigenschaften:
server.port
: Der Port, auf dem der Server lauscht (Standard: 8080).lucene.index.path
: Der Pfad zum Lucene-Indexverzeichnis. Hier werden die indexierten Daten gespeichert. Falls nicht angegeben, wird ein Standardspeicherort verwendet. Es wird dringend empfohlen, einen persistenten Speicherort zu konfigurieren.
Sie können diese Eigenschaften in einer Datei application.properties
oder application.yml
in Ihrem Verzeichnis src/main/resources
oder mithilfe von Umgebungsvariablen festlegen.
Beispiel application.properties
:
server.port=8080 lucene.index.path=/Pfad/zu/lucene/index
Lizenz
Dieses Projekt ist unter der Apache 2.0-Lizenz lizenziert.
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