Skip to main content
Glama

Kibana MCP Server

by TocharianOU

Kibana MCP-Server

API-Spezifikation

Dieses Projekt basiert auf der offiziellen Elastic Kibana API-Dokumentation und verwendet die OpenAPI YAML-Spezifikation von Elastic Stack 8.x (ES8), um alle Kibana API-Endpunkte dynamisch abzurufen und zu verwalten. Aktuelle Informationen finden Sie in der Kibana API-Dokumentation .

Eine Kibana MCP-Serverimplementierung, die jedem MCP-kompatiblen Client (wie z. B. Claude Desktop) den Zugriff auf Ihre Kibana-Instanz über natürliche Sprache oder programmgesteuerte Anfragen ermöglicht.

Dieses Projekt wird von der Community gepflegt und ist kein offizielles Produkt von Elastic oder MCP.


Merkmale

  • Stellen Sie eine Verbindung zu lokalen oder Remote-Kibana-Instanzen her
  • Sichere Authentifizierung (Benutzername/Passwort)
  • Unterstützung für SSL/TLS und benutzerdefinierte CA-Zertifikate
  • Stellt Kibana-API-Endpunkte sowohl als Tools als auch als Ressourcen bereit
  • Suchen, Anzeigen und Ausführen von Kibana-APIs von MCP-Clients
  • Typsicher, erweiterbar und einfach zu integrieren

Verzeichnisstruktur

├── index.ts # Server entry point ├── src/ │ ├── types.ts # Type definitions and schemas │ ├── base-tools.ts # Tool registration and API logic │ ├── prompts.ts # Prompt registration (expert & resource helper) │ └── resources.ts # Resource registration (API paths/URIs) ├── kibana-openapi-source.yaml # Kibana API OpenAPI index ├── README.md # English documentation ├── README_zh.md # Chinese documentation

Ressourcen

Ressourcen-URIBeschreibung
kibana-api://pathsGibt alle verfügbaren Kibana-API-Endpunkte zurück (kann mit search gefiltert werden)
kibana-api://path/{method}/{encoded_path}Gibt Details für einen bestimmten API-Endpunkt zurück

Beispiele:

  • kibana-api://paths?search=saved_objects
  • kibana-api://path/GET//api/status

Werkzeuge

WerkzeugnameBeschreibungEingabeparameter
get_statusAktuellen Status des Kibana-Servers abrufenKeiner
execute_apiFühren Sie eine benutzerdefinierte Kibana-API-Anfrage ausmethod (GET/POST/PUT/DELETE), path (Zeichenfolge), body (optional), params (optional)
search_kibana_api_pathsKibana-API-Endpunkte nach Stichwort durchsuchensearch (Zeichenfolge)
list_all_kibana_api_pathsAlle Kibana-API-Endpunkte auflistenKeiner
get_kibana_api_detailAbrufen von Details zu einem bestimmten Kibana-API-Endpunktmethod (Zeichenfolge), path (Zeichenfolge)

Eingabeaufforderungen

EingabeaufforderungsnameBeschreibung
kibana-tool-expertDer Tool-Expertenmodus (sehr empfohlen in Claude Desktop) unterstützt die intelligente Analyse, Suche, Ausführung und Erklärung von Kibana-APIs über Tools. Empfohlen für die meisten Benutzer.
kibana-resource-helperDer Ressourcen-Hilfsmodus erläutert den Zugriff auf und die Nutzung von Kibana-API-Informationen über Ressourcen-URIs. Geeignet für Clients, die nur Ressourcenzugriff unterstützen oder reine API-Metadaten benötigen.

Konfiguration

Konfigurieren Sie den Server über Umgebungsvariablen:

