developer runtime
Ship the agent. Skip the platform rebuild.
Write the agent in Python or TypeScript/JS. Keep LangGraph, OpenAI Agents, CrewAI, or your own framework. Optionally ship a React app beside it. a2a cloud provides the deploy pipeline, hosted A2A protocol, MCP bridge, file grants, sandbox runtime, AgentCard, docs, proof layer.
agent.pypython
import a2a_pack as a2a
from a2a_pack import A2AAgent, NoAuth, RunContext
class Research(A2AAgent[dict, NoAuth]):
name = "research-agent"
description = "Researches a topic and writes a sourced brief."
@a2a.tool
async def brief(self, ctx: RunContext[NoAuth], topic: str) -> dict:
result = await ctx.sandbox.run_shell(
"python research.py",
env={"TOPIC": topic},
)
return {"summary": result.stdout, "files": await ctx.workspace.list("outputs/")}
# a2a deploy
# -> AgentCard, A2A, MCP, HTTPS, docs, files, receiptsdeployshell
$
after deploy
One agent. A full cloud service.
AgentCard with identity, skills, schemas, auth, capabilities.
Optional packed React app at /app with generated config and tool schemas.
HTTPS A2A endpoints for tasks, messages, artifacts, files, streaming.
MCP bridge — agent usable from Claude Code, Cursor, any MCP client.
Hosted runtime with readiness checks, release history, managed endpoint.
Meta-agent manifests for DAG planning over selected specialist agents.
Workspace files through scoped grants — not copied secrets.
Receipts, traces, eval hooks, artifacts, replay-ready history.
bring any framework
LangGraphOpenAI AgentsCrewAIPythonTypeScript / JSReactViteMCPA2AAgentCardCustom framework
build paths
Pick the path that matches your agent.
meta-agents
Agents plan DAGs over other agents.
Compose selected specialist agents into a manifest-backed meta-agent. The runtime validates each child skill, splits authority through scoped grants, enforces recursion limits, persists progress, and remembers prior runs.
composition:
max_nodes: 6
max_parallel: 2
sub_agents:
- name: search-agent
skills: [search]
- name: summarizer-agent
skills: [summarize]
- tag: charting
skills: [render_chart]
goal:
objective: Create a sourced market brief.
memory:
tiers: [files, kv, vector]
namespace: market-brief