Skip to main content
Glama
log-10x

Log10x MCP Server

Official

Customer metrics query

log10x_customer_metrics_query
Read-onlyIdempotent

Run custom PromQL queries against the customer metric backend to explore labels, execute one-off expressions, or verify metric existence before correlation.

Instructions

Low-level PromQL passthrough to the customer metric backend configured via LOG10X_CUSTOMER_METRICS_URL. Returns the raw Prometheus response shape plus metadata about which backend served the query. This is the escape hatch for cross-pillar investigations the higher-level primitives don't cover: use it to explore the customer backend's label universe, run a one-off PromQL expression, or verify that a specific metric exists before correlating against it. For typical cross-pillar workflows, compose the deterministic primitives: log10x_metrics_that_moved → log10x_rank_by_shape_similarity → log10x_metric_overlay.

Input Schema

NameRequiredDescriptionDefault
endNoEnd of the range window. Required when mode=range.
modeNo`instant` runs a point-in-time query; `range` runs over a time window with a bucket step.instant
stepNoBucket step for range queries, in seconds. Required when mode=range.
startNoStart of the range window: ISO8601 or UNIX seconds. Required when mode=range.
promqlYesPromQL expression to execute against the customer metric backend. Example: `apm_request_duration_p99{service="payments-svc"}`.

Output Schema

NameRequiredDescriptionDefault
dataNo
toolYes
viewNosummary
imagesNo
actionsNo
summaryYes
warningsNo
truncatedNo
next_cursorNo
render_hintNo
generated_atYes
schema_epochYes
schema_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.30.8
    • changedInput schema / properties / start / description
      Previous value: -"Start of the range window — ISO8601 or UNIX seconds. Required when mode=range."New value: +"Start of the range window: ISO8601 or UNIX seconds. Required when mode=range."
  2. First observedv1.30.7

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuine context beyond that: the backend is env-var configured and the response is the raw Prometheus shape plus backend metadata. It omits auth requirements and rate limits, keeping it short of a 5.

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

Conciseness4/5

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

Three sentences, front-loaded with what the tool is, then when to use it, then the alternative. Dense but every sentence carries weight; slightly longer than strictly necessary but no filler.

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?

With an output schema present the description needn't explain return values, yet it helpfully notes the raw Prometheus shape plus backend metadata. Combined with the routing guidance, an agent has enough to invoke it correctly; only permission/limit specifics are absent.

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?

Schema description coverage is 100%, so the schema already documents promql, mode, step, start and end including the mode=range requirements. The description adds only an example PromQL expression and does not clarify parameter semantics beyond the schema, so baseline 3 applies.

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?

States a specific verb+resource ('PromQL passthrough to the customer metric backend') and pins the backend to the LOG10X_CUSTOMER_METRICS_URL configuration. It distinguishes itself from siblings by framing its role as 'the escape hatch' vs the deterministic primitives it names.

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?

Gives explicit when-to-use cases (explore the label universe, run a one-off PromQL expression, verify a metric exists) and names the exact alternative chain (`log10x_metrics_that_moved` → `log10x_rank_by_shape_similarity` → `log10x_metric_overlay`) that should be preferred for typical workflows.

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