PluginBench
MCP Server
Maintained
Apache-2.0

Kibana MCP Server

io.github.TocharianOU/kibana

Access and manage your Kibana instance via natural language with dynamic API discovery and Elastic Stack integration.

What is the Kibana MCP server?

The Kibana MCP Server is an MCP-compatible interface that allows Claude and other AI clients to interact with Kibana instances through natural language or programmatic requests. It provides comprehensive saved object management, API endpoint discovery, and health analysis capabilities based on the official Kibana OpenAPI specification.

This server bridges Kibana and AI agents, enabling you to query dashboards, manage visualizations, search saved objects, and analyze dependencies without leaving your chat interface. It supports multiple authentication methods, multi-space environments, and both local (stdio) and remote (HTTP) deployment modes.

How to install Kibana

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • 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

~/Library/Application Support/Claude/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_USERNAME": "<YOUR_KIBANA_USERNAME>",
        "KIBANA_PASSWORD": "<YOUR_KIBANA_PASSWORD>",
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "MCP_HTTP_PORT": "<YOUR_MCP_HTTP_PORT>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • get_status — Get Kibana server status
  • execute_kb_api — Execute custom Kibana API requests
  • 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
  • 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
  • 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

Use cases

  • Query and retrieve Kibana dashboards, visualizations, and saved objects using natural language
  • Create and update dashboards and visualizations programmatically through Claude
  • Analyze object dependencies and assess the impact of deletions before making changes
  • Perform bulk operations on multiple saved objects for efficient mass updates
  • Monitor Kibana server health and diagnose dashboard configuration issues

Kibana MCP server FAQ

What is the Kibana MCP Server?

It's an MCP server that connects Claude and other AI clients to Kibana instances, enabling natural language queries and programmatic management of dashboards, visualizations, and saved objects.

Is it free?

Yes, the Kibana MCP Server is open-source under the Apache 2.0 license and available on npm. You only need a running Kibana instance (which may be paid or self-hosted).

How do I install it in Claude Desktop?

Add the server configuration to your Claude Desktop config file with KIBANA_URL and authentication credentials (API Key, Basic Auth, or Cookies), then restart Claude.

What authentication methods are supported?

API Key (recommended), Basic Auth (username/password), and Cookie-based authentication. The server tries them in priority order.

Can I use it remotely?

Yes, set MCP_TRANSPORT=http and MCP_HTTP_PORT to expose the server over HTTP for remote access.

What Kibana versions are supported?

The server is based on Kibana OpenAPI specifications from Elastic Stack 8.x and requires Node.js >= 18.0.0.

README (reference)

Source of truth, from the repository.

MseeP.ai Security Assessment Badge

Kibana MCP Server

npm version Downloads Ask DeepWiki

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

# Global installation (recommended)
npm install -g @tocharianou/mcp-server-kibana

# Or use directly with npx
npx @tocharianou/mcp-server-kibana

From Source

git clone https://github.com/TocharianOU/mcp-server-kibana.git
cd mcp-server-kibana
npm install && npm run build

🎯 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
{
  "mcpServers": {
    "kibana": {
      "command": "npx",
      "args": ["@tocharianou/mcp-server-kibana"],
      "env": {
        "KIBANA_URL": "http://your-kibana-server:5601",
        "KIBANA_API_KEY": "your-api-key",
        "KIBANA_DEFAULT_SPACE": "default"
      }
    }
  }
}

Direct CLI Usage

# Using API Key (recommended)
KIBANA_URL=http://localhost:5601 \
KIBANA_API_KEY=your-api-key \
npx @tocharianou/mcp-server-kibana

# Using Basic Auth
KIBANA_URL=http://localhost:5601 \
KIBANA_USERNAME=your-username \
KIBANA_PASSWORD=your-password \
npx @tocharianou/mcp-server-kibana

# Using Cookie Auth
KIBANA_URL=http://localhost:5601 \
KIBANA_COOKIES="sid=xxx; security-session=yyy" \
npx @tocharianou/mcp-server-kibana

HTTP Mode (Remote Access)

MCP_TRANSPORT=http \
MCP_HTTP_PORT=3000 \
KIBANA_URL=http://localhost:5601 \
KIBANA_API_KEY=your-api-key \
npx @tocharianou/mcp-server-kibana

Access at: http://localhost:3000/mcp
Health check: http://localhost:3000/health


✨ 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

VariableDescriptionExample
KIBANA_URLKibana server addresshttp://localhost:5601

Authentication (choose one method)

VariableDescriptionPriority
KIBANA_API_KEYAPI Key (base64 encoded)1st
KIBANA_USERNAME + KIBANA_PASSWORDBasic authentication2nd
KIBANA_COOKIESSession cookies3rd

Optional Variables

VariableDescriptionDefault
KIBANA_DEFAULT_SPACEDefault Kibana spacedefault
KIBANA_CA_CERTCA certificate path-
KIBANA_TIMEOUTRequest timeout (ms)30000
MCP_TRANSPORTTransport modestdio
MCP_HTTP_PORTHTTP server port3000
MCP_HTTP_HOSTHTTP server hostlocalhost
NODE_TLS_REJECT_UNAUTHORIZEDDisable SSL validation1

🛠️ Available Tools

Base Tools

  • get_status - Get Kibana server status
  • execute_kb_api - Execute custom Kibana API requests
  • 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

📖 Resources

Resource URIDescription
kibana-api://pathsList all available API endpoints
kibana-api://paths?search=<keyword>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"

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

🔍 Debugging

Use MCP Inspector for debugging:

npm run inspector

This provides a browser-accessible debugging interface.


📦 Package Information


🤝 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.

Related MCP servers

ELElasticsearch logo

Elasticsearch

Maintained

Elasticsearch MCP Server with multi-version support (ES 5.x-9.x) and comprehensive API access

6
TypeScript
Apache-2.0
View repository →

Exact IBAN, VAT, cron, regex answers; HTML/URL to hosted PDF or screenshot; agent memory; workflows.

PUPubliar logo

Publiar

Active

Ecrit des lead magnets LinkedIn qui refusent d'inventer, rend le visuel et publie.

0
Python
MIT
View repository →

Cut 95% of framework noise and token bloat from error logs for AI agents.

6
Rust
MIT
View repository →

Delegate research, writing, analysis, and data work to vetted human experts directly from your AI assistant.

103
Python
MIT
View repository →

Peruvian public data — SUNAT RUC, BCRP FX, SEACE tenders. Sourced from official open-data.

0
TypeScript
MIT
View repository →