KibanaBLOCK
MCP server for Kibana, Access search and manage Kibana in MCP Client.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://mseep.ai/app/tocharianou-mcp-server-kibana)
[](https://www.npmjs.com/package/@tocharianou/mcp-server-kibana) [](https://www.npmjs.com/package/@tocharianou/mcp-server-kibana) [](https://deepwiki.com/TocharianOU/mcp-server-kibana)
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": {
79a7aa3a50e9OBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mcp-server-kibana --env KIBANA_API_KEY=${KIBANA_API_KEY} --env KIBANA_PASSWORD=${KIBANA_PASSWORD} --env KIBANA_API_KEY=${KIBANA_API_KEY} --env KIBANA_PASSWORD=${KIBANA_PASSWORD} -- npx -y @tocharianou/[email protected]claude mcp add mcp-server-kibana --env KIBANA_API_KEY=${KIBANA_API_KEY} --env KIBANA_PASSWORD=${KIBANA_PASSWORD} --env KIBANA_API_KEY=${KIBANA_API_KEY} --env KIBANA_PASSWORD=${KIBANA_PASSWORD} -- npx -y @tocharianou/[email protected]Exposed tools (17)
12 read · 4 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
analyze_deletion_impact | read | Analyze the impact of deleting or modifying a saved object (what will be affected) |
analyze_object_dependencies | read | Analyze dependency tree for a Kibana saved object (Dashboard, Visualization, etc.) |
check_dashboard_health | read | Perform health check on a Dashboard to detect broken references, performance issues, etc. |
execute_kb_api | write | |
get_available_spaces | read | Get all available Kibana spaces with current context |
get_kibana_api_detail | read | Get details for a specific Kibana API endpoint |
get_status | read | Get Kibana server status with multi-space support |
list_all_kibana_api_paths | read | List all Kibana API endpoints as a resource list |
scan_all_dashboards_health | read | Scan health status of all Dashboards in a space (returns summary report) |
search_elasticsearch | read | |
search_kibana_api_paths | read | 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. |
vl_bulk_delete_saved_objects | destructive | |
vl_bulk_update_saved_objects | write | |
vl_create_saved_object | write | |
vl_get_saved_object | read | |
vl_search_saved_objects | read | 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 |
vl_update_saved_object | write |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (1 observation(s))
- Shell
- declared (2 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (5)
openApiDoc = yaml.load(yamlContent);
const openApiDoc: any = yaml.load(yamlContent);
vl_bulk_delete_saved_objects
@cfworker/json-schema, @modelcontextprotocol/sdk, @types/express, ajv, axios, express, js-yaml, json5
kibana-openapi-source.yaml
Gates applied: no_behavioural_pass.
79a7aa3a50e9full audit observations/trust-audit/mcp-server/tocharianou__kibana-1.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | 79a7aa3a50e9 | BLOCK | D | 69 | first audit |
Questions
What is the Kibana MCP server?
MCP server for Kibana, Access search and manage Kibana in MCP Client.
What tools does Kibana expose?
17 in total: 12 read-only, 4 that write, and 1 that can delete or overwrite (vl_bulk_delete_saved_objects). Every one is listed on this page with its risk.
Is Kibana safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Kibana need?
It reads KIBANA_API_KEY, KIBANA_PASSWORD and MAX_TOKEN_CALL from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Kibana run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @tocharianou/mcp-server-kibana at 0.10.2.
How current is this page?
The grade is for one exact copy of the source (79a7aa3a50e9), read on 2026-10-07. The repository is watched and re-audited when it changes.