Skip to main content
Glama

Add Esql Metric Panel

add_esql_metric_panel

Add a single-number metric panel to an existing Kibana dashboard by running an ES|QL query and displaying a chosen output column. Specify dashboard, title, query, and column.

Instructions

Add an ES|QL metric panel to an existing dashboard: run an ES|QL query and show one of its output columns as a single-number metric. esql is the query (e.g. 'FROM logs | STATS total = COUNT(*)') and column names the output column to display (e.g. 'total'). For field-based charts use add_panel with a VizSpec instead. The query is NOT validated server-side — a wrong query or column yields an empty panel, so write both carefully.

space targets a Kibana space by id (default: the default space).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
esqlYes
spaceNo
titleYes
columnYes
dashboard_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description doesn't need to restate mutation semantics. It does add valuable non-structured behavior: the query is NOT validated server-side and a bad query/column silently yields an empty panel, plus the space default. This warns the agent about a silent-failure mode the annotations never express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and result, then parameters with examples, then the alternative tool, then the critical caveat. Every sentence carries information the agent needs; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. Given that, the description covers purpose, the routing alternative, per-parameter meaning for the tricky fields, and the silent-failure caveat — everything needed to invoke this 5-parameter mutation tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must carry parameter meaning, and it does for the non-obvious ones: 'esql' is the query (with a worked example) and 'column' names the output column to display (with example), and 'space' targets a Kibana space by id. The obvious 'title' and 'dashboard_id' are left to inference, which is a minor gap but not misleading.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a precise verb+resource ('Add an ES|QL metric panel to an existing dashboard') and narrows the outcome to 'show one of its output columns as a single-number metric'. It distinguishes itself from siblings by explicitly routing field-based charts to add_panel with a VizSpec, so the agent can tell it apart from add_esql_table_panel and add_esql_xy_panel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a clear alternative for the field-based case ('use add_panel with a VizSpec instead'), which is genuine when-to-use guidance. It stops short of naming the other ES|QL panel siblings (table/xy) as alternatives, so the routing is helpful but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.