Skip to main content

Observability for AI agent loops: trace trees, metrics, loop detection, cost tracking. Zero dependencies.

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

Requirements: Python 3.10+. Zero runtime dependencies (stdlib only).

Type checking: Ships with py.typed marker (PEP 561). Compatible with mypy, pyright, and pyrefly.

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.2.0.tar.gz (11.5 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.2.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_agent_trace-1.2.0.tar.gz
  • Upload date:
  • Size: 11.5 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.2.0.tar.gz
Algorithm Hash digest
SHA256 e6010cb54cd4761cdecf9c4d2affa53f10c7120e95627a751540559e57745d07
MD5 51ed1bf31dbbafb8a2e4e0d6a5bd926c
BLAKE2b-256 4d8e0aa72b225a1dfe51541f5481ae9a1622777c096d49aa9a9416ab8b14b118

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mcp_agent_trace-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7df64b20076eb2ff2eabfd4d1e05886568beee51f57208ffb09227ad6bf7debf
MD5 bf8268713062515b95d399c7e4b3c808
BLAKE2b-256 2e9b836dd5bec42358a8da3478553201f83d0b514b19d48fb8ebc1b40eb6f0b5

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