Read-only MCP server for Kibana-backed log investigation and schema-aware querying
Server has 6 tools with complete input schemas and descriptions present. Naming follows verb_noun convention (configure, describe_fields, discover, filter, query). However, descriptions are terse (avg ~80 chars, below 194-char baseline) and lack actionable context for LLM selection. Parameter descriptions exist but are minimal. Output schemas are defined in separate files (not visible in provided code), so schema completeness cannot be fully verified. Error handling via KibanaRequestError is structured but recovery guidance is limited. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels declared.
Advanced legacy setup for a server started without a saved profile. Replaces the Kibana connection and full source catalog.
Configure exactly one Kibana index or index pattern after the user has explicitly named it. Never guess, list, scan, or auto-select indexes before calling this tool.
Describe the effective field capabilities for a configured logical source.
List configured logical log sources and field hints for investigation work.
Run an exact-field filter when the field name is already known, bypassing alias resolution.
Query one or more log sources with KQL (Kibana Query Language) or Elasticsearch Query DSL.
Descriptions lack LLM-optimized context. Most descriptions (45-60 chars) are below the 194-char baseline and omit WHEN to use each tool vs alternatives. E.g., 'configure' lacks explanation of when to call it vs configure_index, and 'filter' vs 'query'.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE vs READ_ONLY). LLMs cannot infer safety properties without explicit hints.
Parameter descriptions are minimal (10-30 chars). E.g., 'source_id' in describe_fields lacks context on what a source_id is or how to obtain it. No guidance on dependencies (e.g., 'Call discover() first to list available source_ids').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2025-06-18+ | v2 |
configure and configure_index both modify server state but lack confirmation/dry-run patterns. No guidance on idempotency or retry safety for agents.
Output schemas (configureOutputSchema, queryOutputSchema, etc.) are referenced but not visible in provided code. Cannot verify if responses include chaining IDs, pagination, or structured error details.