▸ Agent Skills
2 min read

Documentation Index

Fetch the complete documentation index at: https://agentclientprotocol.com/llms.txt Use this file to discover all available pages before exploring further.

Transports

Mechanisms for agents and clients to communicate with each other

ACP uses JSON-RPC to encode messages. JSON-RPC messages MUST be UTF-8 encoded.

The protocol currently defines the following transport mechanisms for agent-client communication:

  1. stdio, communication over standard in and standard out
  2. Streamable HTTP (draft proposal in progress)

Agents and clients SHOULD support stdio whenever possible.

It is also possible for agents and clients to implement custom transports.

stdio

In the stdio transport:

  • The client launches the agent as a subprocess.
  • The agent reads JSON-RPC messages from its standard input (stdin) and sends messages to its standard output (stdout).
  • Messages are individual JSON-RPC requests, notifications, or responses.
  • Messages are delimited by newlines (\n), and MUST NOT contain embedded newlines.
  • The agent MAY write UTF-8 strings to its standard error (stderr) for logging purposes. Clients MAY capture, forward, or ignore this logging.
  • The agent MUST NOT write anything to its stdout that is not a valid ACP message.
  • The client MUST NOT write anything to the agent’s stdin that is not a valid ACP message.
sequenceDiagram
    participant Client
    participant Agent Process

    Client->>+Agent Process: Launch subprocess
    loop Message Exchange
        Client->>Agent Process: Write to stdin
        Agent Process->>Client: Write to stdout
        Agent Process--)Client: Optional logs on stderr
    end
    Client->>Agent Process: Close stdin, terminate subprocess
    deactivate Agent Process

Streamable HTTP

In discussion, draft proposal in progress.

Custom Transports

Agents and clients MAY implement additional custom transport mechanisms to suit their specific needs. The protocol is transport-agnostic and can be implemented over any communication channel that supports bidirectional message exchange.

Implementers who choose to support custom transports MUST ensure they preserve the JSON-RPC message format and lifecycle requirements defined by ACP. Custom transports SHOULD document their specific connection establishment and message exchange patterns to aid interoperability.


Last updated Oct 08, 2026