a2a-wrapper logoa2a-wrapper

Introduction

a2a-wrapper turns Claude, OpenAI Codex, GitHub Copilot, OpenCode and Google Antigravity into standalone A2A agents that can discover, delegate to, and work with each other. Drop in a JSON config, get a spec-compliant server.

a2a-wrapper is a set of Node.js packages that put production coding agents behind the open Agent2Agent (A2A) protocol. You write a JSON config file; you get an HTTP server that any A2A client can discover and call.

Find your way around

The documentation is organised into sections. Use the section switcher at the top of the sidebar to move between them.

SectionStart here if you want to…
Get startedInstall a wrapper and run your first agent
ConceptsUnderstand A2A, agent cards, tasks, sessions and sub-agents
GuidesChoose a wrapper, configure it, add MCP tools, run it in Docker, secure it
ReferenceLook up the HTTP API, the glossary, or a package's full options
AI & agentsUse these docs from an AI assistant, including the docs MCP server
CommunityContribute, read the roadmap, or check the changelogs

The problem

Coding agents such as Claude, Codex and Copilot are powerful but isolated. There is no clean way to hand a task from one to another, track long-running work, or compose several of them into a team, unless you write custom glue for each pair.

What a2a-wrapper gives you

Each wrapper takes one backend and exposes it as a first-class A2A agent. Out of the box you get:

  • Discovery through an agent card served at /.well-known/agent-card.json.
  • A task lifecycle with streaming, artifacts and cancellation. See tasks and streaming.
  • Multi-turn sessions: each A2A contextId maps to a persistent backend session.
  • Sub-agent delegation: an agent can call other A2A agents as tools.
  • MCP tool support for the backend's own tools.
  • Observability through sideband trace events.
  • Protocol compatibility: native A2A v1.0, with v0.3.x clients still supported.

Supported agents

BackendPackageNotes
GitHub Copilota2a-copilotBring your own model (Ollama, OpenAI, Anthropic, Azure, vLLM)
Claudea2a-claudePermission modes, background tasks, rate-limit handling
OpenAI Codexa2a-codexRepository sandboxing, approval policy
OpenCodea2a-opencodeMulti-provider by default
Google Antigravitya2a-antigravityNode server with a managed Python bridge

All of them are built on @a2a-wrapper/core, which owns the protocol logic, config loading, server, sessions and events. Each wrapper only implements its backend-specific executor.

How it fits with MCP

MCP is the vertical rail: how an agent reaches tools. A2A is the horizontal rail: how agents talk to each other. These wrappers add the horizontal rail to agents that already have the vertical one.

When to use it

You want to…Use
Expose Claude, Codex, Copilot, OpenCode or Antigravity as an A2A server with a config filea2a-wrapper
Build a fully custom agent from scratchThe official A2A SDKs
Orchestrate agents with LangGraph, Google ADK, CrewAI or similarThose frameworks as the orchestrator, calling these wrappers as execution nodes

Security first

The A2A endpoint has no built-in authentication and the agents can edit files and run commands. Bind to 127.0.0.1 for local use and read the security guide before exposing anything on a network.

On this page