K

Kibana Community

MCP server Β· by TocharianOU

Developer Tools npm v0.11.1

Kibana MCP Server with dynamic API discovery and comprehensive Elastic Stack integration

View source β†— Website β†— Generate config for multiple servers More servers

Install

registry version 0.11.1

npm
npx -y @tocharianou/mcp-server-kibana
npm
npx -y @tocharianou/mcp-server-kibana

Setup by client

Pick your client β€” the config below is generated for this server (local stdio). Copy respects the β€œPin version” switch above.

claude_desktop_config.json

{
  "mcpServers": {
    "kibana": {
      "command": "npx",
      "args": [
        "-y",
        "@tocharianou/mcp-server-kibana"
      ],
      "env": {
        "KIBANA_URL": "<YOUR_KIBANA_URL>",
        "KIBANA_API_KEY": "<YOUR_KIBANA_API_KEY>",
        "KIBANA_PASSWORD": "<YOUR_KIBANA_PASSWORD>",
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "MCP_BEARER_TOKEN": "<YOUR_MCP_BEARER_TOKEN>"
      }
    }
  }
}

Format verified against the official Claude Desktop docs β†—.

Environment variables

Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.

  • KIBANA_URL required β€” Your Kibana instance URL (e.g., http://localhost:5601)
  • KIBANA_API_KEY secret β€” Kibana API key for authentication
  • KIBANA_USERNAME β€” Kibana username for basic authentication
  • KIBANA_PASSWORD secret β€” Kibana password for basic authentication
  • MCP_TRANSPORT required β€” Transport mode selection
  • MCP_HTTP_PORT β€” HTTP server port
  • MCP_BEARER_TOKEN secret β€” Bearer token required on /mcp requests (recommended for any non-localhost bind)

Implementation status

Community implementation

Kibana MCP has not published an official MCP server as of 2026-10-16. This page lists the most popular community implementation.

Evidence β†—

Last verified: 2026-10-15 | Sources: Verification basis β†—

GitHub

⭐ 84 stars Β· ζœ€θΏ‘ζ›΄ζ–°δΊŽ 18 倩前 Β· Apache-2.0 license

About this server

Kibana MCP Server A Kibana MCP server implementation that allows any MCP-compatible client (such as Claude Desktop) to access your Kibana instance via natural language or programmatic requests. > This project is based on the official Elastic Kibana API documentation and uses the OpenAPI YAML specification from Elastic Stack 8.x. For details, see the Kibana API documentation. This project is community-maintained and is not an official product of Elastic or MCP. > πŸ’‘ Companion Project: For complete Elastic Stack integration, pair this with Elasticsearch MCP Server for direct Elasticsearch data operations. --- πŸš€ Installation From Source --- 🎯 Quick Start Claude Desktop Integration (Recommended) Add to your Claude Desktop configuration file: MacOS : /Library/Application Support/Claude/claude desktop config.json Windows : %APPDATA%\Claude\claude desktop config.json Direct CLI Usage HTTP Mode (Remote Access) Access at: Health check: Securing HTTP mode. Every session on /mcp acts with the Kibana credentials the server was started with, so treat the endpoint as sensitive: By default the server listens on localhost only and rejects requests whose Host header is not a loopback name (DNS rebinding protection). To accept remote clients, set MCP BEARER TOKEN . Clients must then send Authorization: Bearer > on every /mcp request. /health stays open. Binding to a non-loopback address ( MCP HTTP HOST=0.0.0.0 ) without MCP BEARER TOKEN logs a warning at startup: anyone who can reach the port can use your Kibana credentials. Behind a reverse proxy that forwards its public Host header to a localhost-bound server, list that hostname in MCP ALLOWED HOSTS . --- ✨ Features Core Capabilities Dual transport modes : Stdio (local) and HTTP (remote access) Multiple authentication methods : API Key, Basic Auth, Cookie-based Multi-space support : Enterprise-ready Kibana space management SSL/TLS support : Custom CA certificate configuration Session management : Automatic UUID generation for HTTP mode Dynamic API discovery : Based on official Kibana OpenAPI specification Saved Objects Management Complete CRUD operations for all Kibana saved object types Intelligent search with pagination support Bulk operations for efficient mass updates Version control with optimistic concurrency Reference management for object relationships --- πŸ”§ Configuration Required Variables Variable Description Example ---------- ------------- --------- KIBANA URL Kibana server address Authentication (choose one method) Variable Description Priority ---------- ------------- ---------- KIBANA API KEY API Key (base64 encoded) 1st KIBANA USERNAME + KIBANA PASSWORD Basic authentication 2nd KIBANA COOKIES Session cookies 3rd Optional Variables Variable Description Default ---------- ------------- --------- KIBANA DEFAULT SPACE Default Kibana space default KIBANA CA CERT CA certificate path - KIBANA TIMEOUT Request timeout (ms) 60000 MCP TRANSPORT Transport mode stdio MCP HTTP PORT HTTP server port 3000 MCP HTTP HOST HTTP server host localhost MCP BEARER TOKEN HTTP mode: require Authorization: Bearer > on /mcp - MCP ALLOWED HOSTS HTTP mode: extra hostnames accepted in the Host header (comma-separated) - NODE TLS REJECT UNAUTHORIZED Disable SSL validation 1 --- πŸ› οΈ Available Tools Base Tools get status - Get Kibana server status execute kb api - Execute custom Kibana API requests search elasticsearch - Search Elasticsearch documents and logs through Kibana's search API, within the user's Elasticsearch index privileges get available spaces - List available Kibana spaces search kibana api paths - Search API endpoints list all kibana api paths - List all API endpoints get kibana api detail - Get API endpoint details Saved Objects Tools vl search saved objects - Search saved objects (universal) vl get saved object - Get single saved object vl create saved object - Create new saved object vl update saved object - Update single saved object vl bulk update saved objects - Bulk update operations vl bulk delete saved objects - Bulk delete operations Supported Object Types: dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element Analysis Tools (v0.6.0+) analyze object dependencies - Analyze saved object dependencies analyze deletion impact - Check impact before deletion check dashboard health - Dashboard health check scan all dashboards health - Batch health scanning Elasticsearch Data Search Use search elasticsearch when you need to search documents, application logs, traces, or aggregations in Elasticsearch. It sends Query DSL through Kibana's /internal/search/es route instead of the Dev Tools Console proxy. The tool is read-only and does not widen data access: Elasticsearch enforces the configured user's index privileges on every search, exactly as it does for Discover and dashboards. Indices the user cannot read return no results. It exists because the Dev Tools Console proxy ( /api/console/proxy ) is gated by a separate Kibana privilege, since the Console can call any Elasticsearch API including write and admin endpoints. A user who can read the target indices but has no Dev Tools privilege gets 403 from the Console proxy; this tool gives that user search, and nothing more. If your Kibana administrators rely on withholding Dev Tools to block ad-hoc queries from an account, be aware that this tool allows Query DSL searches for it. Example tool arguments for a bounded log search: For high-volume logs, start with a small time window and a small size . After finding a trace or correlation id, use that value in a second narrow search instead of repeatedly scanning a broad time range. Use source to keep only fields needed for the current investigation. The tool rejects wildcard-only index segments such as , , or all (including inside comma-separated index expressions), an empty search body, and body.size above 100. String size values are coerced and validated as numbers. The endpoint is an internal Kibana API, so compatibility should be verified after major Kibana upgrades. --- πŸ“– Resources Resource URI Description -------------- ------------- kibana-api://paths List all available API endpoints kibana-api://paths?search= > Search endpoints by keyword kibana-api://path/{method}/{encoded path} Get specific endpoint details --- πŸ’¬ Example Queries Basic Operations "What is the status of my Kibana server?" "List all available Kibana spaces" "Show me all API endpoints related to dashboards" Elasticsearch & Logs "Search the production logs for errors from service X in the last hour" "Find this trace id and show the surrounding log events in chronological order" "Search index application-logs- using this Elasticsearch Query DSL" "Aggregate error counts by service for this time range" Saved Objects "Search for all dashboards" "Find visualizations containing 'nginx' in the title" "Create a new dashboard named 'Sales Overview'" "Update the description of dashboard 'my-dashboard-123'" "Delete multiple dashboards by their IDs" Health & Analysis "Check health of dashboard 'overview'" "Analyze dependencies for visualization 'viz-123'" "Scan all dashboards for health issues" --- πŸ› Troubleshooting Connection Issues Verify Kibana URL is accessible Check authentication credentials For SSL issues: NODE TLS REJECT UNAUTHORIZED=0 (use with caution) Claude Desktop Issues Restart Claude Desktop after config changes Validate JSON config syntax Check console logs for errors Common Errors "import: command not found" : Update to latest version Authentication failed : Verify credentials and permissions SSL errors : Check CA certificate or disable SSL validation 403 from /api/console/proxy while searching Elasticsearch : Use search elasticsearch . The Console proxy can require the Kibana Dev Tools privilege even when the user has permission to read the target indices. --- πŸ” Debugging Use MCP Inspector for debugging: This provides a browser-accessible debugging interface. --- πŸ“¦ Package Information NPM : @tocharianou/mcp-server-kibana GitHub : TocharianOU/mcp-server-kibana Node.js : >= 18.0.0 License : Apache 2.0 --- 🀝 Contributing This project is community-maintained. Contributions and feedback are welcome! Please follow the Elastic Community Code of Conduct in all communications. --- πŸ“„ License Apache License 2.0 - See LICENSE file for details.…

Summary from the project README β€” github.com/TocharianOU/mcp-server-kibana

Distributed as npm, listed under Developer Tools. Review our MCP security guide before granting access to real data.

Frequently asked questions

What does the Kibana MCP server do?

Kibana MCP Server A Kibana MCP server implementation that allows any MCP-compatible client (such as Claude Desktop) to access your Kibana instance via natural language or programmatic requests. > This project is based on the official Elastic Kibana API documentation and uses the OpenAPI YAML specification from Elastic Stack 8.x. For details, see the Kibana API documentation. This project is community-maintained and is not an official product of Elastic or MCP. > πŸ’‘ Companion Project: For complete Elastic Stack integration, pair this with Elasticsearch MCP Server for direct Elasticsearch data operations. --- πŸš€ Installation From Source --- 🎯 Quick Start Claude Desktop Integration (Recommended) Add to your Claude Desktop configuration file: MacOS : /Library/Application Support/Claude/claude desktop config.json Windows : %APPDATA%\Claude\claude desktop config.json Direct CLI Usage HTTP Mode (Remote Access) Access at: Health check: Securing HTTP mode. Every session on /mcp acts with the Kibana credentials the server was started with, so treat the endpoint as sensitive: By default the server listens on localhost only and rejects requests whose Host header is not a loopback name (DNS rebinding protection). To accept remote clients, set MCP BEARER TOKEN . Clients must then send Authorization: Bearer > on every /mcp request. /health stays open. Binding to a non-loopback address ( MCP HTTP HOST=0.0.0.0 ) without MCP BEARER TOKEN logs a warning at startup: anyone who can reach the port can use your Kibana credentials. Behind a reverse proxy that forwards its public Host header to a localhost-bound server, list that hostname in MCP ALLOWED HOSTS . --- ✨ Features Core Capabilities Dual transport modes : Stdio (local) and HTTP (remote access) Multiple authentication methods : API Key, Basic Auth, Cookie-based Multi-space support : Enterprise-ready Kibana space management SSL/TLS support : Custom CA certificate configuration Session management : Automatic UUID generation for HTTP mode Dynamic API discovery : Based on official Kibana OpenAPI specification Saved Objects Management Complete CRUD operations for all Kibana saved object types Intelligent search with pagination support Bulk operations for efficient mass updates Version control with optimistic concurrency Reference management for object relationships --- πŸ”§ Configuration Required Variables Variable Description Example ---------- ------------- --------- KIBANA URL Kibana server address Authentication (choose one method) Variable Description Priority ---------- ------------- ---------- KIBANA API KEY API Key (base64 encoded) 1st KIBANA USERNAME + KIBANA PASSWORD Basic authentication 2nd KIBANA COOKIES Session cookies 3rd Optional Variables Variable Description Default ---------- ------------- --------- KIBANA DEFAULT SPACE Default Kibana space default KIBANA CA CERT CA certificate path - KIBANA TIMEOUT Request timeout (ms) 60000 MCP TRANSPORT Transport mode stdio MCP HTTP PORT HTTP server port 3000 MCP HTTP HOST HTTP server host localhost MCP BEARER TOKEN HTTP mode: require Authorization: Bearer > on /mcp - MCP ALLOWED HOSTS HTTP mode: extra hostnames accepted in the Host header (comma-separated) - NODE TLS REJECT UNAUTHORIZED Disable SSL validation 1 --- πŸ› οΈ Available Tools Base Tools get status - Get Kibana server status execute kb api - Execute custom Kibana API requests search elasticsearch - Search Elasticsearch documents and logs through Kibana's search API, within the user's Elasticsearch index privileges get available spaces - List available Kibana spaces search kibana api paths - Search API endpoints list all kibana api paths - List all API endpoints get kibana api detail - Get API endpoint details Saved Objects Tools vl search saved objects - Search saved objects (universal) vl get saved object - Get single saved object vl create saved object - Create new saved object vl update saved object - Update single saved object vl bulk update saved objects - Bulk update operations vl bulk delete saved objects - Bulk delete operations Supported Object Types: dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element Analysis Tools (v0.6.0+) analyze object dependencies - Analyze saved object dependencies analyze deletion impact - Check impact before deletion check dashboard health - Dashboard health check scan all dashboards health - Batch health scanning Elasticsearch Data Search Use search elasticsearch when you need to search documents, application logs, traces, or aggregations in Elasticsearch. It sends Query DSL through Kibana's /internal/search/es route instead of the Dev Tools Console proxy. The tool is read-only and does not widen data access: Elasticsearch enforces the configured user's index privileges on every search, exactly as it does for Discover and dashboards. Indices the user cannot read return no results. It exists because the Dev Tools Console proxy ( /api/console/proxy ) is gated by a separate Kibana privilege, since the Console can call any Elasticsearch API including write and admin endpoints. A user who can read the target indices but has no Dev Tools privilege gets 403 from the Console proxy; this tool gives that user search, and nothing more. If your Kibana administrators rely on withholding Dev Tools to block ad-hoc queries from an account, be aware that this tool allows Query DSL searches for it. Example tool arguments for a bounded log search: For high-volume logs, start with a small time window and a small size . After finding a trace or correlation id, use that value in a second narrow search instead of repeatedly scanning a broad time range. Use source to keep only fields needed for the current investigation. The tool rejects wildcard-only index segments such as , , or all (including inside comma-separated index expressions), an empty search body, and body.size above 100. String size values are coerced and validated as numbers. The endpoint is an internal Kibana API, so compatibility should be verified after major Kibana upgrades. --- πŸ“– Resources Resource URI Description -------------- ------------- kibana-api://paths List all available API endpoints kibana-api://paths?search= > Search endpoints by keyword kibana-api://path/{method}/{encoded path} Get specific endpoint details --- πŸ’¬ Example Queries Basic Operations "What is the status of my Kibana server?" "List all available Kibana spaces" "Show me all API endpoints related to dashboards" Elasticsearch & Logs "Search the production logs for errors from service X in the last hour" "Find this trace id and show the surrounding log events in chronological order" "Search index application-logs- using this Elasticsearch Query DSL" "Aggregate error counts by service for this time range" Saved Objects "Search for all dashboards" "Find visualizations containing 'nginx' in the title" "Create a new dashboard named 'Sales Overview'" "Update the description of dashboard 'my-dashboard-123'" "Delete multiple dashboards by their IDs" Health & Analysis "Check health of dashboard 'overview'" "Analyze dependencies for visualization 'viz-123'" "Scan all dashboards for health issues" --- πŸ› Troubleshooting Connection Issues Verify Kibana URL is accessible Check authentication credentials For SSL issues: NODE TLS REJECT UNAUTHORIZED=0 (use with caution) Claude Desktop Issues Restart Claude Desktop after config changes Validate JSON config syntax Check console logs for errors Common Errors "import: command not found" : Update to latest version Authentication failed : Verify credentials and permissions SSL errors : Check CA certificate or disable SSL validation 403 from /api/console/proxy while searching Elasticsearch : Use search elasticsearch . The Console proxy can require the Kibana Dev Tools privilege even when the user has permission to read the target indices. --- πŸ” Debugging Use MCP Inspector for debugging: This provides a browser-accessible debugging interface. --- πŸ“¦ Package Information NPM : @tocharianou/mcp-server-kibana GitHub : TocharianOU/mcp-server-kibana Node.js : >= 18.0.0 License : Apache 2.0 --- 🀝 Contributing This project is community-maintained. Contributions and feedback are welcome! Please follow the Elastic Community Code of Conduct in all communications. --- πŸ“„ License Apache License 2.0 - See LICENSE file for details.

How do I install Kibana?

Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.

Is Kibana free to use?

The MCP server itself is free to install. The source is public on https://github.com/TocharianOU/mcp-server-kibana. Any third-party service it calls may require its own API key and account.

Which clients support Kibana?

Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.

Add this badge

Publish this server? Link back with a badge on your README or site β€” copy either snippet.

Listed on MCPNav

Markdown

[![Listed on MCPNav](https://mcpnav.net/badge/kibana.svg)](https://mcpnav.net/server/kibana/)

HTML

<a href="https://mcpnav.net/server/kibana/"><img src="https://mcpnav.net/badge/kibana.svg" alt="Listed on MCPNav" height="20"></a>