MCP Trace Inspector
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRACE_DIR | Yes | Path to a local folder of traces (JSONL spans or saved OTLP JSON exports) to inspect, passed with the --trace-dir option, e.g. "uvx spanhound --trace-dir /path/to/traces". |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_runsB | List recent agent runs: task, model, duration, tool use, human decisions, cost. Use first to find the trace_id for deeper inspection. |
| run_summaryB | Compact summary of one run (accepts trace_id prefix). |
| span_treeC | Nested span tree of a run — the shape of what the agent did, with durations. |
| slowest_spansA | Top-k slowest spans. Use for 'why was this run slow?'. Omit trace_id to search all runs. |
| approval_logA | Human-in-the-loop audit: every approval/denial/edit, who decided, and the rationale. Use when asked 'why did the agent get to do X?' or 'what was denied?'. |
| token_usageB | Token and cost totals. Omit trace_id to aggregate across all runs. |
| search_spansB | Substring search over span names/attributes, e.g. a tool name, file path, or 'denied'. |
| failure_reportB | Show bounded, redacted tool/provider failures and their actionable diagnostics. |
| tool_statsB | Rank tools by errors, denials, latency, and call volume to find unhealthy integrations. |
| security_auditC | Audit caller identity, tenant, server provenance, risk, and approval evidence for tool calls. |
| recent_activityA | Poll newly written spans using a cursor; useful while an agent run is still active. |
| compare_runsB | Compare selected trace-id prefixes for latency, cost, tokens, tools, and failures. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools have distinct analytical purposes (failure_report, tool_stats, security_audit, span_tree, slowest_spans, etc.), but token_usage and compare_runs overlap in cost/token/latency aggregation, and recent_activity vs list_runs both surface recent runs/spans, which could cause occasional misselection.
All 12 tools use a consistent snake_case noun_phrase or verb_noun pattern (failure_report, tool_stats, list_runs, run_summary, span_tree), making names predictable and readable.
12 tools is well within the ideal 3-15 range and each targets a specific diagnostic need (failures, stats, security, activity, comparison, runs, summary, tree, latency, approvals, tokens, search).
The surface covers run listing, summaries, span trees, failures, latency, tokens, security, approvals, search, and comparison—strong lifecycle coverage for trace inspection. Minor gaps like deleting/exporting traces or filtering by date/tool in list_runs are workaround-able but not critical.