Crawler Summary

crewai-a2a answer-first brief

A2A-compliant multi-agent research crew built with CrewAI. Hierarchical team (Coordinator, Researcher, Writer) exposed as a JSON-RPC 2.0 service. Supports peer delegation to any A2A agent. Fork and customize for your own agents. crewai-a2a A multi-agent research crew built with $1, exposed as an $1 service. Send it a topic via A2A's SendMessage and it returns a structured research report. Architecture Three agents collaborate in a hierarchical crew: - **Coordinator** decomposes the request into sub-tasks and delegates to the team. - **Researcher** investigates each sub-topic. When a peer A2A service is configured, can delegate analysis to it Capability contract not published. No trust telemetry is available yet. Last updated 5/31/2026.

Freshness

Last checked 5/31/2026

Best For

crewai-a2a is best for crewai, multi-agent workflows where OpenClaw compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

editorial-content, GITHUB OPENCLEW, runtime-metrics, public facts pack

Claim this agent
Agent DossierGitHubSafety: 66/100

crewai-a2a

A2A-compliant multi-agent research crew built with CrewAI. Hierarchical team (Coordinator, Researcher, Writer) exposed as a JSON-RPC 2.0 service. Supports peer delegation to any A2A agent. Fork and customize for your own agents. crewai-a2a A multi-agent research crew built with $1, exposed as an $1 service. Send it a topic via A2A's SendMessage and it returns a structured research report. Architecture Three agents collaborate in a hierarchical crew: - **Coordinator** decomposes the request into sub-tasks and delegates to the team. - **Researcher** investigates each sub-topic. When a peer A2A service is configured, can delegate analysis to it

OpenClawself-declared

Public facts

3

Change events

0

Artifacts

0

Freshness

May 31, 2026

Verifiededitorial-contentNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 5/31/2026.

Trust evidence available

Trust score

Unknown

Compatibility

OpenClaw

Freshness

May 31, 2026

Vendor

Thousandfacedhero

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Verifiededitorial-content

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 5/31/2026.

Setup snapshot

git clone https://github.com/ThousandFacedHero/crewai-a2a.git
  1. 1

    Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.

  2. 2

    Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Verifiededitorial-content
Vendor (1)

Vendor

Thousandfacedhero

profilemedium
Observed May 23, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

OpenClaw

contractmedium
Observed May 23, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredGITHUB OPENCLEW

Extracted files

0

Examples

6

Snippets

0

Languages

python

Executable Examples

text

Coordinator (manager)
  |-- Researcher  -->  [optional A2A peer delegation]
  |-- Writer

bash

# Clone and enter the repo
git clone <repo-url> crewai-a2a && cd crewai-a2a

# Create your environment file
cp .env.example .env
# Edit .env — set LLM_BASE_URL and LLM_API_KEY at minimum

# Install dependencies
uv sync

# Run the server
uv run python -m crewai_a2a.server

bash

curl -X POST http://localhost:5000/ \
  -H "Content-Type: application/json" \
  -H "A2A-Version: 1.0" \
  -d '{

bash

curl -X POST http://localhost:5000/ \
  -H "Content-Type: application/json" \
  -H "A2A-Version: 1.0" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "SendMessage",
    "params": {
      "message": {
        "role": "ROLE_USER",
        "parts": [{"text": "Research the current state of quantum computing"}],
        "messageId": "msg-1"
      }
    }
  }'

bash

docker compose up --build

bash

uv run pytest

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredGITHUB OPENCLEW

Docs source

GITHUB OPENCLEW

Editorial quality

ready

A2A-compliant multi-agent research crew built with CrewAI. Hierarchical team (Coordinator, Researcher, Writer) exposed as a JSON-RPC 2.0 service. Supports peer delegation to any A2A agent. Fork and customize for your own agents. crewai-a2a A multi-agent research crew built with $1, exposed as an $1 service. Send it a topic via A2A's SendMessage and it returns a structured research report. Architecture Three agents collaborate in a hierarchical crew: - **Coordinator** decomposes the request into sub-tasks and delegates to the team. - **Researcher** investigates each sub-topic. When a peer A2A service is configured, can delegate analysis to it

Full README

crewai-a2a

A multi-agent research crew built with CrewAI, exposed as an A2A service. Send it a topic via A2A's SendMessage and it returns a structured research report.

Architecture

Three agents collaborate in a hierarchical crew:

Coordinator (manager)
  |-- Researcher  -->  [optional A2A peer delegation]
  |-- Writer
  • Coordinator decomposes the request into sub-tasks and delegates to the team.
  • Researcher investigates each sub-topic. When a peer A2A service is configured, can delegate analysis to it via the delegate_to_a2a_agent tool.
  • Writer transforms research findings into a structured markdown report.

Agent roles, goals, and backstories are defined in config/agents.yaml. Task descriptions live in config/tasks.yaml.

A2A Protocol

The server implements the A2A protocol (JSON-RPC 2.0 binding, protocol version 1.0):

  • Agent card at /.well-known/agent-card.json
  • SendMessage accepts a text topic, returns a completed task with the report as an artifact
  • Task lifecycle: SUBMITTED -> WORKING -> COMPLETED / FAILED
  • Health check at /healthz

A2A Peer Delegation

When A2A_PEER_URL is set, the Researcher agent gets a delegate_to_a2a_agent tool that makes A2A JSON-RPC calls to the configured peer. This uses CrewAI's standard tool calling mechanism rather than CrewAI's built-in A2A client, which has a known issue with models that wrap JSON output in markdown fences.

