Kibana vs Metabase
A side-by-side look at the Kibana and Metabase MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Kibana for data visualization work as a local process; choose Metabase for data visualization. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Kibana when
- You need dedicated capabilities in the Data Visualization domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
KIBANA_URL, KIBANA_API_KEY, KIBANA_USERNAME, KIBANA_PASSWORD, KIBANA_COOKIES. - You want tools like
get_status, execute_kb_api, search_kibana_api_paths.
Choose Metabase when
- You need dedicated capabilities in the Data Visualization domain.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Data Visualization | Data Visualization |
| Quality signal | 69/100 · Great | 41/100 · Fair |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | API key required | Not declared |
| Pricing | Free | Free |
| Required env vars | KIBANA_URLKIBANA_API_KEYKIBANA_USERNAMEKIBANA_PASSWORDKIBANA_COOKIES | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 84 | 49,815 |
| Directory activity | 4 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 16 | Not listed |
| Full listing | View Kibana | View Metabase |
Tools & capabilities
Kibana tools 16
get_statusGet Kibana server status with multi-space supportexecute_kb_apiExecute a custom API request for Kibana with multi-space support. RETRY SAFETY: this tool can reach any write endpoint. A POST retried after a timeout or dropped response can create a duplicate — prefer a caller-chosen stable id (or the vl_* tool for that object type, which documents the safe pattern) over letting the server auto-generate one.search_kibana_api_pathsSearch Kibana API endpoints by keywordlist_all_kibana_api_pathsList all Kibana API endpoints as a resource listget_kibana_api_detailGet details for a specific Kibana API endpointget_available_spacesGet all available Kibana spaces with current contextvl_search_saved_objectsSearch for Kibana saved objects using Elasticsearch query syntax. This is a universal tool that can search across all saved object types (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). IMPORTANT: You must specify the 'types' parameter - it is required by the Kibana API. PERFORMANCE TIPS: Always use 'fields' parameter to specify only needed fields (e.g., ['title', 'description']) for faster responses. Use 'perPage' 5-20 for optimal speed. PAGINATION: To get all results, make multiple requests with incrementing 'page' numbers (page=1, page=2, etc.) until you receive fewer results than 'perPage'. Don't stop at the first page - iterate through all pages for complete data. Returns formatted saved object information including type, title, description, and timestamps.vl_get_saved_objectGet a single Kibana saved object by type and ID. This is a universal tool that can retrieve any type of saved object (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.) by its exact type and ID. Use this when you know the specific object you want to retrieve. PERFORMANCE: This is much faster than searching when you have the exact type and ID.vl_bulk_delete_saved_objectsBulk delete multiple Kibana saved objects by type and ID. This is a destructive operation that permanently removes saved objects (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). WARNING: Deleted objects cannot be recovered. Use with caution. IMPORTANT: Objects that exist in multiple namespaces require the 'force' parameter to be deleted.vl_create_saved_objectCreate a new Kibana saved object (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). This is a universal tool that can create any type of saved object by specifying the type and attributes. Each object type has specific attribute requirements. IMPORTANT: The 'title' field is required for most object types. Complex fields like panelsJSON, visState should be JSON strings.vl_update_saved_objectUpdate a single Kibana saved object by type and ID. This performs a partial update - only the specified attributes will be changed, other attributes remain unchanged. Supports all saved object types (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). IMPORTANT: Use version parameter for optimistic concurrency control to prevent conflicts.vl_bulk_update_saved_objectsUpdate multiple Kibana saved objects in a single operation. Each object can be of different types and will be partially updated (only specified attributes changed). Supports all saved object types (dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element, etc.). PERFORMANCE: More efficient than multiple single updates. Each object can have individual version control.- +4 more on the listing page
Metabase tools
No tool names declared yet. Check the project README from the listing page.
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Kibana
{
"mcpServers": {
"kibana": {
"command": "npx",
"args": [
"-y",
"@tocharianou/mcp-server-kibana"
],
"env": {
"KIBANA_URL": "YOUR_KIBANA_URL_HERE",
"KIBANA_API_KEY": "YOUR_KIBANA_API_KEY_HERE",
"KIBANA_USERNAME": "YOUR_KIBANA_USERNAME_HERE",
"KIBANA_PASSWORD": "YOUR_KIBANA_PASSWORD_HERE",
"KIBANA_COOKIES": "YOUR_KIBANA_COOKIES_HERE"
}
}
}
}
Metabase
No confirmed install command for Metabase yet — follow the setup steps linked from its listing page rather than a guessed package name.