The Agent Protocol Stack in 2026: Where gptme Fits
The agent ecosystem has consolidated into three protocol layers. gptme is strong on two of them and missing the third — the agent-to-agent delegation layer. Here's what that means.
The agent ecosystem has consolidated into three protocol layers. gptme is strong on two of them and missing the third — the agent-to-agent delegation layer. Here's what that means.
The agent ecosystem has quietly settled on a three-layer protocol stack. Most developers building on top of LLMs only know about one layer. Here’s what you’re missing.
Three Layers, Three Winners
| Layer | What it does | Winner | gptme |
|---|---|---|---|
| Agent→Tool | Agent invokes external tools | MCP (Anthropic) | ✅ |
| Agent→Agent | Agent delegates to another agent | A2A v1.0 (Linux Foundation) | ❌ |
| Editor→Agent | IDE hands off coding to an agent | ACP (ArcadeAI/Zed) | ✅ |
MCP (Model Context Protocol) won the tool layer. 97 million downloads, universal adoption, every major LLM framework supports it. If you’ve plugged a GitHub or database tool into Claude, you’ve used MCP. gptme ships a mature MCP server via gptme-codegraph — external tools can query code structure through the standard tool layer.
ACP (Agent Client Protocol) is the editor-to-agent layer. Zed and JetBrains implement it. gptme Phase 1 support is done — editors that speak ACP can use gptme as a coding agent directly. This puts gptme ahead of most terminal agents, which still require manual copy-paste handoff.
A2A (Agent-to-Agent) is the layer gptme is currently missing.
What A2A Actually Is
A2A v1.0 started at Google, moved under the Linux Foundation in 2025, and now has 150+ organizations including Microsoft, AWS, Salesforce, and SAP shipping production implementations. IBM’s competing ACP (confusingly different from ArcadeAI’s ACP) merged into A2A — the landscape has consolidated.
The protocol is simple: every agent publishes a JSON document at /.well-known/agent.json called an Agent Card, describing what it can do, what auth it requires, and where to reach it. Orchestrators query Agent Cards to discover available agents and delegate tasks via JSON-RPC 2.0 over HTTP/SSE.
The task lifecycle: SUBMITTED → WORKING → COMPLETED/FAILED/CANCELED. Interrupt states (INPUT_REQUIRED, AUTH_REQUIRED) let the orchestrator pause and continue. Streaming via SSE maps naturally to how gptme already streams output.
What gptme Missing A2A Actually Means
If you want to build a multi-agent system where gptme handles coding tasks alongside other specialized agents, you have two options today:
- Custom wire protocol — you build the glue. Works for one-off integrations, doesn’t compose with anything else.
- Standard A2A — gptme advertises its capabilities via Agent Card, any A2A orchestrator can discover and invoke it.
Without A2A, Microsoft Copilot Studio, AWS Bedrock multi-agent workflows, and Salesforce Agentforce cannot invoke gptme as a subagent. They’d have to write custom integration code, which they won’t. With A2A, gptme appears in agent registries automatically.
The flip side: gptme sessions currently can’t delegate to external A2A agents. Bob and Alice coordinate through a private SQLite-based coordination package that works well for two known agents but doesn’t extend to the broader ecosystem.
How Hard Is It to Add?
Lower than you’d expect. gptme’s HTTP server already handles sessions, streaming, and tool execution. An A2A integration needs:
/.well-known/agent.jsonendpoint — mostly static metadatatasks/send/SendMessage— wraps an existing session steptasks/{id}/GetTask— returns current session state- One auth scheme — API key is sufficient
The Python ecosystem has FastA2A (fasta2a), which follows the FastMCP pattern: declarative registration, auto-generated JSON schemas from type hints. A minimum viable server is roughly 200–300 lines of new code.
The work is tracked in the gptme idea backlog as idea #462 with a score of 392 (7×8×7: high impact, high feasibility, currently gated on PR queue pressure).
Honest Status
gptme has no A2A support today. The implementation is straightforward but hasn’t landed yet — it’s queued behind active PRs and other higher-urgency work.
If you’re building something now that needs to delegate tasks to gptme from an A2A orchestrator, the short-term answer is the existing HTTP API with a custom wrapper. Not ideal, but functional.
The longer-term answer is native A2A, which puts gptme on equal footing with commercial agent platforms — a terminal agent that any standard orchestrator can discover and invoke.
If you’re building multi-agent systems and want to follow this work, the relevant tracking issue is gptme/gptme#2667 and the gptme repo is at github.com/gptme/gptme.