Skip to main content
Glama

correlate

One-shot cross-signal pivot for a trace id.

Given a trace id, returns (all fields top-level, no nested summary object): rootOperation, spanCount, errorCount, totalDurationNanos, startTime — trace summary spans — every span in the trace (up to 1000) logs — logs tagged with that traceId (no window limit, up to 1000) exemplars — metric exemplars whose traceId matches, within the span window (up to 1000) windowFrom / windowTo — the derived scan window (earliest span - 5s / latest span end + 5s)

The window is derived from the trace's spans. If the trace is unknown, spans and exemplars are empty but logs are still returned if they carry the traceId. Exemplar filtering is window-bounded; log filtering is not.

Use this as the primary entry point when you have a trace id and want to see all correlated signals at once. Returns core fields by default; verbose=true flattens attributes in for both spans and logs (plus a resource object) and long string values are capped. Use run_sql for raw columns or custom selection. After reviewing the result, drill into individual signals with logs, spans, or metrics as needed.

Long-lived traces (scheduler ticks, batch jobs) can produce very large verbose responses even with the caps. Prefer verbose=false first; for error triage, the logs tool with traceId + level is a cheaper, targeted alternative. Pass maxStringChars to tighten string truncation per call.

Returns: traceId, traceUrl, rootOperation, spanCount, errorCount, totalDurationNanos, startTime, windowFrom, windowTo, spans[], logs[], exemplars[], queryStats. traceUrl is a shareable Fixter UI link for this trace — attach it when citing the trace as evidence to the user.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
traceIdYesLowercase hex trace id
verboseNoInclude the row's attributes (flattened) + a resource object. Default false.
maxStringCharsNoMax characters of any string value (message or attribute) before truncation. Omit to use the server default.

TDQS

A4.8/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It discloses limits (up to 1000), window derivation rules, behavior when trace is unknown (spans/exemplars empty but logs returned), verbose flattening and string capping, and the traceUrl as shareable evidence. No contradictions exist.

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?

The description is lengthy but well-structured with clear sections (summary, return list, usage, caveats). Every sentence adds necessary information for a complex tool. Slight redundancy remains (return list repeated), but overall it is appropriately detailed without fluff; front-loaded with the core purpose.

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?

Given no output schema, the description thoroughly covers return fields, limits, edge cases, and behavioral nuances. It explains window derivation, empty-trace handling, and provides operational guidance (e.g., large verbose responses). This is complete for an agent to use 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 covers 100% of parameters, but the description adds meaningful context beyond schema: explains verbose's effect on return structure (flattens attributes, adds resource object), how maxStringChars controls truncation, and the practical advice to prefer verbose=false first. This enhances parameter understanding beyond the schema description.

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 starts with 'One-shot cross-signal pivot for a trace id' and explains it returns trace summary, spans, logs, and exemplars for a given traceId. It clearly distinguishes itself from siblings like run_sql and logs by stating 'Use this as the primary entry point' and explicitly lists when to use alternatives.

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?

Provides explicit when-to-use ('primary entry point when you have a trace id and want to see all correlated signals at once'), when-not-to-use ('for error triage, the logs tool ... is a cheaper, targeted alternative'), and names alternatives (run_sql for raw columns, logs, spans, metrics). It also advises on verbose=false first for long-lived traces.

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