Connects Claude directly to your Kibana instance with full saved object CRUD, dashboard management, and API discovery based on Elastic's official OpenAPI spec. Ships with tools for searching, creating, and bulk updating dashboards, visualizations, and index patterns across multiple Kibana spaces. Supports API key, basic auth, and cookie authentication with both stdio and HTTP transports. Includes health checking and dependency analysis tools to scan dashboards before deletion. Pairs with the companion Elasticsearch MCP server for complete Elastic Stack coverage. Reach for this when you need to query dashboards, automate Kibana object management, or troubleshoot visualizations through natural language instead of clicking through the UI.
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.
# Global installation (recommended)
npm install -g @tocharianou/mcp-server-kibana
# Or use directly with npx
npx @tocharianou/mcp-server-kibana
git clone https://github.com/TocharianOU/mcp-server-kibana.git
cd mcp-server-kibana
npm install && npm run build
Add to your Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%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"
}
}
}
}
# 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
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
| Variable | Description | Example |
|---|---|---|
KIBANA_URL | Kibana server address | http://localhost:5601 |
| Variable | Description | Priority |
|---|---|---|
KIBANA_API_KEY | API Key (base64 encoded) | 1st |
KIBANA_USERNAME + KIBANA_PASSWORD | Basic authentication | 2nd |
KIBANA_COOKIES | Session cookies | 3rd |
| Variable | Description | Default |
|---|---|---|
KIBANA_DEFAULT_SPACE | Default Kibana space | default |
KIBANA_CA_CERT | CA certificate path | - |
KIBANA_TIMEOUT | Request timeout (ms) | 30000 |
MCP_TRANSPORT | Transport mode | stdio |
MCP_HTTP_PORT | HTTP server port | 3000 |
MCP_HTTP_HOST | HTTP server host | localhost |
NODE_TLS_REJECT_UNAUTHORIZED | Disable SSL validation | 1 |
get_status - Get Kibana server statusexecute_kb_api - Execute custom Kibana API requestsget_available_spaces - List available Kibana spacessearch_kibana_api_paths - Search API endpointslist_all_kibana_api_paths - List all API endpointsget_kibana_api_detail - Get API endpoint detailsvl_search_saved_objects - Search saved objects (universal)vl_get_saved_object - Get single saved objectvl_create_saved_object - Create new saved objectvl_update_saved_object - Update single saved objectvl_bulk_update_saved_objects - Bulk update operationsvl_bulk_delete_saved_objects - Bulk delete operationsSupported Object Types: dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element
analyze_object_dependencies - Analyze saved object dependenciesanalyze_deletion_impact - Check impact before deletioncheck_dashboard_health - Dashboard health checkscan_all_dashboards_health - Batch health scanning| Resource URI | Description |
|---|---|
kibana-api://paths | List all available API endpoints |
kibana-api://paths?search=<keyword> | Search endpoints by keyword |
kibana-api://path/{method}/{encoded_path} | Get specific endpoint details |
NODE_TLS_REJECT_UNAUTHORIZED=0 (use with caution)Use MCP Inspector for debugging:
npm run inspector
This provides a browser-accessible debugging interface.
This project is community-maintained. Contributions and feedback are welcome!
Please follow the Elastic Community Code of Conduct in all communications.
Apache License 2.0 - See LICENSE file for details.
KIBANA_URL*Your Kibana instance URL (e.g., http://localhost:5601)
KIBANA_API_KEYsecretKibana API key for authentication
KIBANA_USERNAMEKibana username for basic authentication
KIBANA_PASSWORDsecretKibana password for basic authentication
MCP_TRANSPORT*default: httpTransport mode selection
MCP_HTTP_PORTdefault: 3000HTTP server port
io.github.infoinlet-marketplace/mcp-observability
betterdb-inc/monitor
com.mcparmory/datadog
thotischner/observability-mcp
io.github.tantiope/datadog-mcp
io.github.us-all/datadog