Skip to content

Agent Protocol

Overview

Agent Protocol is the standard for agents communicating with each other.

Different from MCP (which is for tools) - this is for agent-to-agent messaging.


MCP vs Agent Protocol

Key Difference

MCP (Model Context Protocol):
 Agent ←→ Tools
 "Call function X with args Y"

Agent Protocol:
 Agent ←→ Agent
 "Delegate task X to you"

-

Agent Protocol Basics

Request/Response Pattern

class AgentProtocol:
 """Standard agent-to-agent communication"""

 def delegate_task(self, task: dict) -> dict:
 """Send task to another agent"""

 request = {
 "task_id": "task_123",
 "description": "Analyze this data",
 "data": {...},
 "deadline": "2024-08-10T15:00:00Z",
 "required_format": "json",
 "priority": "high"
 }

 response = self.send_request(request)

 return response

 def receive_task(self, request: dict) -> dict:
 """Receive task from another agent"""

 task_id = request["task_id"]
 task_desc = request["description"]

 # Execute task
 result = self.execute(task_desc)

 # Send response
 response = {
 "task_id": task_id,
 "status": "completed",
 "result": result,
 "execution_time_ms": 1234
 }

 return response

Comparison: Subagents vs Agent Protocol

Subagents (Built-in)

# Using Subagents:
parent = ParentAgent()
child = SubAgent()

result = child.run(task) # Direct function call

Agent Protocol

# Using Agent Protocol:
parent = Agent()
other_agent = RemoteAgent()

result = parent.send_message({
 "type": "task",
 "content": task
})

# Network call, async, protocol-based

When to Use

Decision

Scenario Use Subagents Use Agent Protocol
Same process Yes No
Different services No Yes
Network communication No Yes
Containerized agents No Yes
Speed critical Yes No
Distributed No Yes

3 Warnings

Warning 1: Confusing MCP and Agent Protocol

# WRONG
# Using MCP for agent-to-agent

# RIGHT
# MCP for tools
# Agent Protocol for agents

Warning 2: Network Overhead

# WRONG
# Agent Protocol for everything
# Massive latency

# RIGHT
# Use Subagents for co-located
# Use Agent Protocol for distributed

Warning 3: Serialization Issues

# WRONG
# Not checking message format

# RIGHT
# Validate message schema
# Ensure compatibility

-

Last Updated: August 9, 2026