Elasticsearch MCP-Server
Einführung
Der Elasticsearch Model Context Protocol (MCP) Server ist eine Serveranwendung, die auf Basis von Spring AI MCP entwickelt wurde. Sie ist darauf ausgelegt, verschiedene Datenverarbeitungs-Workflows über MCP einfach zu definieren und die Ergebnisse in einem Elasticsearch-Cluster effizient zu indizieren und zu durchsuchen.
Hauptmerkmale
Automatische Registrierung und Ausführung von MCP-Tools : Mit der
@Tool-Annotation in einer Spring Boot-Umgebung definierte Funktionen werden automatisch beim MCP-Server registriert. Dadurch können externe Clients (z. B. Claude, FastMCP CLI) diese Funktionen über die standardmäßige JSON-RPC-basierte Kommunikation aufrufen.Elasticsearch-Cluster-Integration : Verwendet den offiziellen Elasticsearch-Java-Client, um wichtige Elasticsearch-APIs wie Cluster-Integritätsprüfungen, Index-Mapping-Lookups, Dokumentindizierung und -suche einfach aufzurufen, und stellt die Ergebnisse in Form von MCP-Tools bereit.
Skalierbare Architektur : Eine modulare Paketstruktur ermöglicht die flexible Trennung und Verwaltung von Client-Einstellungen für verschiedene Elasticsearch-Versionen. Sie ist außerdem so konzipiert, dass neue Tools oder externe Integrationsfunktionen problemlos hinzugefügt werden können.
Verfügbare MCP-Tools
get_cluster_health: Gibt grundlegende Informationen zum Status des Elasticsearch-Clusters zurück.get_cluster_statistics: Ruft umfassende Clusterstatistiken ab, einschließlich Clustername, UUID, Status, Knotenrollen, Betriebssystem- und JVM-Ressourcennutzung, Indexanzahl und Shard-Metriken.get_cat_mappings: Ruft Feldzuordnungsinformationen für einen bestimmten Elasticsearch-Index ab.get_cat_indices: Ruft eine Liste aller Indizes in Elasticsearch ab.get_cat_indices_by_name: Ruft eine Liste von Indizes ab, die dem angegebenen Indexnamen oder Platzhaltermuster entsprechen.get_cat_aliases: Ruft eine Liste aller Aliase in Elasticsearch ab.get_cat_aliases_by_name: Ruft eine Liste von Aliasnamen ab, die dem angegebenen Aliasnamen oder Platzhaltermuster entsprechen.get_document_search_by_index: Sucht mithilfe einer KI-generierten QueryDSL nach Dokumenten in einem Elasticsearch-Index.get_shard_allocation: Gibt Informationen zur Shard-Zuweisung im Elasticsearch-Cluster zurück.get_shard_allocation_for_node: Gibt Informationen zur Shard-Zuweisung für einen bestimmten Knoten im Elasticsearch-Cluster zurück.
Technologie-Stack
Sprache : Java 17
Framework : Spring Boot 3.4.5, Spring AI MCP
Suchmaschine : Elasticsearch 7.16 oder höher
Build-Tool : Gradle 8.12
Voraussetzungen
Zum Erstellen und Ausführen dieses Projekts wird die folgende Software benötigt:
JDK: Version 17 oder höher
Ausführen einer Elasticsearch-Instanz: Version 7.16 oder höher
MCP-Client (z. B. Claude Desktop)
Installation und Ausführung
So richten Sie das Projekt in Ihrer lokalen Umgebung ein und führen es aus:
1. Klonen Sie den Quellcode
2. Konfigurieren Sie application.yml im mcp-server Modul
Öffnen Sie die Datei application.yml in mcp-server/src/main/resources/application.yml um Ihre Elasticsearch-Clusterinformationen einzurichten.
3. Bauen
Verwenden Sie den folgenden Befehl, um das Projekt zu erstellen:
Die erstellte JAR-Datei befindet sich im Verzeichnis
mcp-server/build/libs/.
4. MCP-Client konfigurieren
Starten Sie Ihren MCP-Client. (Eine Liste der MCP-Clients finden Sie unter MCP-Clientliste . Diese Anleitung verwendet Claude Desktop als Beispiel.)
Navigieren Sie im Einstellungsmenü Ihres MCP-Clients zu „Entwickler“ > „MCP-Server“.
Klicken Sie auf die Schaltfläche „Konfiguration bearbeiten“ und fügen Sie eine neue MCP-Serverkonfiguration mit folgendem Inhalt hinzu. (Sie müssen den tatsächlichen Pfad zur zuvor erstellten JAR-Datei verwenden.)
{ "mcpServers": { "elasticsearch-server": { "command": "java", "args": [ "-Dusername=YOUR_USERNAME", "-Dpassword=YOUR_PASSWORD", "-jar", "/path/to/your/mcp-server.jar" ] } } }-Dusername(Optional): Gibt die Benutzer-ID an, die für den Zugriff auf den Elasticsearch-Cluster erforderlich ist. (z. B.-Dusername=elastic)-Dpassword(Optional): Gibt das für den Zugriff auf den Elasticsearch-Cluster erforderliche Kennwort an. (z. B.-Dpassword=yoursecurepassword)/path/to/your/mcp-server.jar: Dies muss durch den tatsächlichen vollständigen Pfad zu Ihrer erstelltenmcp-server.jarDatei ersetzt werden.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Elasticsearch MCP-Server
Related MCP Servers
- MIT License
- MIT License
- MIT License