Atlas / MCP servers / tocharianou / Kibana

KibanaBLOCK

mcp/tocharianou/kibana-1

MCP server for Kibana, Access search and manage Kibana in MCP Client.

Verdict
BLOCK
Grade
D
Trust score
69 /100
Exposed tools
17 12r · 4w · 1d
Transport
stdio · streamable-http
License
Apache-2.0
Stars
84
01

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": {
Read from source at commit 79a7aa3a50e9OBSERVED · 2026-10-07
Advertisement
02

Connect

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-code (npm)
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-code (npm)
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]
03

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.

ToolRiskDescription
analyze_deletion_impactreadAnalyze the impact of deleting or modifying a saved object (what will be affected)
analyze_object_dependenciesreadAnalyze dependency tree for a Kibana saved object (Dashboard, Visualization, etc.)
check_dashboard_healthreadPerform health check on a Dashboard to detect broken references, performance issues, etc.
execute_kb_apiwrite
get_available_spacesreadGet all available Kibana spaces with current context
get_kibana_api_detailreadGet details for a specific Kibana API endpoint
get_statusreadGet Kibana server status with multi-space support
list_all_kibana_api_pathsreadList all Kibana API endpoints as a resource list
scan_all_dashboards_healthreadScan health status of all Dashboards in a space (returns summary report)
search_elasticsearchread
search_kibana_api_pathsreadSearch 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_objectsdestructive
vl_bulk_update_saved_objectswrite
vl_create_saved_objectwrite
vl_get_saved_objectread
vl_search_saved_objectsreadSearch 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_objectwrite
04

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.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (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)

HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
src/base-tools.ts:67
openApiDoc = yaml.load(yamlContent);
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
HIGHCode injection · code.deserialize · CWE-78, CWE-94, CWE-95
src/resources.ts:48
const openApiDoc: any = yaml.load(yamlContent);
Why it matters. deserialises untrusted bytes into live objects
Fix. use json or yaml.safe_load
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
vl_bulk_delete_saved_objects
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@cfworker/json-schema, @modelcontextprotocol/sdk, @types/express, ajv, axios, express, js-yaml, json5
Why it matters. 18 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
kibana-openapi-source.yaml
kibana-openapi-source.yaml
Why it matters. 2100422 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-07 · audit v0.4.1 · source sha 79a7aa3a50e9full audit observations/trust-audit/mcp-server/tocharianou__kibana-1.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-0779a7aa3a50e9BLOCKD69first audit
06

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.

Advertisement