# Kibana

An MCP server that connects Kibana to your AI client, so you can check status, search saved objects and call the Kibana API from chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 84
- Author: TocharianOU
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/TocharianOU/mcp-server-kibana
- Updated: 2026-10-11
- HTML: https://affpapa.org/en/nevibecode/mcp/kibana

## What it does

The server passes requests to your Kibana instance: server status, available spaces, search across saved objects (dashboard, visualization, index-pattern, lens, map and more), bulk updates and deletes. A separate tool searches Elasticsearch documents through Kibana's search API, limited by your index privileges. For anything else there is `execute_kb_api`, which sends a custom request to the Kibana API.

Two transports: stdio for local runs and HTTP for remote access. Auth is an API key, basic auth or cookies. Start HTTP mode on `0.0.0.0` without `MCP_BEARER_TOKEN` and the server logs a warning at startup: anyone who reaches the port uses your Kibana credentials. Behind a reverse proxy that forwards its public `Host` to a localhost-bound server, list that hostname in `MCP_ALLOWED_HOSTS`.

Only `KIBANA_URL` is required. Request timeout defaults to 60000 ms, the space to `default`. The project is community-maintained and not an official Elastic product.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `KIBANA_URL`, `KIBANA_API_KEY`, `KIBANA_USERNAME`, `KIBANA_PASSWORD`, `MCP_TRANSPORT`, `MCP_HTTP_PORT`, `MCP_BEARER_TOKEN` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env KIBANA_URL=<KIBANA_URL> --env KIBANA_API_KEY=<KIBANA_API_KEY> --env KIBANA_USERNAME=<KIBANA_USERNAME> --env KIBANA_PASSWORD=<KIBANA_PASSWORD> --env MCP_TRANSPORT=<MCP_TRANSPORT> --transport stdio kibana -- npx -y @tocharianou/mcp-server-kibana
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add kibana --env KIBANA_URL=<KIBANA_URL> --env KIBANA_API_KEY=<KIBANA_API_KEY> --env KIBANA_USERNAME=<KIBANA_USERNAME> --env KIBANA_PASSWORD=<KIBANA_PASSWORD> --env MCP_TRANSPORT=<MCP_TRANSPORT> -- npx -y @tocharianou/mcp-server-kibana
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "kibana": {
            "command": "npx",
            "args": [
                "-y",
                "@tocharianou/mcp-server-kibana"
            ],
            "env": {
                "KIBANA_URL": "<KIBANA_URL>",
                "KIBANA_API_KEY": "<KIBANA_API_KEY>",
                "KIBANA_USERNAME": "<KIBANA_USERNAME>",
                "KIBANA_PASSWORD": "<KIBANA_PASSWORD>",
                "MCP_TRANSPORT": "<MCP_TRANSPORT>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "kibana": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@tocharianou/mcp-server-kibana"
            ],
            "env": {
                "KIBANA_URL": "<KIBANA_URL>",
                "KIBANA_API_KEY": "<KIBANA_API_KEY>",
                "KIBANA_USERNAME": "<KIBANA_USERNAME>",
                "KIBANA_PASSWORD": "<KIBANA_PASSWORD>",
                "MCP_TRANSPORT": "<MCP_TRANSPORT>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e KIBANA_URL=<KIBANA_URL> -e KIBANA_API_KEY=<KIBANA_API_KEY> -e KIBANA_USERNAME=<KIBANA_USERNAME> -e KIBANA_PASSWORD=<KIBANA_PASSWORD> -e MCP_TRANSPORT=<MCP_TRANSPORT> kibana npx -y @tocharianou/mcp-server-kibana
```
Replace <…> with your own values. 2 more environment variables are in the server README

## When to use it
- check Kibana status without opening a browser
- find a saved object by name and type
- bulk update or delete dashboards
- see what breaks before deleting an object
- run a custom Kibana API request

## Example prompts
- Show Kibana status and the available spaces
- Find saved objects of type dashboard with revenue in the title
- Run a Kibana API request to list index patterns

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27669
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49845

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
