Integrate Agent2Agent (A2A) Protocol for Enhanced Inter-Agent Communication
Is support for the A2A Protocol currently in scope for OpenCode, or planned on the development roadmap? If not, what considerations might influence its inclusion?
OpenCode currently facilitates agent-based workflows through configurations, rules, and subagents, with support for protocols like MCP for agent-tool interactions. To extend this capability, incorporate the Agent2Agent (A2A) Protocol—an open standard for secure, interoperable communication between AI agents across frameworks. This would enable OpenCode agents to collaborate with external agents (e.g., via task delegation, message exchanges, and asynchronous notifications) while maintaining opacity and security. Key benefits include streamlined multi-agent orchestration in software engineering tasks, such as distributed TDD or IaC deployments.
References:
- A2A Protocol Overview: https://a2a-protocol.org/latest/
- Specification: https://a2a-protocol.org/latest/specification/
- Tutorials:
- https://a2a-protocol.org/latest/tutorials/
- https://github.com/NirDiamant/agents-towards-production/blob/main/tutorials/a2a/a2a_tutorial.ipynb
This issue might be a duplicate of existing issues. Please check:
- #472: A2A (Agent2Agent) support - Direct request for A2A protocol support from Google
- #177: MCP support - Model context protocol - General MCP protocol support request
- #2754: Feature Request: Add support for MCP (Model Context Protocol) servers - MCP integration for enhanced agent communication
Feel free to ignore if none of these address your specific case.
haven't heard much of a stir for this, but if a lot of people start asking for it, it may be prioritized, but afaik you are the first to ask for it
what considerations might influence its inclusion?
In addition to the question about user demand. The contributing guidelines suggest such a core feature would need to pass through a design process with the core team.
@taqtiqa-mark I think this is an extremely interesting space, but each time I think about it I am hard pushed to figure out the tangible benefits a distributed multi-agent system can provide.
The only very clear use case to me is around data exposure, if for example you only wanted your agent to share some partial information with a 3p agent - but I am not clear where that would be beneficial for coding agents, since if the receiving agent only has partial information it is less likely to be able to as good a job as the original agent which would have more information available.
Anyway, would love to hear what ideas you had for why this would be useful for opencode.
Anyway, would love to hear what ideas you had for why this would be useful for
opencode.
Definitely wet paint all around. I suppose I have a view of opencode that is probably more like openagent. As you say the "coding-only" use case is probably limited. It'll be interesting to see if opencode is code-only use cases or if the view is that is one of several use cases.
Would be great opportunity to have opencode server as an agent via the universal a2a prototol. With human-in-the-loop integration, etc. Have been searching for 3rd party implementations but seems like there are none yet
Also its good because you can create any architecture you want. Not just 1 to many
I absolutely support this feature request. IMO A2A will be the dominant protocol for the integration of agents across technology stacks they are build on. For example, the popular agent framework Agno has adopted it. This feature would allow calling Agno agents to do stuff and vice versa use opencode as an agent for code related tasks in multi-agent solutions built with Agno or any other framework that adopted A2A. As @Melodeiro said, it would enable us to use opencode as an agent in any agentic architecture you want. It's a huge game changer.
A2A is backed by the linux foundation so I'm more likely to believe its a protocol that isn't just a fad. I could think of a couple of coding uses cases for a multi-agent system like subagent parallelization and complex orchestration.