Skip to main content
Glama

list_metrics

List available metrics, one entry per (service, metric) pair — a metric emitted by three services returns three entries, each with that service's own type, unit, description, temporality, monotonicity, and last-seen timestamp.

Use this to discover what metrics exist, and which services emit them, before calling metrics. Each entry's singular "service" field names the emitting service; its "lastSeen" is that service's last-seen timestamp for the metric, so you can spot a service that has stopped emitting a metric it used to (dead-emitter detection) even while other services keep emitting it.

Params: service: optional — filter to entries for a specific service name. from / to: optional ISO-8601 window — restrict to entries seen within the range.

Returns: array of metric summaries, one per (service, metric) pair.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoEnd of window, ISO-8601 instant (exclusive)
fromNoStart of window, ISO-8601 instant (inclusive)
serviceNoFilter to a specific service name

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses key behavioral traits: the one-entry-per-(service, metric) expansion, the meaning of each entry's fields, the per-service lastSeen semantics, and filtering behavior. It does not mention response limits, authentication, or error cases, but the core behavior is well covered.

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?

The description is well structured and economical: it starts with the core purpose, then explains usage context, then lists params, and finally states the return type. Every sentence earns its place without redundancy or fluff.

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

Completeness4/5

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

For a list tool with three optional params and no output schema, the description provides a complete picture: the return format, entry cardinality, field meanings, filtering options, and even a specialized use case. The only minor gaps are lack of pagination/limit details and error behavior, but these are not critical for initial tool selection.

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

Parameters3/5

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

The input schema already describes all three parameters with clear definitions (e.g., 'Filter to a specific service name', 'ISO-8601 instant inclusive/exclusive'). The description adds minimal extra value by framing the time window as 'seen within the range', but it does not introduce format details or constraints beyond the schema. Baseline 3 is appropriate.

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 clearly states the tool lists available metrics with a specific per-(service, metric) pair structure. It distinguishes itself from the sibling 'metrics' tool by explicitly saying to use it 'before calling metrics' and by clarifying the unique entry expansion behavior.

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

Usage Guidelines5/5

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

It explicitly instructs to use this tool to discover metrics and which services emit them before calling metrics, and it names an alternative tool. It also provides a concrete use case (dead-emitter detection) that helps the agent decide when it's appropriate.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.8/5.0
Disambiguation2/5

Several tool pairs are near-duplicates, including three deprecated aliases (add_investigation_alert_channel vs add_alert_channel, list_investigation_alert_channels vs list_alert_channels, remove_investigation_alert_channel vs remove_alert_channel) that muddy the surface. Additionally, suppress_signal and create_ignore_rule both suppress alerting via different mechanisms, which could cause misselection despite detailed descriptions.

Naming Consistency4/5

The vast majority of tools follow a clear verb_noun snake_case pattern (create_api_test, list_issues, set_alert_rule_status). A few bare-noun tools (logs, spans, metrics) and the standalone verb correlate break the pattern slightly, but overall the naming is highly consistent and predictable.

Tool Count1/5

With 52 tools, this is on the extreme end of the calibration scale. Even accounting for the broad scope of an observability platform, the count is excessive and includes several deprecated redundancies that inflate it further.

Completeness5/5

The toolset provides comprehensive CRUD/lifecycle coverage across all major domains: alert rules (create, read, update, delete, status, delivery, preview), API tests (create, read, update, delete, run history, credentials), ignore rules and suppressions, issues with digest config, investigations with claim/read, channels, credentials, and rich query tools (logs, spans, metrics, SQL, traces, correlation). No obvious dead ends or missing core operations.

Resources