
MCP Agent Trace Inspector
from dbsectrainer
Step-by-step observability for MCP agent workflows โ trace, inspect, and debug multi-step agent executions
MCP Agent Trace Inspector
npm mcp-agent-trace-inspector package
Local-first, MCP-native observability for agent workflows. Every tool call, prompt transformation, latency, and token count is recorded in a local SQLite database โ no cloud account, no API key, no traces leaving your machine. Built specifically for MCP rather than bolted onto a generic LLM proxy.
Tool reference | Configuration | Contributing | Troubleshooting | Design principles
Key features
- Tool call tracing: Captures inputs, outputs, latency, and token usage for every step in a workflow.
- Persistent storage: Traces survive session restarts; stored locally in SQLite with no external dependencies.
- HTML dashboard: Generates a self-contained single-file dashboard with an interactive step timeline.
- Token cost estimation: Calculates USD cost per trace using a configurable model pricing table โ no API calls required.
- Trace comparison: Diff two traces side by side to measure the impact of prompt or tool changes.
- Low overhead: Adds less than 5ms per step; never becomes the bottleneck.
Why this over LangSmith / AgentOps?
| mcp-agent-trace-inspector | LangSmith / AgentOps | |
|---|---|---|
| Data location | Local SQLite โ never leaves your machine | Cloud-hosted; traces sent to external servers |
| Setup | npx one-liner, zero config | Account signup, API key, SDK instrumentation |
| MCP-aware | Native โ records tool calls as first-class steps | Generic LLM proxy; MCP structure is opaque |
| Run diffs | Built-in compare_traces diff | Separate paid feature or manual export |
| Cost estimation | Offline tiktoken + configurable pricing table | Requires live API traffic through their proxy |
| Overhead | <5ms per step | Network round-trip per event |
If your traces contain sensitive tool outputs, proprietary prompts, or data that must stay on-device, this is the right tool. If you need cross-team trace sharing or a managed SaaS, use LangSmith.
Disclaimers
mcp-agent-trace-inspector stores tool call inputs and outputs locally in a SQLite database. Traces may contain sensitive information passed to or returned from your tools. Review trace contents before sharing dashboard exports. Traces are not automatically transmitted; optional alert webhooks are available.
Your first prompt
Enter the following in your MCP client to verify everything is working:
Start a trace called "test-run", then list the files in the current directory, then end the trace and show me the summary.Your client should return a summary showing step count, total tokens, and latency.
Tools
Trace lifecycle (3 tools)
trace_startโ begin a new trace; returns atrace_idfor subsequent callstrace_stepโ record one tool call step (inputs, outputs, optional token count and latency)trace_endโ mark a trace as completed
Inspection (4 tools)
list_tracesโ list stored traces with names, statuses, and timestampsget_trace_summaryโ token totals, step count, latency, and cost estimate for a tracecompare_tracesโ diff two traces side by side (step counts, tokens, latency)extract_reasoning_chainโ extract only reasoning/thinking steps from a trace
Export (3 tools)
export_dashboardโ generate a self-contained single-file HTML dashboard with latency waterfallexport_otelโ export one or all traces in OpenTelemetry OTLP JSON span formatexport_compliance_logโ export the compliance audit log as JSON or CSV, with optional date range filtering
Operations (3 tools)
configure_alertsโ configure alert rules on latency, error rate, or cost; fire to Slack or generic webhooksset_retention_policyโ set how many days to keep traces (in-memory; must be called beforeapply_retention)apply_retentionโ archive traces older than the configured threshold; delete traces past 2x the threshold
Design principles
- Append-only traces: Steps are immutable once recorded. Trust requires integrity.
- Local-first: All core functionality works without a network connection.
- Portable dashboards: HTML exports are always single-file; no server required to view them.
Verification
Before publishing a new version, verify the server with MCP Inspector to confirm all tools are exposed correctly and the protocol handshake succeeds.
Interactive UI (opens browser):
npm run build && npm run inspectCLI mode (scripted / CI-friendly):
# List all tools
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list
# List resources and prompts
npx @modelcontextprotocol/inspector --cli node dist/index.js --method resources/list
npx @modelcontextprotocol/inspector --cli node dist/index.js --method prompts/list
# Call a tool (example โ replace with a relevant read-only tool for this plugin)
npx @modelcontextprotocol/inspector --cli node dist/index.js \
--method tools/call --tool-name list_traces
# Call a tool with arguments
npx @modelcontextprotocol/inspector --cli node dist/index.js \
--method tools/call --tool-name list_traces --tool-arg key=valueRun before publishing to catch regressions in tool registration and runtime startup.
MCP Registry & Marketplace
This plugin is available on:
Search for mcp-agent-trace-inspector.
# List all tools
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list
# List resources and prompts
npx @modelcontextprotocol/inspector --cli node dist/index.js --method resources/list
npx @modelcontextprotocol/inspector --cli node dist/index.js --method prompts/list
# Call a tool (example โ replace with a relevant read-only tool for this plugin)
npx @modelcontextprotocol/inspector --cli node dist/index.js \
--method tools/call --tool-name list_traces
# Call a tool with arguments
npx @modelcontextprotocol/inspector --cli node dist/index.js \
--method tools/call --tool-name list_traces --tool-arg key=valueRequirements
- Node.js v22.5.0 or newer.
- npm.
Getting started
Add the following config to your MCP client:
{
"mcpServers": {
"trace-inspector": {
"command": "npx",
"args": ["-y", "mcp-agent-trace-inspector@latest"]
}
}
}To set a custom storage path:
{
"mcpServers": {
"trace-inspector": {
"command": "npx",
"args": [
"-y",
"mcp-agent-trace-inspector@latest",
"--db=~/traces/my-project.db"
]
}
}
}MCP Client configuration
Amp ยท Claude Code ยท Cline ยท Cursor ยท VS Code ยท Windsurf ยท Zed
Configuration
--db / --db-path
Path to the SQLite database file used to store traces.
Type: string
Default: ~/.mcp/traces.db
--retention-days
Automatically delete traces older than N days. Set to 0 to disable.
Type: number
Default: 0
--pricing-table
Path to a JSON file containing custom model pricing ($/1K tokens). Overrides the built-in table.
Type: string
--no-token-count
Disable tiktoken-based token counting. Traces will omit token usage metrics.
Type: boolean
Default: false
Pass flags via the args property in your JSON config:
{
"mcpServers": {
"trace-inspector": {
"command": "npx",
"args": ["-y", "mcp-agent-trace-inspector@latest", "--retention-days=30"]
}
}
}No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub โ