StackA2A
orchestrationfastapipython

Template Multi Agent Ops

39

by cwccie

Multi-agent ops template: A2A protocol + Agent Cards + task delegation + OpenTelemetry observability

Updated 2026-02-22MIT
Quality Score39/100
Community
0
Freshness
100
Official
30
Skills
10
Protocol
30
🔒 Security
20

Getting Started

1Clone the repository
$ git clone https://github.com/cwccie/template-multi-agent-ops
2Navigate to the project
$ cd template-multi-agent-ops
3Install dependencies
$ pip install -r requirements.txt
4Run the agent
$ uvicorn main:app --reload

README

template-multi-agent-ops

Multi-agent operations template implementing the A2A (Agent-to-Agent) protocol with Agent Cards for discovery, task delegation, and OpenTelemetry observability for agent interactions.

Architecture

+------------------------------------------------------------------+
|                        CLI (click)                                |
|  agents | task | status | trace | topology                       |
+------------------------------------------------------------------+
|                                                                  |
|  +------------------+    +-------------------+                   |
|  |  Orchestration   |    |    Observability   |                  |
|  |  +-----------+   |    |  +-----------+     |                  |
|  |  | Planner   |   |    |  | Tracer    |     |                  |
|  |  +-----------+   |    |  +-----------+     |                  |
|  |  | Delegator |   |    |  | Metrics   |     |                  |
|  |  +-----------+   |    |  +-----------+     |                  |
|  |  | Supervisor|   |    |  | Dashboard |     |                  |
|  |  +-----------+   |    |  +-----------+     |                  |
|  +------------------+    +-------------------+                   |
|                                                                  |
|  +------------------+    +-------------------+                   |
|  |    Protocol      |    |     Agents        |                   |
|  |  +-----------+   |    |  +-----------+    |                   |
|  |  | Messages  |   |    |  | BaseAgent |    |                   |
|  |  +-----------+   |    |  +-----------+    |                   |
|  |  | Router    |   |    |  | AgentCard |    |                   |
|  |  +-----------+   |    |  +-----------+    |                   |
|  |  | Converse  |   |    |  | Registry  |    |                   |
|  |  +-----------+   |    |  +-----------+    |                   |
|  +------------------+    +-------------------+                   |
|                                                                  |
|  +----------------------------------------------------+         |
|  |                   Config                            |         |
|  |  topology.py (YAML agent definitions)               |         |
|  |  settings.py (system tuning parameters)             |         |
|  +----------------------------------------------------+         |
+------------------------------------------------------------------+

Message Flow

User/External
     |
     v
+-----------+     TaskRequest      +----------+     TaskRequest
|  Planner  | --(decompose)--->    | Delegator| ------>  Agent A
+-----------+                      +----------+          Agent B
     |                                  |                Agent C
     v                                  v
+-----------+     StatusUpdate     +----------+
| Supervisor| <--(monitor)----    | Registry |
+-----------+                      +----------+
     |
     v
 Aggregated
  Response

Agent Lifecycle

  init ---> ready ---> busy ---> idle ---> shutdown
              ^         |         |
              |         v         |
              +---- (message) ----+

Conversation State Machine

  negotiating ---> delegated ---> executing ---> completed
       |               |              |
       v               v              v
    failed          failed          failed

Quick Start

pip install -e .
multi-agent-ops --help
multi-agent-ops agents list
multi-agent-ops status

Docker

docker-compose up

Development

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest -v
ruff check src/ tests/

Configuration

Agent topology is defined in YAML:

agents:
  - name: orchestrator
    capabilities: [planning, delegation, supervision]
    queue_size: 100
  - name: network-agent
    capabilities: [network_scan, vulnerability_check]
    queue_size: 50
  - name: security-agent
    capabilities: [threat_analysis, compliance_check]
    queue_size: 50

System settings via settings.py or environment variables:

Setting Default Env Var
max_retries 3 MULTIAGENT_MAX_RETRIES
task_timeout 300 MULTIAGENT_TASK_TIMEOUT
queue_size 100 MULTIAGENT_QUEUE_SIZE
tracing_enabled true MULTIAGENT_TRACING_ENABLED
metrics_interval 60 MULTIAGENT_METRICS_INTERVAL

License

MIT License. Copyright 2026 Corey Wade.

Capabilities

StreamingPush NotificationsMulti-TurnAuth: none
ai-opsfastapimulti-agentopentelemetrypythonreference-architecture
View on GitHub