Skip to main content

A2A-Mermaid-Tracer

CI Python 3.10+ License: MIT

CLI tool to generate Mermaid.js sequence diagrams from A2A (Agent2Agent) protocol communication traces.

Visualize multi-agent interactions at a glance.

Example diagram

Features

  • Parse JSON-RPC 2.0 trace logs (JSON array or NDJSON format)
  • Generate Mermaid sequence diagrams with:
    • Request arrows (solid)
    • Response arrows (dashed)
    • Error indicators (cross arrows)
    • Timestamp annotations
    • Task ID references
    • Task grouping (--group-by-task for rect blocks)
  • Output to stdout or file (.md with code block, or raw .mmd)
  • Stdin support (--input -) for pipeline usage
  • Strict mode (--strict) to fail on malformed entries

Installation

pip install a2a-mermaid-tracer

Or for development:

git clone https://github.com/matthieu-music/a2a-mermaid-tracer.git
cd a2a-mermaid-tracer
pip install -e ".[dev]"

Quick Start

# From a file
a2a-mermaid-tracer generate --input traces.json --output diagram.md

# From stdin
cat traces.json | a2a-mermaid-tracer generate --input - --title "My Agents"

# With task grouping
a2a-mermaid-tracer generate --input traces.json --group-by-task

# Strict mode (fail on bad entries)
a2a-mermaid-tracer generate --input traces.json --strict

Example output

sequenceDiagram
    participant OrchestratorAgent as OrchestratorAgent
    participant ResearchAgent as ResearchAgent
    participant AnalystAgent as AnalystAgent
    participant WriterAgent as WriterAgent

    OrchestratorAgent ->> ResearchAgent: "Find Q1 2025 earnings for AAPL"
    Note right of OrchestratorAgent: 10:30:00
    ResearchAgent -->> OrchestratorAgent: "AAPL Q1 2025: Revenue $124.3B, EPS $2.40"
    OrchestratorAgent ->> AnalystAgent: "Analyze AAPL earnings vs Q1 2024"
    Note right of OrchestratorAgent: 10:30:04
    AnalystAgent --x OrchestratorAgent: ERROR: Missing Q1 2024 data for comparison
    OrchestratorAgent ->> ResearchAgent: "Find Q1 2024 earnings for AAPL"
    Note right of OrchestratorAgent: 10:30:09
    ResearchAgent -->> OrchestratorAgent: "AAPL Q1 2024: Revenue $119.6B, EPS $2.18"
    OrchestratorAgent ->> AnalystAgent: "Analyze AAPL Q1 2025 vs Q1 2024"
    Note right of OrchestratorAgent: 10:30:12
    AnalystAgent -->> OrchestratorAgent: "Revenue +3.9% YoY, EPS +10.1% YoY"
    OrchestratorAgent ->> WriterAgent: "Write a brief earnings report for AAPL"
    Note right of OrchestratorAgent: 10:30:17
    WriterAgent -->> OrchestratorAgent: "AAPL Q1 2025 Report: Strong growth with"

CLI Reference

Usage: a2a-mermaid-tracer generate [OPTIONS]

Options:
  -i, --input PATH       Path to trace file (JSON array or NDJSON). Use '-' for stdin.  [required]
  -o, --output PATH      Path to write the Mermaid diagram (default: stdout)
  -t, --title TEXT       Optional title for the diagram
  --strict               Fail on malformed entries instead of skipping them
  --group-by-task        Group interactions by task ID in rect blocks
  --help                 Show this message and exit.

Trace format

The input file should contain JSON-RPC 2.0 messages with sender/receiver metadata:

[
  {
    "sender": "AgentA",
    "receiver": "AgentB",
    "timestamp": "2025-06-15T10:30:00Z",
    "message": {
      "jsonrpc": "2.0",
      "id": "req-001",
      "method": "message/send",
      "params": { ... }
    }
  }
]

NDJSON (one JSON object per line) is also supported — see examples/sample_traces.ndjson.

Development

pip install -e ".[dev]"
ruff check src/ tests/
ruff format src/ tests/
pytest

License

MIT

Metadata

Release files for a2a-mermaid-tracer 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for a2a-mermaid-tracer 0.2.0
File Size Uploaded
a2a_mermaid_tracer-0.2.0.tar.gz 104.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for a2a-mermaid-tracer 0.2.0
File Interpreter ABI Platform
a2a_mermaid_tracer-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 115.1 kB

Release files / a2a_mermaid_tracer-0.2.0.tar.gz

Download URL a2a_mermaid_tracer-0.2.0.tar.gz
Size 104.7 kB
Tags Source
SHA-256 checksum
How to use checksums
23ffd152560ebce55d0ebbb7ceaa6b1d4d669acee236bca75afcef04a72dc214
BLAKE2b-256 checksum
How to use checksums
3c5f46cf883ca91949e6ccb4774673287af4084546a9430a417d367b916ae5c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release files / a2a_mermaid_tracer-0.2.0-py3-none-any.whl

Download URL a2a_mermaid_tracer-0.2.0-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c29b176728e59e390c48d90998a13a80a1134a3b9d7a5bbd341bf5e5079068a4
BLAKE2b-256 checksum
How to use checksums
2149b6cc80446c423089376da45dfe5afb7dbbd122e63efc10d27928f153dd72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page