mshegolev/kibana-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KIBANA_URL | Yes | Kibana base URL (e.g. https://kibana.example.com) | |
| KIBANA_API_KEY | No | ES API key (ApiKey base64(id:api_key) format). Recommended for agents | |
| KIBANA_PASSWORD | No | HTTP Basic auth password | |
| KIBANA_USERNAME | No | HTTP Basic auth username (used if API key not set) | |
| ELASTICSEARCH_URL | No | Direct ES endpoint. If unset, ES requests go through Kibana Console proxy | |
| KIBANA_SSL_VERIFY | No | true (default) or false for self-signed certificates | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| kibana_list_indicesA | List available Elasticsearch indices. Calls Examples:
- Use when: "What log indices are available in Elasticsearch?"
→ default params, Returns:
dict with keys |
| kibana_search_logsA | Search logs using Elasticsearch Query String Syntax. Wraps When more than 20 hits are rendered in the text output, a truncation
hint is appended — use the structured Examples:
- Use when: "Show me the last 20 ERROR logs from the API service."
→ Returns:
dict with |
| kibana_aggregate_logsA | Aggregate logs using a terms grouping and optional metric. Wraps When more than 20 buckets are rendered in the text output, a truncation
hint is appended — use the structured Examples:
- Use when: "How many logs per log level in the last hour?"
→ Returns:
dict with |
| kibana_list_dashboardsA | List Kibana saved dashboards. Calls Pagination: if Examples:
- Use when: "What Kibana dashboards are available?"
→ default params.
- Use when: "Find the infrastructure dashboard."
→ Returns:
dict with |
| kibana_get_dashboardA | Fetch a single Kibana dashboard with panel details. Calls Examples:
- Use when: "What panels does the 'Infrastructure Overview' dashboard have?"
→ obtain the ID from Returns:
dict with |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a distinct purpose: log aggregation, dashboard retrieval, dashboard listing, index listing, and log search. Descriptions explicitly clarify when not to use each tool, leaving no ambiguity.
All tools follow a consistent 'kibana_verb_noun' pattern (e.g., aggregate_logs, get_dashboard). The naming is uniform and predictable across the entire set.
Five tools is well-suited for the domain of Kibana log analysis and dashboard exploration. Each tool earns its place without being excessive or insufficient.
The tool set covers the primary read operations: index discovery, log search, log aggregation, dashboard list, and dashboard details. Missing write/update capabilities, but for a focused read-only MCP, this is reasonable and does not leave critical gaps.