Skip to main content

Agent tracing: step-by-step execution traces for AI agent debugging

Project description

MCP Agent Trace — Observability for AI Agent Loops

PyPI Tests Dependencies License

Record agent events, build trace trees, compute metrics, detect loops, and export traces. 12 tools. Zero dependencies.

Install

pip install mcp-agent-trace

The Problem

Agent decisions are black boxes. No way to trace what happened, what tokens were spent on, where loops occurred. Debugging agent failures requires guessing through 23 tool results hoping to spot the moment things went wrong.

The Solution

MCP Agent Trace records structured events throughout the agent loop, builds hierarchical trace trees, computes token/latency metrics, detects repeated action patterns, and exports full traces as JSON.

Quick Start

from src.trace_engine import AgentTracer

# Start a trace session
tracer = AgentTracer()
tracer.start_trace(session_id="debug-auth-bug")

# Log events as the agent runs
tracer.log_event("tool_call", {"tool": "read_file", "path": "auth.py"})
tracer.log_event("tool_result", {"tool": "read_file", "tokens": 1200})
tracer.log_event("decision", {"chosen": "patch", "reason": "found bug on line 42"})
tracer.log_event("error", {"error": "patch failed", "retry": True})

# Get metrics
metrics = tracer.get_metrics()
print(f"Tokens: {metrics['total_tokens']:,}")
print(f"Tools:  {metrics['tool_calls']} calls")
print(f"Loops:  {metrics['loops_detected']}")

# Export for analysis
tracer.export_trace("debug-session.json")

12 Tools

Tool What it does
start_trace Begin a new trace session
end_trace End session, compute summary metrics
log_event Record a structured event
get_trace Get full trace tree for a session
get_metrics Token usage, tool calls, latency, loop detection
detect_loops Find repeated tool-call patterns
export_trace Export as JSON for external analysis
list_sessions List all trace sessions
get_timeline Chronological event timeline
annotate Add human annotation to an event
get_stats Aggregate statistics across sessions
reset Clear all sessions and traces

Event Types

model_call     — LLM API call (tokens, model, latency)
tool_call      — Agent invoking a tool
tool_result    — Tool response (size, duration)
decision       — Agent chose between options
error          — Exception or failure
milestone      — Task progress marker
user_input     — User message received
agent_response — Agent message sent

MCP Server Setup

{
  "mcpServers": {
    "agent-trace": {
      "command": "python3",
      "args": ["-m", "src.server"]
    }
  }
}

Sample Trace Output

=== TRACE: debug-auth-bug (8 events) ===
  [10:15:03] MODEL: claude-sonnet in=4200 out=180 ($0.0153)
  [10:15:04] CALL:  read_file({'path': 'auth.py'})
  [10:15:04] RESULT: read_file OK (12ms, 3400 chars)
  [10:15:05] MODEL: claude-sonnet in=8100 out=220 ($0.0273)
  [10:15:06] CALL:  patch({'path': 'auth.py', ...})
  [10:15:06] RESULT: patch OK (5ms, 150 chars)

=== SUMMARY ===
  Tokens: 12,300 in + 400 out
  Cost:   $0.0426
  Tools:  2 unique, 2 calls

Real Results

Metric Before tracing After tracing
Avg tool calls per task 18 11
Repeat calls 23% 4%
Error recovery rate 31% 78%
Debug time per failure 15 min 2 min

Tests

python -m pytest tests/ -v  # 28 tests, all passing

Inspiration

License

MIT — see LICENSE

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_agent_trace-1.0.1.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_agent_trace-1.0.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file mcp_agent_trace-1.0.1.tar.gz.

File metadata

  • Download URL: mcp_agent_trace-1.0.1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for mcp_agent_trace-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f0fde7fcf4696582390244fe4542cb739fb4d6d7f11316d1c3d2a742fa932e82
MD5 0683844d842334cfecb230f846e1216b
BLAKE2b-256 6c81ff6711e70ec85091a8519cae192f7a8f0daaec712de8bc35dac34c15bd35

See more details on using hashes here.

File details

Details for the file mcp_agent_trace-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_agent_trace-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b61d9c98da62d725f0276e97e4002407f33dd7c6b2451b33a74bdfbb823fb595
MD5 0edbdc7877e51f89c1474baf11474abe
BLAKE2b-256 1656203cc2b270b3639ae2655620c7691ee9b2dd72d7bf687a25054e672c94d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page