a2a-sdk Compatibility

CrewAI 1.14.x targets a2a-sdk 0.3.x. This project uses a2a-sdk 1.0.x for the protobuf-based server stack. The _a2a_compat.py module bridges CrewAI's 0.3.x type imports to 1.0.x at runtime. The [tool.uv] section in pyproject.toml overrides CrewAI's transitive 0.3.x pin. When CrewAI natively supports a2a-sdk 1.0.x, the compat layer and override can be removed.

Quickstart

Requires Python 3.10+ and uv.

# Clone and enter the repo
git clone <repo-url> crewai-a2a && cd crewai-a2a

# Create your environment file
cp .env.example .env
# Edit .env — set LLM_BASE_URL and LLM_API_KEY at minimum

# Install dependencies
uv sync

# Run the server
uv run python -m crewai_a2a.server

The server starts on port 5000 (configurable via A2A_PORT).

Test it

curl -X POST http://localhost:5000/ \
  -H "Content-Type: application/json" \
  -H "A2A-Version: 1.0" \
  -d '{
    "jsonrpc": "2.0",
    "id": "1",
    "method": "SendMessage",
    "params": {
      "message": {
        "role": "ROLE_USER",
        "parts": [{"text": "Research the current state of quantum computing"}],
        "messageId": "msg-1"
      }
    }
  }'

Docker

docker compose up --build

Configuration

All configuration is via environment variables. See .env.example for the full list.

| Variable | Required | Default | Description | |----------|----------|---------|-------------| | LLM_BASE_URL | Yes | | OpenAI-compatible API base URL | | LLM_API_KEY | Yes | | API key for the LLM endpoint | | LLM_MODEL | No | gpt-4o | Model name | | A2A_PORT | No | 5000 | Server listen port | | A2A_PEER_URL | No | | A2A peer for delegation (e.g. http://localhost:5001) | | SSL_VERIFY | No | true | Set false for self-signed certificate environments | | LOG_LEVEL | No | INFO | Python logging level |

Per-Agent LLM Overrides

Each agent can use a different LLM endpoint, key, or model. Set {AGENT}_LLM_API_KEY, {AGENT}_LLM_MODEL, or {AGENT}_LLM_BASE_URL where {AGENT} is COORDINATOR, RESEARCHER, or WRITER. Unset variables fall back to the global defaults.

Customization

  • Agents: Edit config/agents.yaml to change roles, goals, and backstories.
  • Tasks: Edit config/tasks.yaml to change task descriptions and expected outputs.
  • Tools: Add tools to agents in src/crewai_a2a/agents.py.
  • Crew process: Change from hierarchical to sequential in src/crewai_a2a/crew.py.

Tests

uv run pytest

Project Structure

config/
  agents.yaml          # Agent role definitions
  tasks.yaml           # Task descriptions
src/crewai_a2a/
  server.py            # A2A server (Starlette + a2a-sdk)
  crew.py              # Crew assembly
  agents.py            # Agent creation with LLM and tool wiring
  tasks.py             # Task creation
  a2a_tool.py          # Custom A2A delegation tool
  config.py            # Pydantic settings
  _a2a_compat.py       # a2a-sdk 0.3.x -> 1.0.x bridge for CrewAI
tests/
  test_server.py       # A2A server + agent card tests
  test_a2a_tool.py     # A2A delegation tool tests
  test_agents.py       # Agent wiring tests
  test_crew.py         # Crew assembly tests
  test_config.py       # Settings tests

License

MIT

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingGITHUB OPENCLEW

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

OpenClaw: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/contract"
curl -s "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
GITHUB_OPENCLEW@x1pay/langchain

Rank

65

LangChain/LangGraph tools for AI agent x402 payments on X1

Traction

No public download signal

Freshness

Updated 4mo ago

OPENCLAW

Rank

65

An implementation of a multi-agent swarm using LangGraph

Traction

No public download signal

Freshness

Updated 4mo ago

OPENCLAW
GITHUB_OPENCLEWoceanbus-langchain

Rank

65

LangChain tools for OceanBus — give your LangChain and CrewAI agents a global identity, encrypted messaging, and Yellow Pages service discovery with a single import.

Traction

No public download signal

Freshness

Updated 4mo ago

OPENCLAW
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "OPENCLEW"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "GITHUB_OPENCLEW",
      "generatedAt": "2026-10-08T22:19:43.202Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "OPENCLEW",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    },
    {
      "key": "crewai",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    },
    {
      "key": "multi-agent",
      "type": "capability",
      "support": "supported",
      "confidenceSource": "profile",
      "notes": "Declared in agent profile metadata"
    }
  ],
  "flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "label": "Vendor",
    "value": "Thousandfacedhero",
    "category": "vendor",
    "href": "https://github.com/ThousandFacedHero/crewai-a2a",
    "sourceUrl": "https://github.com/ThousandFacedHero/crewai-a2a",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-05-23T06:54:00.810Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "protocols",
    "label": "Protocol compatibility",
    "value": "OpenClaw",
    "category": "compatibility",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-05-23T06:54:00.810Z",
    "isPublic": true,
    "metadata": {}
  },
  {
    "factKey": "handshake_status",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "category": "security",
    "href": "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/crewai-thousandfacedhero-crewai-a2a/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true,
    "metadata": {}
  }
]

Change Events JSON

[]

Sponsored

Ads related to crewai-a2a and adjacent AI workflows.