Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Kibana

NPM · @TOCHARIANOU/MCP-SERVER-KIBANA

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

−3 this week 67 Trust /100

Last scanned (9 hours ago)

Scores higher than 35% of npm servers

Category Monitoring and Observability

Trust breakdown (7 categories)

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 Security81
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 43 of 160 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability40
  • 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 3755 tokens (~197/item across 19 items; 17 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 Management73
  • Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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 18 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
Changelog

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.

  • 5 Nov 26 −4
    • Stability: pass → 0.73 functional
  • 30 Oct 26 +1
    • Stability: 0.97 → pass security
  • 29 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 24 Oct 26 −5
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
  • 23 Oct 26 0
    • Stability: 0.97 → pass security
  • 22 Oct 26 0
    • Stability: pass → 0.97 functional
  • 15 Oct 26 0
    • Stability: 0.97 → pass security
  • 14 Oct 26 +38
    • Injection markers: unverified → pass ▲ security
    • Schema quality: 168 → 197 ▼ functional
    • Tool coverage: unverified → 100 ▲ functional
    • Schema quality: unverified → 0 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Stability: unverified → 0.97 ▲ functional
    • Package version: 0.10.2 → 0.11.1 functional
Diagnostics

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 5 Nov 2026 · Analysed npm/@tocharianou/mcp-server-kibana@0.11.1

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 →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 160 packages
Packages resolved 160
Stale 43
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 17 exposed · ~3,739 tokens

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 →

Tool Tokens
analyze_deletion_impact ~71

Analyze the impact of deleting or modifying a saved object (what will be affected)

NameTypeReqDescription
idstringyesSaved object ID to analyze
spacestring–Kibana space (optional)
typestringyesSaved 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.)

NameTypeReqDescription
idstringyesSaved object ID
max_depthnumber–Maximum depth to traverse (default: 5)
spacestring–Kibana space (optional)
typestringyesSaved 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.

NameTypeReqDescription
check_indicesboolean–Also check if referenced Elasticsearch indices exist (requires additional permissions)
dashboard_idstringyesDashboard ID to check
spacestring–Kibana space (optional)

No output schema declared.

No examples provided.

execute_kb_api ~229

Execute a custom API request for Kibana with multi-space support. For Elasticsearch document or log searches, use search_elasticsearch instead. Do not use /api/console/proxy for Elasticsearch searches: that Console endpoint can require Dev Tools privileges even when the configured user can read the target indices. Do not use this generic tool to rediscover an Elasticsearch search route when search_elasticsearch already provides the supported workflow. 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.

NameTypeReqDescription
body–––
break_token_ruleboolean–Set to true to bypass token limits in critical situations. Use sparingly to avoid context overflow.
methodstringyes–
paramsobject––
pathstringyes–
spacestring–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

NameTypeReqDescription
include_detailsboolean–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

NameTypeReqDescription
methodstringyesHTTP method, e.g. GET, POST, PUT, DELETE
pathstringyesAPI path, e.g. /api/actions/connector_types
rawboolean–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

NameTypeReqDescription
spacestring–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)

NameTypeReqDescription
max_dashboardsnumber–Maximum number of dashboards to scan (default: 50)
spacestring–Kibana space (optional)

No output schema declared.

No examples provided.

search_elasticsearch ~611

Search Elasticsearch documents, logs, and aggregations through Kibana using Elasticsearch Query DSL. USE THIS TOOL whenever the task is to find or inspect Elasticsearch data. Do not first search Kibana API paths and do not call /api/console/proxy through execute_kb_api for Elasticsearch searches. The Console proxy can require the Kibana Dev Tools privilege even when the configured user is allowed to read the target indices. This tool uses the user's existing Elasticsearch permissions. SEARCH STRATEGY FOR LOGS: 1. Start with the narrowest known index pattern and a small time window. 2. Set size explicitly (usually 10-50; maximum 100). 3. Request only useful _source fields when exploring high-volume logs. 4. Sort by the timestamp field if chronology matters. 5. After finding a trace/correlation id, narrow follow-up searches to that id and a small surrounding time window. 6. Prefer exact term/keyword filters when the field mapping supports them; use match/query_string only when text analysis is intended. The body is Elasticsearch Query DSL, not Kibana KQL. If the user describes a filter in KQL terms, translate the intent to Query DSL before calling the tool. A wildcard-only index segment ('*', '**', '_all'), an empty body, and body.size > 100 are rejected. Avoid broad match_all searches. Aggregations are supported through the same body. The returned hits preserve the original _source, including dynamic/custom properties. This uses Kibana's internal /internal/search/es endpoint, so its contract can change between Kibana versions.

