Skip to main content
Glama
UjjwalSk

Tempo MCP Server

by UjjwalSk

tempo_get_trace_spans

Retrieves all spans from a specific trace, with optional filters for service, span name, duration, attributes, or error status to narrow down results.

Instructions

Get all spans from a specific trace with optional filtering by service name, span name, duration, attributes, or error status

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
traceIdYesThe trace ID
hasErrorNoFilter spans with errors only
spanNameNoFilter by span name (partial match)
attributesNoFilter by span attributes (e.g., {"http.method": "POST", "http.status_code": "500"})
maxDurationNoMaximum span duration in milliseconds
minDurationNoMinimum span duration in milliseconds
serviceNameNoFilter by service name
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It's a read operation (fetching spans), so the readOnly nature is implied but not explicitly stated. The description doesn't disclose pagination limits (traces can have hundreds of spans), whether results are returned in any particular order, or what happens when no spans match the filters. For a potentially large-returning fetch tool with zero annotation coverage, this is a notable gap.

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?

A single, efficient sentence that front-loads the core purpose (get spans from a trace) and then enumerates the filtering dimensions. Zero wasted words, no redundancy with the schema.

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

Completeness3/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 might be expected to note the return shape—but for span retrieval this is reasonably self-evident. With 7 parameters, a complex nested 'attributes' object, and no annotations, the description is adequate but doesn't cover behavioral caveats like result limits, ordering, or default filter behavior. It's a minimum-viable description for a moderately complex tool.

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 all 7 parameters are documented in the schema itself. The description summarizes the filtering dimensions (service name, span name, duration, attributes, error status) which roughly maps to the parameters. Since coverage is high, baseline 3 applies; the description adds little beyond naming the filter categories, not syntax or interaction rules between filters.

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

Purpose4/5

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

The description states a clear verb+resource: 'Get all spans from a specific trace'. The scope is specific (from a trace, not a global search) and the sibling tools like tempo_search_spans (global span search) and tempo_search_traces (trace querying) are differentiated by this trace-scoped focus. It doesn't explicitly name alternatives but the phrase 'from a specific trace' implies the distinction.

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

Usage Guidelines3/5

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

The description explains what filtering dimensions are available (service, span name, duration, attributes, error status) which implies when this is appropriate—when you already have a traceId and want to drill down. However, it does not state any exclusion criteria (e.g., 'use tempo_search_spans for cross-trace filtering') or prerequisites beyond the required traceId being self-evident from the schema.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/UjjwalSk/tempo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server