Solid foundation with complete schemas and consistent error handling, but descriptions lack LLM-optimization depth and parameter guidance. All 6 tools have input schemas with proper types and constraints (e.g., search_logs enforces size 1-500, run_query 1-10000). Descriptions are present but generic, most are 60-90 chars, below the 194-char baseline for production tools. Parameter descriptions exist but lack actionable guidance (e.g., 'KQL or Lucene query string' doesn't explain when to use each). No tool annotations (readOnlyHint, idempotentHint) despite all being read-only. Error handling returns structured errors but lacks recovery guidance. Output schemas are not documented in tool definitions.
Fetch details of a specific Kibana dashboard by ID, including its panel configuration.
List Kibana dashboards with pagination.
Fetch details of a Kibana index pattern by its ID, including field definitions.
List all Elasticsearch indices available through Kibana.
Execute a raw Elasticsearch DSL query against a Kibana index and return hits and metadata.
Search logs in a Kibana index using KQL or Lucene query syntax with optional time range filtering and pagination.
Descriptions lack LLM-optimization depth. Most are 50-90 chars vs. 194-char baseline. 'List all Elasticsearch indices' and 'List Kibana dashboards' are generic discovery hints without context on when to call them or what structure they reveal.
No tool annotations despite all tools being read-only. Missing readOnlyHint would help LLMs understand these are safe to call without side effects.
Parameter descriptions lack actionable guidance. 'KQL or Lucene query string' doesn't explain when to use each syntax or provide examples. 'Elasticsearch DSL query object' doesn't hint at structure or common patterns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Output schemas not documented in tool definitions. LLMs cannot plan downstream calls or extract fields without knowing what search_logs or run_query returns.
Error handling returns structured errors but lacks recovery guidance. A 'query syntax error' response should suggest 'Try simplifying the query or use get_index_pattern to see available fields.'