Welcome to the ACP Starter repository! This project helps you learn the basics of the Agent Communication Protocol (ACP) by completing a small hands-on task.
The Agent Communication Protocol (ACP) is a standardized way for agents to communicate with clients. It enables building consistent, interoperable agent systems with a clear separation between agents and clients.
To dive deeper into ACP concepts, visit the Agent Communication Protocol main repository for documentation, examples, and advanced usage.
For comprehensive guides and reference material, visit the ACP Official Documentation.
- Python 3.11 or higher
- Basic knowledge of Python and async programming
- Git for version control
In this repository, you'll find a basic ACP agent that echoes messages. Your task is to enhance this agent by adding a simple capability: making the agent respond with the reversed text of any message it receives.
Click the "Fork" button at the top right of this repository page to create your own copy.
git clone https://github.com/nisalgunawardhana/acp-starter
cd acp-startergit checkout -b submissionuv init --python '>=3.11' .
uv add acp-sdkModify the agent.py file to add a "reverse echo" capability. The agent should:
- Receive a text message
- Create a reversed version of that message
- Return both the original and reversed message
Run your agent:
uv run agent.pyIn another terminal, test it with:
curl -X POST http://localhost:8000/runs \
-H "Content-Type: application/json" \
-d '{
"agent_name": "echo",
"input": [
{
"role": "user",
"parts": [
{
"content": "Hello ACP!",
"content_type": "text/plain"
}
]
}
]
}'Or use the provided client:
uv run client.pygit add .
git commit -m "Add reverse echo functionality"
git push origin submission-
Create a pull request from your
submissionbranch to themainbranch on the Your repository.Follow the above images for a visual guide on creating a pull request.
Tip: After creating your pull request, copy the PR link from your browser's address bar. You will need this link when creating your submission issue in the next step.
Note: The images above demonstrate how to select the correct branches and create a pull request. The repository name shown in the screenshots may differ from yours—just follow the same steps for your own repository.
- Go to the "Issues" tab in the main repository
- Click "New issue"
- Use the "Submission" template (if available) or create a new issue with:
- Title: "Submission: Reverse Echo Agent"
- Description: Briefly explain your approach and what you learned
agent.py- The main agent implementation file you need to modifyclient.py- A simple client to test your agentREADME.md- This guidance file
Have questions, ideas, or want to share your experience?
We welcome you to use GitHub Discussions for:
- Asking questions about setup or usage
- Sharing feedback or suggestions
- Requesting new features
- Connecting with other contributors
👉 Click the "Discussions" tab at the top of this repo to start or join a conversation!
Let's build and learn together!
Follow me on social media for more sessions, tech tips, and giveaways:
- LinkedIn — Professional updates and networking
- Twitter (X) — Insights and announcements
- Instagram — Behind-the-scenes and daily tips
- GitHub — Repositories and project updates
- YouTube — Video tutorials and sessions
Feel free to connect and stay updated!
This project is open source and available under the MIT License.
Created by Nisal Gunawardhana.


