Summary
Implement Agent2Agent (A2A) Protocol and Model Context Protocol (MCP) support to enable CIRISNode to function as a compliant "green agent" (evaluator) for the AgentBeats competition and broader agent interoperability.
Background
CIRISNode serves as the evaluation interface where AI agents ("purple agents") connect to take the HE-300 ethical benchmark. To participate in AgentBeats and enable universal agent interoperability, we need to implement two complementary protocols:
"All agents participating in AAA must comply with two open standards: Google's A2A protocol for task management, and MCP for tool and resource access. Any agent conforming to these standards can seamlessly participate in any AAA evaluation."
— AgentBeats Documentation
AgentBeats Requirements
Per the Phase 1 requirements:
Green Agent (Evaluator) Requirements
Evaluation Criteria We Must Meet
- Reproducibility: "Consistent results across runs with the same agents"
- Benchmark Design: Tasks that "test genuine agentic abilities—reasoning, planning, multi-step execution"
- Evaluation Methodology: "Automated evaluation where feasible"
Deadline: Phase 1 - January 31, 2026
Part 1: A2A Protocol Implementation
Overview
A2A is an open standard (originally Google, now Linux Foundation) enabling communication between AI agents using JSON-RPC 2.0 over HTTP(S).
"A2A tries to complement MCP where A2A is focused on a different problem, while MCP focuses on lowering complexity to connect agents with tools and data, A2A focuses on how to enable agents to collaborate."
— Google Developers Blog
Required Endpoints
1. Agent Card Discovery
GET /.well-known/agent.json
Returns JSON describing CIRISNode's capabilities:
{
"name": "CIRISNode HE-300 Evaluator",
"description": "Green agent for HE-300 ethical reasoning benchmark",
"version": "1.0.0",
"endpoint": "https://cirisnode.example.com/a2a",
"skills": [
{
"name": "he300_evaluation",
"description": "Evaluate agent responses against 300 ethical scenarios",
"input_schema": { ... },
"output_schema": { ... }
}
],
"auth": {
"type": "bearer",
"scheme": "jwt"
}
}
2. Task Management (JSON-RPC 2.0)
POST /a2a/rpc
Content-Type: application/json
{
"jsonrpc": "2.0",
"method": "tasks/create",
"params": {
"skill": "he300_evaluation",
"input": { "scenario_ids": [...], "model": "..." }
},
"id": "task-123"
}
Required methods:
3. Streaming Support (SSE)
For long-running HE-300 evaluations:
GET /a2a/tasks/{task_id}/stream
Accept: text/event-stream
A2A SDK
Use the official Python SDK:
Reference: a2aproject/A2A
Part 2: MCP Server Implementation
Overview
MCP enables purple agents to access CIRISNode's evaluation tools and benchmark data.
"The November 2025 specification represents a significant shift, expanding MCP beyond synchronous tool calling into an architecture capable of supporting secure, long-running, governed workflows."
— MCP Spec Updates
Required Primitives
1. Tools (Actions)
{
"tools": [
{
"name": "run_he300_scenario",
"description": "Evaluate agent response against a specific HE-300 scenario",
"inputSchema": {
"type": "object",
"properties": {
"scenario_id": { "type": "string" },
"agent_response": { "type": "string" }
},
"required": ["scenario_id", "agent_response"]
}
},
{
"name": "run_he300_batch",
"description": "Run batch evaluation across multiple scenarios",
"inputSchema": { ... }
},
{
"name": "get_evaluation_report",
"description": "Generate signed evaluation report",
"inputSchema": { ... }
}
]
}
2. Resources (Data)
{
"resources": [
{
"uri": "he300://scenarios",
"name": "HE-300 Scenario List",
"description": "Available ethical scenarios for evaluation",
"mimeType": "application/json"
},
{
"uri": "he300://categories",
"name": "Scenario Categories",
"description": "commonsense, deontology, justice, virtue ethics"
}
]
}
3. Tasks (Async Operations - Nov 2025 Spec)
For long-running benchmark evaluations:
{
"tasks": [
{
"name": "full_he300_benchmark",
"description": "Complete 300-scenario evaluation with report generation"
}
]
}
Transport Options
Authentication
Per MCP Nov 2025 spec, implement OAuth 2.1 with Resource Indicators (RFC 8707).
Reference: modelcontextprotocol/servers
Implementation Plan
Phase 1: Core A2A (Priority: High)
- Add
/.well-known/agent.json endpoint
- Implement JSON-RPC 2.0 router at
/a2a/rpc
- Create task lifecycle management (create/get/cancel)
- Add SSE streaming for task progress
Phase 2: MCP Server (Priority: High)
- Implement MCP server with tools primitive
- Expose HE-300 scenarios as resources
- Add async tasks for full benchmark runs
- Implement HTTP/SSE transport
Phase 3: AgentBeats Integration (Priority: Medium)
- Create Docker image with AgentBeats controller
- Build baseline purple agent for testing
- Register on AgentBeats platform
- Submit for Phase 1 evaluation
Phase 4: Security & Production (Priority: Medium)
- OAuth 2.1 authorization flow
- Rate limiting and access controls
- Audit logging for all evaluations
- Signed evaluation reports (Ed25519)
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Purple Agent (Under Test) │
└─────────────────────────┬───────────────────────────────────┘
│ A2A Protocol (JSON-RPC 2.0)
▼
┌─────────────────────────────────────────────────────────────┐
│ CIRISNode (Green Agent) │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────┐ │
│ │ A2A Endpoints │ │ MCP Server │ │ REST API │ │
│ │ /.well-known/ │ │ Tools/Resources │ │ /api/v1/ │ │
│ │ /a2a/rpc │ │ /mcp/ │ │ benchmarks │ │
│ └────────┬────────┘ └────────┬────────┘ └──────┬──────┘ │
│ └────────────────────┴──────────────────┘ │
│ │ │
└──────────────────────────────┼───────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────────┐
│ CIRISBench (Backend) │
│ EthicsEngine Enterprise + Infrastructure │
└─────────────────────────────────────────────────────────────┘
Acceptance Criteria
References
A2A Protocol
MCP Protocol
AgentBeats
Related
Summary
Implement Agent2Agent (A2A) Protocol and Model Context Protocol (MCP) support to enable CIRISNode to function as a compliant "green agent" (evaluator) for the AgentBeats competition and broader agent interoperability.
Background
CIRISNode serves as the evaluation interface where AI agents ("purple agents") connect to take the HE-300 ethical benchmark. To participate in AgentBeats and enable universal agent interoperability, we need to implement two complementary protocols:
AgentBeats Requirements
Per the Phase 1 requirements:
Green Agent (Evaluator) Requirements
Evaluation Criteria We Must Meet
Deadline: Phase 1 - January 31, 2026
Part 1: A2A Protocol Implementation
Overview
A2A is an open standard (originally Google, now Linux Foundation) enabling communication between AI agents using JSON-RPC 2.0 over HTTP(S).
Required Endpoints
1. Agent Card Discovery
Returns JSON describing CIRISNode's capabilities:
{ "name": "CIRISNode HE-300 Evaluator", "description": "Green agent for HE-300 ethical reasoning benchmark", "version": "1.0.0", "endpoint": "https://cirisnode.example.com/a2a", "skills": [ { "name": "he300_evaluation", "description": "Evaluate agent responses against 300 ethical scenarios", "input_schema": { ... }, "output_schema": { ... } } ], "auth": { "type": "bearer", "scheme": "jwt" } }2. Task Management (JSON-RPC 2.0)
Required methods:
tasks/create- Start new evaluation tasktasks/get- Get task status/resultstasks/cancel- Cancel running taskskills/list- List available evaluation capabilities3. Streaming Support (SSE)
For long-running HE-300 evaluations:
A2A SDK
Use the official Python SDK:
Reference: a2aproject/A2A
Part 2: MCP Server Implementation
Overview
MCP enables purple agents to access CIRISNode's evaluation tools and benchmark data.
Required Primitives
1. Tools (Actions)
{ "tools": [ { "name": "run_he300_scenario", "description": "Evaluate agent response against a specific HE-300 scenario", "inputSchema": { "type": "object", "properties": { "scenario_id": { "type": "string" }, "agent_response": { "type": "string" } }, "required": ["scenario_id", "agent_response"] } }, { "name": "run_he300_batch", "description": "Run batch evaluation across multiple scenarios", "inputSchema": { ... } }, { "name": "get_evaluation_report", "description": "Generate signed evaluation report", "inputSchema": { ... } } ] }2. Resources (Data)
{ "resources": [ { "uri": "he300://scenarios", "name": "HE-300 Scenario List", "description": "Available ethical scenarios for evaluation", "mimeType": "application/json" }, { "uri": "he300://categories", "name": "Scenario Categories", "description": "commonsense, deontology, justice, virtue ethics" } ] }3. Tasks (Async Operations - Nov 2025 Spec)
For long-running benchmark evaluations:
{ "tasks": [ { "name": "full_he300_benchmark", "description": "Complete 300-scenario evaluation with report generation" } ] }Transport Options
Authentication
Per MCP Nov 2025 spec, implement OAuth 2.1 with Resource Indicators (RFC 8707).
Reference: modelcontextprotocol/servers
Implementation Plan
Phase 1: Core A2A (Priority: High)
/.well-known/agent.jsonendpoint/a2a/rpcPhase 2: MCP Server (Priority: High)
Phase 3: AgentBeats Integration (Priority: Medium)
Phase 4: Security & Production (Priority: Medium)
Architecture
Acceptance Criteria
/.well-known/agent.json/a2a/rpcReferences
A2A Protocol
MCP Protocol
AgentBeats
Related