NameTypeReqDescription
bodyobjectyesREQUIRED: Elasticsearch _search request body using Query DSL, not Kibana KQL. Translate KQL-style user intent into Query DSL before calling this tool. For logs, normally include: a small size (for ex…
break_token_ruleboolean–Emergency only: bypass the response token limit. Prefer reducing body.size, narrowing the time range, or limiting _source fields.
indexstringyesREQUIRED: Elasticsearch index or bounded index pattern, for example 'application-logs-*'. Wildcard-only segments such as '*', '**', or '_all' are not allowed.
spacestring–Target Kibana space (optional, defaults to configured space).

No output schema declared.

No examples provided.

search_kibana_api_paths ~68

Search documented Kibana OpenAPI endpoints by keyword. This index does not necessarily contain Kibana internal routes. Do not use this tool to discover how to search Elasticsearch documents or logs; use search_elasticsearch for that.

NameTypeReqDescription
searchstringyesSearch 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.

NameTypeReqDescription
forceboolean–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…
objectsarrayyesREQUIRED: Array of objects to delete. Each object must have 'type' and 'id' fields. Minimum 1 object required.
spacestring–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.

NameTypeReqDescription
objectsarrayyesREQUIRED: Array of objects to update. Each object must have 'type', 'id', and 'attributes' fields. Minimum 1 object required.
spacestring–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.

NameTypeReqDescription
attributesobjectyesREQUIRED: Object containing the saved object attributes. Structure varies by type. Common fields: 'title' (required for most types), 'description'. Dashboard: 'panelsJSON', 'timeRestore'. Visualizati…
idstring–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…
initialNamespacesarray–OPTIONAL: Array of initial namespaces for the object. Used for multi-tenant setups. If not specified, object will be created in the default namespace.
overwriteboolean–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.
referencesarray–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.
spacestring–Target Kibana space (optional, defaults to configured space)
type–yesREQUIRED: 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.

NameTypeReqDescription
break_token_ruleboolean–Set to true to bypass token limits in critical situations. Use sparingly to avoid context overflow.
idstringyesREQUIRED: The saved object ID. This is the unique identifier for the specific object you want to retrieve.
spacestring–Target Kibana space (optional, defaults to configured space)
type–yesREQUIRED: The saved object type. Common types: 'dashboard', 'visualization', 'index-pattern', 'search', 'config', 'lens', 'map', 'tag', 'canvas-workpad', 'canvas-element'. Supports multiple formats:…
useResolveboolean–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.

NameTypeReqDescription
aggsstring–Aggregation structure, serialized as a string. Use for advanced analytics on saved objects.
break_token_ruleboolean–Set to true to bypass token limits in critical situations. Use sparingly to avoid context overflow.
defaultSearchOperatorstring–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…
filterstring–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'}
hasNoReferenceOperatorstring–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'}
hasReferenceOperatorstring–Operator for has_reference parameter (OR/AND, default: OR)
pagenumber–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…
perPagenumber–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…
searchstring–Search query to filter saved objects. Supports boolean operators (AND, OR), wildcards (*), and phrases in quotes. Example: 'nginx AND logs' or 'web*'.
sortFieldstring–Field to sort by (e.g., 'updated_at', 'created_at', 'type', 'dashboard.attributes.title')
sortOrderstring–Sort order: 'asc' for ascending, 'desc' for descending (default: 'desc')
spacestring–Target Kibana space (optional, defaults to configured space)
types–yesREQUIRED: 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.

NameTypeReqDescription
attributesobjectyesREQUIRED: Object containing the attributes to update. Only specified attributes will be changed (partial update). Common fields: 'title', 'description'. Type-specific fields: Dashboard: 'panelsJSON',…
idstringyesREQUIRED: The saved object ID. This is the unique identifier for the object you want to update.
referencesarray–OPTIONAL: Array of references to other saved objects. Updates the object's references. Each reference needs id, type, and name.
spacestring–Target Kibana space (optional, defaults to configured space)
type–yesREQUIRED: The saved object type. Common types: 'dashboard', 'visualization', 'index-pattern', 'search', 'config', 'lens', 'map', 'tag', 'canvas-workpad', 'canvas-element'. Supports multiple formats b…
upsertobject–OPTIONAL: Attributes to use if the object doesn't exist (will create object if not found). Useful for create-or-update scenarios.
versionstring–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.

Install

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

# add to Claude Code
claude mcp add tocharianou-kibana -- npx -y @tocharianou/mcp-server-kibana
Common questions

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 67 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 5 November 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 17 tools: get_status, execute_kb_api, search_kibana_api_paths, list_all_kibana_api_paths, get_kibana_api_detail, and 12 more. Their descriptions and schemas cost roughly 3,739 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 5 November 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.