Skip to content

Integrations ​

The protocols cover different boundaries and are not interchangeable.

IntegrationBoundaryStarting point
MCPExternal tools into an agentMCP guide
A2AAgent discovery and remote task executionA2A guide
ACPEditor/client agent sessionsACP guide
AG-UIExecution events to a web clientAG-UI guide
A2UIDeclarative UI structure and stateA2UI guide

For a complete application endpoint, see HTTP API.

MCP ​

mcp.NewStdioExtension launches a server process and discovers tools through stdio. mcp.NewHTTPExtension connects through HTTP. Both expose discovered tools through Config.Extensions.

Initialization can fail: check errors before registering an extension. Use ToolPrefix to avoid collisions when connecting multiple servers. Stdio tools execute with the process's permissions, so restrict working directories, credentials, and commands appropriately.

Remote isError tool responses are preserved as tool output, allowing the model to react; transport failures remain distinct. See the MCP API.

ACP ​

The acp package provides JSON-RPC communication with AgentFactory and AgentInstance abstractions, session lifecycle management, and extensible authentication. See the ACP API.

AG-UI ​

The agui package transports lifecycle, text, thinking, tool-call, state, and custom events using SSE. A web client consumes these events to display execution progress. The client renderer and the Go server must be hosted separately from this static documentation site.

See the AG-UI API.

A2A and A2UI ​

A2A handles remote agents and task lifecycles. Current discovery uses /.well-known/agent-card.json; /.well-known/agent.json remains a legacy alias. Prefer the typed client.V1() API for A2A 1.0 integrations.

A2UI describes surfaces and data-model updates, with bindings for A2A and AG-UI. It does not execute arbitrary UI code or supply a complete browser renderer; clients render components using their own widgets.

Released under the MIT License.