Kibana
NPM · @TOCHARIANOU/MCP-SERVER-KIBANA · SCANNED SEP 21
Kibana MCP Server with dynamic API discovery and comprehensive Elastic Stack integration
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 44 of 142 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 4 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability41
- 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Fail
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 3038 tokens (~168/item across 18 items; 16 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage98
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 94% of tool parameters carry a description.Partial
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "execute_kb_api" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Kibana MCP server?
Kibana runs locally as an npm package, launched with npx -y @tocharianou/mcp-server-kibana. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @tocharianou/mcp-server-kibana
claude mcp add tocharianou-kibana -- npx -y @tocharianou/mcp-server-kibana
{
"mcpServers": {
"tocharianou-kibana": {
"command": "npx",
"args": [
"-y",
"@tocharianou/mcp-server-kibana"
]
}
}
} {
"servers": {
"tocharianou-kibana": {
"command": "npx",
"args": [
"-y",
"@tocharianou/mcp-server-kibana"
]
}
}
} codex mcp add tocharianou-kibana -- npx -y @tocharianou/mcp-server-kibana
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"tocharianou-kibana": {
"type": "local",
"command": [
"npx",
"-y",
"@tocharianou/mcp-server-kibana"
],
"enabled": true
}
}
} openclaw mcp add tocharianou-kibana --command npx --arg -y --arg @tocharianou/mcp-server-kibana
mcp_servers:
tocharianou-kibana:
command: "npx"
args: ["-y", "@tocharianou/mcp-server-kibana"] {
"McpServers": {
"tocharianou-kibana": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@tocharianou/mcp-server-kibana"
]
}
}
} assistant mcp add tocharianou-kibana -t stdio -c npx -a -y @tocharianou/mcp-server-kibana
{
"mcpServers": {
"tocharianou-kibana": {
"command": "npx",
"args": [
"-y",
"@tocharianou/mcp-server-kibana"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 0
- Stability: 0.97 → pass security
- Security disclosure: unverified → fail ▼ functional
- 20 Sept 26 +1
- Security disclosure: fail → unverified ▼ functional
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +15
- Malware scan: unverified → pass ▲ security
- 16 Sept 26 −14
- Stability: 0.80 → unverified ▼ security
- Malware scan: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Schema quality: 0 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Package version: 0.10.1 → 0.10.2 functional
- 15 Sept 26 0
- Stability: 0.77 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Schema quality: 0 → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Package version: 0.10.0 → 0.10.1 functional
- 14 Sept 26 −3
- Security disclosure: unverified → fail ▼ functional
- Stability: pass → 0.77 functional
- 13 Sept 26 0
- Stability: 0.97 → pass security
- Security disclosure: fail → unverified ▼ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed npm/@tocharianou/mcp-server-kibana@0.10.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 142 packages
| Packages resolved | 142 |
|---|---|
| Stale | 44 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze_deletion_impact ~71
Analyze the impact of deleting or modifying a saved object (what will be affected)
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Saved object ID to analyze |
| space | string | – | Kibana space (optional) |
| type | string | yes | Saved object type (e.g., visualization, lens, index-pattern) |
No output schema declared.
No examples provided.
analyze_object_dependencies ~86
Analyze dependency tree for a Kibana saved object (Dashboard, Visualization, etc.)
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Saved object ID |
| max_depth | number | – | Maximum depth to traverse (default: 5) |
| space | string | – | Kibana space (optional) |
| type | string | yes | Saved object type (e.g., dashboard, visualization, lens, index-pattern) |
No output schema declared.
No examples provided.
check_dashboard_health ~68
Perform health check on a Dashboard to detect broken references, performance issues, etc.
| Name | Type | Req | Description |
|---|---|---|---|
| check_indices | boolean | – | Also check if referenced Elasticsearch indices exist (requires additional permissions) |
| dashboard_id | string | yes | Dashboard ID to check |
| space | string | – | Kibana space (optional) |
No output schema declared.
No examples provided.
execute_kb_api ~158
Execute 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.
| Name | Type | Req | Description |
|---|---|---|---|
| body | – | – | – |
| break_token_rule | boolean | – | Set to true to bypass token limits in critical situations. Use sparingly to avoid context overflow. |
| method | string | yes | – |
| params | object | – | – |
| path | string | yes | – |
| space | string | – | Target Kibana space (optional, defaults to configured space) |
No output schema declared.
No examples provided.
get_available_spaces ~37
Get all available Kibana spaces with current context
| Name | Type | Req | Description |
|---|---|---|---|
| include_details | boolean | – | Include detailed space information (name, description, etc.) |
No output schema declared.
No examples provided.
get_kibana_api_detail ~81
Get details for a specific Kibana API endpoint
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | yes | HTTP method, e.g. GET, POST, PUT, DELETE |
| path | string | yes | API path, e.g. /api/actions/connector_types |
| raw | boolean | – | If true, return raw JSON schema instead of simplified TypeScript interface |
No output schema declared.
No examples provided.
get_status ~36
Get Kibana server status with multi-space support
| Name | Type | Req | Description |
|---|---|---|---|
| space | string | – | Target Kibana space (optional, defaults to configured space) |
No output schema declared.
No examples provided.
list_all_kibana_api_paths ~24
List all Kibana API endpoints as a resource list
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
scan_all_dashboards_health ~58
Scan health status of all Dashboards in a space (returns summary report)
| Name | Type | Req | Description |
|---|---|---|---|
| max_dashboards | number | – | Maximum number of dashboards to scan (default: 50) |
| space | string | – | Kibana space (optional) |
No output schema declared.
No examples provided.
search_kibana_api_paths ~33
Search Kibana API endpoints by keyword
| Name | Type | Req | Description |
|---|---|---|---|
| search | string | yes | Search keyword for filtering API endpoints |
No output schema declared.
No examples provided.
vl_bulk_delete_saved_objects ~193
Bulk 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.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Force deletion of objects that exist in multiple namespaces. Set to true if you get an error about objects existing in multiple namespaces. WARNING: This also deletes legacy URL aliases and can place… |
| objects | array | yes | REQUIRED: Array of objects to delete. Each object must have 'type' and 'id' fields. Minimum 1 object required. |
| space | string | – | Target Kibana space (optional, defaults to configured space) |
No output schema declared.
No examples provided.
vl_bulk_update_saved_objects ~143
Update 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.
| Name | Type | Req | Description |
|---|---|---|---|
| objects | array | yes | REQUIRED: Array of objects to update. Each object must have 'type', 'id', and 'attributes' fields. Minimum 1 object required. |
| space | string | – | Target Kibana space (optional, defaults to configured space) |
No output schema declared.
No examples provided.
vl_create_saved_object ~539
Create 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.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | object | yes | REQUIRED: Object containing the saved object attributes. Structure varies by type. Common fields: 'title' (required for most types), 'description'. Dashboard: 'panelsJSON', 'timeRestore'. Visualizati… |
| id | string | – | OPTIONAL: Specific ID for the saved object. If not provided, Kibana will auto-generate a unique ID. Use this when you need a predictable ID or when recreating objects. RETRY SAFETY: if this call is r… |
| initialNamespaces | array | – | OPTIONAL: Array of initial namespaces for the object. Used for multi-tenant setups. If not specified, object will be created in the default namespace. |
| overwrite | boolean | – | OPTIONAL: Whether to overwrite an existing object with the same ID. Only relevant when 'id' is specified. Default: false. Set to true to replace existing objects. |
| references | array | – | OPTIONAL: Array of references to other saved objects. Used to link objects together (e.g., dashboard panels referencing visualizations). Each reference needs id, type, and name. |
| space | string | – | Target Kibana space (optional, defaults to configured space) |
| type | – | yes | REQUIRED: The saved object type. Common types: 'dashboard', 'visualization', 'index-pattern', 'search', 'config', 'lens', 'map', 'tag', 'canvas-workpad', 'canvas-element'. Supports multiple formats b… |
No output schema declared.
No examples provided.
vl_get_saved_object ~312
Get 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.
| Name | Type | Req | Description |
|---|---|---|---|
| break_token_rule | boolean | – | Set to true to bypass token limits in critical situations. Use sparingly to avoid context overflow. |
| id | string | yes | REQUIRED: The saved object ID. This is the unique identifier for the specific object you want to retrieve. |
| space | string | – | Target Kibana space (optional, defaults to configured space) |
| type | – | yes | REQUIRED: The saved object type. Common types: 'dashboard', 'visualization', 'index-pattern', 'search', 'config', 'lens', 'map', 'tag', 'canvas-workpad', 'canvas-element'. Supports multiple formats:… |
| useResolve | boolean | – | Use resolve API instead of get API. The resolve API can handle legacy URL aliases from object ID migrations. Use this if you're having trouble finding an object that may have had its ID changed durin… |
No output schema declared.
No examples provided.
vl_search_saved_objects ~823
Search 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.
| Name | Type | Req | Description |
|---|---|---|---|
| aggs | string | – | Aggregation structure, serialized as a string. Use for advanced analytics on saved objects. |
| break_token_rule | boolean | – | Set to true to bypass token limits in critical situations. Use sparingly to avoid context overflow. |
| defaultSearchOperator | string | – | Default operator for simple_query_string (OR/AND, default: OR) |
| fields | – | – | PERFORMANCE OPTIMIZATION: Specify which fields to return in the attributes key. Examples: ['title', 'description'] for basic info, ['title', 'description', 'updated_at'] for metadata. IMPORTANT: Usin… |
| filter | string | – | KQL string filter (e.g., 'dashboard.attributes.title: "My Dashboard"') |
| hasNoReference | – | – | Filter to objects that do not have a relationship with the type and identifier combination. Example: {type: 'index-pattern', id: 'my-pattern-id'} |
| hasNoReferenceOperator | string | – | Operator for has_no_reference parameter (OR/AND, default: OR) |
| hasReference | – | – | Filter to objects that have a relationship with the type and ID combination. Example: {type: 'index-pattern', id: 'my-pattern-id'} |
| hasReferenceOperator | string | – | Operator for has_reference parameter (OR/AND, default: OR) |
| page | number | – | Page number to return (starts from 1). Use with perPage for pagination. Example: page=1 gets first 20 results, page=2 gets results 21-40, etc. IMPORTANT: To get all results, you need to make multiple… |
| perPage | number | – | Number of saved objects per page (default: 20). PERFORMANCE TIP: Use 5-20 for faster responses. Large values (>50) can be slow and may timeout. Always combine with 'fields' parameter to limit data wh… |
| search | string | – | Search query to filter saved objects. Supports boolean operators (AND, OR), wildcards (*), and phrases in quotes. Example: 'nginx AND logs' or 'web*'. |
| sortField | string | – | Field to sort by (e.g., 'updated_at', 'created_at', 'type', 'dashboard.attributes.title') |
| sortOrder | string | – | Sort order: 'asc' for ascending, 'desc' for descending (default: 'desc') |
| space | string | – | Target Kibana space (optional, defaults to configured space) |
| types | – | yes | REQUIRED: Saved object types to include. Common types: 'dashboard', 'visualization', 'index-pattern', 'search', 'config', 'lens', 'map', 'tag', 'canvas-workpad', 'canvas-element'. Use ['dashboard', '… |
No output schema declared.
No examples provided.
vl_update_saved_object ~360
Update 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.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | object | yes | REQUIRED: Object containing the attributes to update. Only specified attributes will be changed (partial update). Common fields: 'title', 'description'. Type-specific fields: Dashboard: 'panelsJSON',… |
| id | string | yes | REQUIRED: The saved object ID. This is the unique identifier for the object you want to update. |
| references | array | – | OPTIONAL: Array of references to other saved objects. Updates the object's references. Each reference needs id, type, and name. |
| space | string | – | Target Kibana space (optional, defaults to configured space) |
| type | – | yes | REQUIRED: The saved object type. Common types: 'dashboard', 'visualization', 'index-pattern', 'search', 'config', 'lens', 'map', 'tag', 'canvas-workpad', 'canvas-element'. Supports multiple formats b… |
| upsert | object | – | OPTIONAL: Attributes to use if the object doesn't exist (will create object if not found). Useful for create-or-update scenarios. |
| version | string | – | OPTIONAL: Version string for optimistic concurrency control. Use this to prevent conflicts when multiple processes update the same object. Get the version from a previous get/search operation. |
No output schema declared.
No examples provided.
What is the Kibana MCP server?
Kibana is an MCP server listed in the public MCP registry as io.github.TocharianOU/kibana. Kibana MCP Server with dynamic API discovery and comprehensive Elastic Stack integration. This page covers its npm package (@tocharianou/mcp-server-kibana).
Is the Kibana MCP server safe to use?
Kibana scores 76 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Kibana MCP server expose?
Kibana exposes 16 tools: get_status, execute_kb_api, search_kibana_api_paths, list_all_kibana_api_paths, get_kibana_api_detail, and 11 more. Their descriptions and schemas cost roughly 3,022 tokens of context every time the server is loaded.
Is the Kibana MCP server still maintained?
Kibana is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Kibana MCP server under?
Kibana declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.