Skip to content

aleph8/a2c-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A2C — Agent-to-Computer Protocol

A2C (Agent-to-Computer) is an open protocol that enables a remote AI agent (the Brain) to delegate tool execution to a local machine (the Body), receive the results, and continue reasoning — all over a persistent, bidirectional communication channel.

Think of it as the missing complement to MCP: while MCP lets an LLM host reach out to remote servers for context and tools, A2C lets a remote LLM reach back to the user's local machine to run commands, scripts, and OS-level operations.


The Problem

Modern AI agents run in the cloud. But many of the most useful tools — shell commands, file system access, GUI automation, local processes — only make sense on the user's own machine. Bridging that gap today requires ad-hoc, non-interoperable solutions baked into each individual application.

A2C defines a standard protocol so that any Brain (any LLM agent) can talk to any Body (any local executor) using a common language.


Architecture at a Glance

┌---------------------------------┐                ┌----------------------------------┐
│            BRAIN                │                │              BODY                │
│  (Remote AI Agent / LLM Server) │                │  (Local Machine / TUI / Client)  │
│                                 │                │                                  │
│  • Runs LLM inference           │◄--------------►│  • Executes tools locally        │
│  • Decides which tools to call  │  Body connects │  • Presents output to the user   │
│  • Streams text responses       │  outbound ---► │  • Manages the session           │
└---------------------------------┘                └----------------------------------┘
         Bidirectional Channel — Body initiates outbound connection (no open ports on local machine)
         (gRPC / HTTP+SSE / WebSocket / …)

Core Flow

Body --[HANDSHAKE]--------------------------► Brain
Body ◄--[HANDSHAKE_ACK]----------------------Brain
Body --[PROMPT "list my files"]-------------► Brain
Body ◄--[ACTION tool="shell" args=["ls"]]----Brain
Body --[TOOL_RESULT stdout="..."]-----------► Brain
Body ◄--[RESPONSE "You have 3 files: …"]-----Brain

Specification

Section Description
01 — Overview Motivation, problem statement, and relation to MCP
02 — Roles Brain and Body: responsibilities and capability model
03 — Lifecycle Handshake, Operation, and Shutdown phases
04 — Messages All message types, field schemas, and flow diagrams
05 — Transports Transport requirements and reference bindings
06 — Security Trust model, consent model, and user control
07 — Relay Relay/Broker pattern for connecting without opening ports
08 — Daemon Mode Background Body mode and operator-driven task flow

Status

Draft v0.2.0 — This specification is in early draft stage. All sections are open for discussion.


Relation to MCP

The Model Context Protocol (MCP) and A2C are complementary, not competing:

MCP A2C
Direction LLM Host → Remote Servers Remote Brain → Local Body
Purpose Fetch context, call cloud tools Execute tools on the user's machine
Initiator LLM Host Remote AI Brain
Executor Remote MCP Server Local Body client

A Brain could implement both: MCP to access cloud services, and A2C to delegate local execution.


Reference Implementations

Language Location Status
Python (Brain + Body + TUI) implementations/python/ v0.2.0

Contributing

See CONTRIBUTING.md. All feedback is welcome via GitHub Issues and Pull Requests.


License

MIT

About

A2C (Agent-to-Computer) is an open protocol that enables a remote AI agent (the Brain) to delegate tool execution to a local machine (the Body), receive the results, and continue reasoning — all over a persistent, bidirectional communication channel.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors