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:
git clone [https://github.com/your-username/mcp-lucene-server.git](https://github.com/your-username/mcp-lucene-server.git) cd mcp-lucene-server(Ersetzen Sie
your-username
durch Ihren GitHub-Benutzernamen)Erstellen Sie das Projekt mit Maven:
mvn clean install
Ausführen des Servers
Ohne Docker
Führen Sie die Spring Boot-Anwendung aus:
java -jar target/mcp-lucene-server-0.0.1-SNAPSHOT.jar(Der genaue Name der
.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:
docker build -t mcp-lucene-server .Führen Sie den Docker-Container aus:
docker run -p 8080:8080 mcp-lucene-serverDadurch wird Port
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:
{ "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
Fragt den Lucene-Index ab.
Anforderungstext:
{ "queries": [ { "query": "document", "top_k": 10, "filter": { "language": "english" } }, { "query": "text search", "filter": { "category": "example" } } ] }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:
{ "ids": ["doc1", "doc2"] }
GET /mcp/v1/list
Listet Dokumente aus dem Lucene-Index auf.
Anforderungstext:
{ "ids": ["doc1", "doc2"] }
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
server.port=8080 lucene.index.path=/Pfad/zu/lucene/index
Lizenz
Dieses Projekt ist unter der Apache 2.0-Lizenz lizenziert.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
mcp-lucene-server
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that provides LLMs access to other LLMsLast updated -1667MIT License
- MIT License
- AGPL 3.0
- Apache 2.0