- Remotely callable over REST APIs
- Composable in workflows with other agents
- Discoverable by other systems
- Reusable without changing its internal logic
Simple agent
Install the SDK first:
uv add acp-sdk
@server.agent()
. The agent name comes from the function name, and the description comes from the docstring. You can add more metadata like capabilities, dependencies, and content types - see the Agent Manifest section for details.
This creates an ACP-compliant agent that can receive messages and respond via HTTP using the ACP protocol:
echo.py
- The
@server.agent()
decorator registers your function as an ACP agent inputs
contains the messages sent to your agentcontext
provides request metadata and utilitiesyield
statements send responses back to the caller- The server automatically handles HTTP routing and message serialization
Simple LLM agent
Here’s a more sophisticated example that wraps an LLM agent with memory and tools using thebeeai-framework
:
llm.py