Summary
A user asked whether SyntH will add ACP (Agent Communication Protocol) support,
noting that OpenClaw and Hermes Agent expose it to control coding tools like
OpenCode or Claude Code.
Reference: https://agentcommunicationprotocol.dev/introduction/welcome
This issue captures the evaluation and the decision.
What ACP is
ACP is an open, REST-based standard (Linux Foundation) for agent-to-agent
interoperability: async-first with sync support, streaming, multimodal via
MimeTypes, and online/offline agent discovery. Its goal is to make agents
built on different frameworks interchangeable and composable.
Important: ACP has been merged into A2A (Agent2Agent) under the Linux
Foundation. ACP is now the historical reference implementation in migration.
Evaluating ACP today effectively means targeting A2A.
How it relates to SyntH today
The user's request conflates two different layers:
| Protocol |
Purpose |
SyntH status |
| MCP (Model Context Protocol) |
The agent uses external tools (client -> tool) |
Present: core/mcp_bridge/ client + FastMCP server, config/synth_mcp.json |
| ACP / A2A |
Agents talk to each other as peers (agent <-> agent) |
Not present |
The specific example ("control OpenCode / Claude Code" / "be used as a coding
agent from VS Code") is not an ACP use case. That is solved by an
OpenAI-compatible endpoint (/v1/chat/completions, /v1/messages,
/responses) - already tracked separately and higher priority.
ACP / A2A is the right fit for the "drones" (subagent) orchestration use
case: agent <-> agent coordination and federating multiple SyntH instances.
Recommendation
Do not implement ACP now; track A2A as a future design goal.
- ACP is migrating into A2A -> if adopted, adopt A2A, not ACP.
- ~80% of the real need (act as / drive a coding tool) is covered by the
OpenAI-compatible endpoint, already in the roadmap - higher ROI.
- A2A only makes sense alongside the "drones" (subagents) feature: to
expose subagents externally or federate SyntH instances.
- Low architectural risk when it lands: SyntH already has
core/mcp_bridge/server.py (FastMCP) and the single-message-chain. An A2A
adapter would be a new REST interface that forwards into the chain -
consistent with the project golden rule, no core rewrite.
Decision
Deferred. Revisit once "drones" (subagents) are in place, and target A2A
directly rather than ACP.
Related
- OpenAI-compatible coding-agent endpoint (VS Code / Claude Code / OpenCode)
- "drones" subagent support
Summary
A user asked whether SyntH will add ACP (Agent Communication Protocol) support,
noting that OpenClaw and Hermes Agent expose it to control coding tools like
OpenCode or Claude Code.
Reference: https://agentcommunicationprotocol.dev/introduction/welcome
This issue captures the evaluation and the decision.
What ACP is
ACP is an open, REST-based standard (Linux Foundation) for agent-to-agent
interoperability: async-first with sync support, streaming, multimodal via
MimeTypes, and online/offline agent discovery. Its goal is to make agents
built on different frameworks interchangeable and composable.
Important: ACP has been merged into A2A (Agent2Agent) under the Linux
Foundation. ACP is now the historical reference implementation in migration.
Evaluating ACP today effectively means targeting A2A.
How it relates to SyntH today
The user's request conflates two different layers:
core/mcp_bridge/client + FastMCP server,config/synth_mcp.jsonThe specific example ("control OpenCode / Claude Code" / "be used as a coding
agent from VS Code") is not an ACP use case. That is solved by an
OpenAI-compatible endpoint (
/v1/chat/completions,/v1/messages,/responses) - already tracked separately and higher priority.ACP / A2A is the right fit for the "drones" (subagent) orchestration use
case: agent <-> agent coordination and federating multiple SyntH instances.
Recommendation
Do not implement ACP now; track A2A as a future design goal.
OpenAI-compatible endpoint, already in the roadmap - higher ROI.
expose subagents externally or federate SyntH instances.
core/mcp_bridge/server.py(FastMCP) and the single-message-chain. An A2Aadapter would be a new REST interface that forwards into the chain -
consistent with the project golden rule, no core rewrite.
Decision
Deferred. Revisit once "drones" (subagents) are in place, and target A2A
directly rather than ACP.
Related