VariablennameBeschreibungErforderlich
KIBANA_URLKibana-Serveradresse (z. B. http://localhost:5601 )Ja
KIBANA_USERNAMEKibana-BenutzernameJa
KIBANA_PASSWORDKibana-PasswortJa
KIBANA_CA_CERTCA-Zertifikatspfad (optional, zur SSL-Verifizierung)NEIN
KIBANA_TIMEOUTAnforderungs-Timeout in ms (Standard 30000)NEIN
KIBANA_MAX_RETRIESMaximale Anzahl erneuter Anfragen (Standard: 3)NEIN
NODE_TLS_REJECT_UNAUTHORIZEDAuf 0 setzen, um die SSL-Zertifikatsvalidierung zu deaktivieren (mit Vorsicht verwenden)NEIN

Verwendung

Starten Sie den Server

KIBANA_URL=http://your-kibana-server:5601 \ KIBANA_USERNAME=your-username \ KIBANA_PASSWORD=your-password \ NODE_TLS_REJECT_UNAUTHORIZED=0 \ npm start

Beispiel für eine MCP-Clientkonfiguration

Fügen Sie der Claude Desktop-Konfigurationsdatei hinzu (MacOS-Pfad: ~/Library/Application Support/Claude/claude_desktop_config.json ):

{ "mcpServers": { "kibana-mcp-server": { "command": "node", "args": ["/path/to/mcp-server-kibana/dist/index.js"], "env": { "KIBANA_URL": "http://your-kibana-server:5601", "KIBANA_USERNAME": "your-username", "KIBANA_PASSWORD": "your-password", "NODE_TLS_REJECT_UNAUTHORIZED": "0" } } } }

Beispielabfragen

  • „Wie ist der Status meines Kibana-Servers?“
  • „Listet alle verfügbaren Kibana-API-Endpunkte auf.“
  • „Details für den Endpunkt POST /api/saved_objects/_find anzeigen.“
  • „Führen Sie eine benutzerdefinierte API-Anforderung für /api/status aus.“
  • „Holen Sie sich eine Liste aller Dashboards in Kibana.“
  • „Fragen Sie API-Endpunkte ab, die sich auf Endpunktereignisse beziehen.“
  • „Listen Sie alle fallbezogenen API-Endpunkte auf.“
  • „Erstellen Sie einen neuen Fall in Kibana.“
  • „Erstellen Sie ein neues Dashboard in Kibana.“

Zwei Eingabeaufforderungsmodi in Claude Desktop

Bei Verwendung dieses Servers mit Claude Desktop werden zwei verschiedene Eingabeaufforderungsinteraktionsmodi unterstützt:

1. Toolbasierter Eingabeaufforderungsmodus

  • So funktioniert es: Claude Desktop kann Server-Tools (wie get_status , execute_api , search_kibana_api_paths usw.) direkt aufrufen, um Ihre Fragen zu beantworten oder Aktionen auszuführen.
  • Am besten geeignet für: Benutzer, die eine dialogorientierte, geführte Erfahrung wünschen. Der Server sucht, führt aus und erklärt automatisch Kibana-APIs.
  • Beispiel: „Alle Kibana-API-Endpunkte anzeigen, die mit gespeicherten Objekten in Zusammenhang stehen.“
  • Testtipp: Wählen Sie für Integrationstests die Eingabeaufforderung kibana-tool-expert in Claude Desktop aus und beginnen Sie dann mit der Verwendung.

2. Ressourcenbasierter Eingabeaufforderungsmodus

  • So funktioniert es: Claude Desktop interagiert mit dem Server über Ressourcen-URIs (wie etwa kibana-api://paths oder kibana-api://path/GET//api/status ), und der Server gibt strukturierte Daten zurück, die Claude analysieren kann.
  • Am besten geeignet für: Fortgeschrittene Benutzer, MCP-Clients, die nur Ressourcenzugriff unterstützen, oder Programmierszenarien, die Roh-API-Metadaten benötigen.
  • Beispiel: „Get resource kibana-api://paths?search=dashboard“

Hinweis: Die beiden Endpunkte in resources ( kibana-api://paths und kibana-api://path/{method}/{encoded_path} ) verfügen über entsprechende Basistools ( list_all_kibana_api_paths , get_kibana_api_detail ). Dieses Design gewährleistet die Kompatibilität mit MCP-Clients, die nicht mehrere Ressourcen intelligent auswählen können, und erleichtert Tools wie Claude Desktop die Interaktion mit Kibana.

Tipp: Den meisten Benutzern wird empfohlen, den Tool-Modus zu verwenden, um ein natürlicheres und leistungsstärkeres Erlebnis zu erzielen. Der Ressourcenmodus bietet maximale Flexibilität für erweiterte und kompatible Anwendungsfälle.


Entwicklung

Installieren Sie Abhängigkeiten:

npm install

Erstellen Sie den Server:

npm run build

Automatischer Neuaufbau im Entwicklungsmodus:

npm run watch

Debuggen

Da der MCP-Server über stdio kommuniziert, kann das Debuggen umständlich sein. Es wird empfohlen, MCP Inspector zu verwenden:

npm run inspector

Nach dem Start stellt Inspector eine über den Browser zugängliche URL für ein Debugging-Tool bereit.


Gemeinschaft

Dieses Projekt wird von der Community betreut. Beiträge und Feedback sind willkommen! Bitte seien Sie in Ihrer gesamten Kommunikation respektvoll und offen und beachten Sie den Verhaltenskodex der Elastic-Community .


Lizenz

Dieses Projekt ist unter der Apache-Lizenz 2.0 lizenziert. Weitere Informationen finden Sie in der Datei LICENSE .


Fehlerbehebung

  • Überprüfen Sie, ob die MCP-Konfiguration korrekt ist
  • Stellen Sie sicher, dass die Kibana-Adresse zugänglich ist
  • Überprüfen Sie, ob die Authentifizierungsberechtigungen über ausreichende Berechtigungen verfügen.
  • Wenn Sie eine benutzerdefinierte Zertifizierungsstelle verwenden, stellen Sie sicher, dass der Zertifikatspfad korrekt und lesbar ist
  • Wenn Sie NODE_TLS_REJECT_UNAUTHORIZED=0 verwenden, beachten Sie die Sicherheitsrisiken
  • Überprüfen Sie die im Terminal ausgegebenen Fehlermeldungen
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Kibana MCP-Server

  1. Merkmale
    1. Verzeichnisstruktur
      1. Ressourcen
        1. Werkzeuge
          1. Eingabeaufforderungen
            1. Konfiguration
              1. Verwendung
                1. Starten Sie den Server
                2. Beispiel für eine MCP-Clientkonfiguration
              2. Beispielabfragen
                1. Zwei Eingabeaufforderungsmodi in Claude Desktop
                  1. Toolbasierter Eingabeaufforderungsmodus
                  2. Ressourcenbasierter Eingabeaufforderungsmodus
                2. Entwicklung
                  1. Debuggen
                    1. Gemeinschaft
                      1. Lizenz
                        1. Fehlerbehebung

                          Related MCP Servers

                          View all related MCP servers

                          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/TocharianOU/mcp-server-kibana'

                          If you have feedback or need assistance with the MCP directory API, please join our Discord server