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.
Related MCP server: Kibana MCP Server
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
git clone https://github.com/silbaram/elasticsearch-mcp-server.git
cd elasticsearch-mcp-server2. 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.
elasticsearch:
version: "8.6.1" # Specifies the version of the Elasticsearch cluster to connect to.
search:
hosts:
- http://localhost:9200 # Specifies the access address of the Elasticsearch cluster.3. Bauen
Verwenden Sie den folgenden Befehl, um das Projekt zu erstellen:
./gradlew buildDie 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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/silbaram/elasticsearch-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
