# Kibana [Health: Active]

**Category:** 📊 Data Visualization  
**Repository:** https://github.com/TocharianOU/mcp-server-kibana  
**GitHub Stars:** 86  
**npm Downloads (last month):** 10755  
**Views:** 7  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/kibana

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

## Tools
Capabilities this server exposes over MCP:

- **get_status** — Get Kibana server status with multi-space support
- **execute_kb_api** — 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.
- **search_kibana_api_paths** — Search Kibana API endpoints by keyword
- **list_all_kibana_api_paths** — List all Kibana API endpoints as a resource list
- **get_kibana_api_detail** — Get details for a specific Kibana API endpoint
- **get_available_spaces** — Get all available Kibana spaces with current context
- **vl_search_saved_objects** — 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.
- **vl_get_saved_object** — 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.
- **vl_bulk_delete_saved_objects** — 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.
- **vl_create_saved_object** — 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.
- **vl_update_saved_object** — 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.
- **vl_bulk_update_saved_objects** — 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.
- **analyze_object_dependencies** — Analyze dependency tree for a Kibana saved object (Dashboard, Visualization, etc.)
- **analyze_deletion_impact** — Analyze the impact of deleting or modifying a saved object (what will be affected)
- **check_dashboard_health** — Perform health check on a Dashboard to detect broken references, performance issues, etc.
- **scan_all_dashboards_health** — Scan health status of all Dashboards in a space (returns summary report)

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "kibana": {
    "command": "npx",
    "args": ["-y","@tocharianou/mcp-server-kibana"],
    "env": {
      "KIBANA_URL": "",
      "KIBANA_API_KEY": "",
      "KIBANA_USERNAME": "",
      "KIBANA_PASSWORD": "",
      "KIBANA_COOKIES": ""
    }
  }
}
```

**Requires environment variables:** `KIBANA_URL`, `KIBANA_API_KEY`, `KIBANA_USERNAME`, `KIBANA_PASSWORD`, `KIBANA_COOKIES` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What the Kibana MCP server does

The Kibana MCP server gives MCP clients access to a Kibana instance through natural-language requests or direct tool calls. It covers server status, space listing, API endpoint discovery, custom Kibana API requests, and saved-object management. Supported saved-object types include dashboards, visualizations, index patterns, searches, configuration objects, Lens objects, maps, tags, Canvas workpads, and Canvas elements.

The server also includes analysis operations for saved objects. Agents can inspect object dependencies, assess the impact of a deletion, check an individual dashboard's health, or scan all dashboards for health issues. The project is community-maintained and is not an official Elastic or MCP product.

## How it works

The Kibana MCP server builds its API discovery behavior from the official Kibana OpenAPI YAML specification for Elastic Stack 8.x. Clients can search available API paths, list all paths, or retrieve details for a particular method and encoded path. The `execute_kb_api` tool then provides a way to issue custom Kibana API requests.

It supports two MCP transport modes. Stdio is the default for local clients, while HTTP mode exposes an MCP endpoint and a health-check endpoint for remote access. HTTP mode generates UUID-based sessions automatically. Requests can target a configured default Kibana space, and saved-object operations include pagination, bulk updates or deletions, references, and optimistic concurrency controls.

## Setup and configuration

Install the npm package globally or run it directly with `npx`. Node.js 18 or newer is required. Set `KIBANA_URL` to the address of the Kibana server and provide one authentication method: `KIBANA_API_KEY`, `KIBANA_USERNAME` with `KIBANA_PASSWORD`, or `KIBANA_COOKIES`.

Optional settings include `KIBANA_DEFAULT_SPACE`, `KIBANA_CA_CERT`, `KIBANA_TIMEOUT`, `MCP_TRANSPORT`, `MCP_HTTP_PORT`, and `MCP_HTTP_HOST`. `NODE_TLS_REJECT_UNAUTHORIZED` can disable TLS certificate validation, but the project notes that this should be used cautiously. In HTTP mode, the MCP endpoint is available at `/mcp`, with `/health` available for health checks.

## Tools and capabilities

The Kibana MCP server provides tools for:

- Checking Kibana status and listing available spaces.
- Searching, listing, and inspecting Kibana API paths.
- Executing custom Kibana API requests.
- Searching, retrieving, creating, and updating saved objects.
- Applying bulk saved-object updates or deletions.
- Reviewing dependencies and deletion impact.
- Checking one dashboard or scanning all dashboards for health issues.

It also exposes resources for the complete API path list, keyword-based path searches, and individual endpoint details.

## Limitations and notes

Successful operations also depend on the permissions granted to the selected authentication method. SSL certificate problems may require a configured CA certificate or a deliberate TLS validation change. The companion Elasticsearch MCP server mentioned by the project is a separate server for direct Elasticsearch data operations; it is not included here.

_Full upstream README: https://allmcps.com/mcp/kibana/readme_

