Python implementation of the Agent Communication Protocol (ACP)
Project description
Agent Communication Protocol (ACP) - Enterprise Agent Communication Protocol
๐ข Enterprise-First Design
Purpose-built for enterprise environments where security, governance, and scale matter most.
ACP (Agent Communication Protocol) is the industry-standard protocol for enterprise-grade agent-to-agent communication. This Python implementation is specifically designed for large organizations deploying multiple AI agents across departments with centralized management and security controls.
Perfect For Enterprise Use Cases:
- ๐๏ธ Multi-department AI deployments (Sales, Legal, HR, Finance agents)
- ๐ API Gateway integration (Apigee, Kong, AWS API Gateway)
- ๐ Centralized agent discovery and capability management
- ๐ก๏ธ Enterprise security with OAuth 2.0, mTLS, and audit trails
- ๐ Production scale with high-throughput, low-latency communication
- ๐ฏ Supervisor/Router patterns with specialist agent orchestration
Architecture Highlights:
Router Agent (Supervisor) โ API Gateway โ Specialist Agents (Servers)
โ โ โ
Orchestrates workflows Apigee OAuth2 Department-specific
Multi-agent coordination Rate limiting Domain expertise
Central task routing Security policies Scalable processing
ACP (Agent Communication Protocol) is the industry-standard protocol for secure, scalable agent-to-agent communication. Built on JSON-RPC 2.0, ACP enables AI agents to discover, authenticate, and collaborate across any platform.
๐ Why ACP for Enterprise?
- ๐๏ธ Enterprise Standard: Purpose-built for large-scale organizational deployments
- ๐ Production Security: OAuth2, mTLS, API gateway integration, audit trails
- ๐ Multi-Cloud Ready: Deploy across AWS, Azure, GCP with consistent protocols
- ๐ Centralized Governance: Agent discovery, capability management, SLA monitoring
- โก Enterprise Scale: High-throughput, low-latency, multi-tenant architecture
- ๐ฏ Proven Patterns: Router/supervisor architecture with specialist agent coordination
๐ข See Enterprise Deployment Guide for Apigee integration, security patterns, and production deployment.
๐ฆ Quick Start
Installation
pip install acp-sdk-python
Basic Client Usage
import acp
from acp.models import TasksCreateParams, Message, Part
# Connect to an agent
client = acp.Client("https://agent.example.com/jsonrpc")
# Send a task
response = await client.tasks.create(TasksCreateParams(
initialMessage=Message(
role="user",
parts=[Part(type="TextPart", content="Search for recent tickets")]
),
priority="HIGH"
))
print(f"Task created: {response.taskId}")
Basic Server Usage
import acp
# Create ACP server
server = acp.Server(
title="My Agent",
description="An intelligent assistant agent"
)
@server.method_handler("tasks.create")
async def handle_task(params, context):
"""Handle incoming task requests"""
# Your agent logic here
return {
"type": "task",
"task": {
"taskId": "task-123",
"status": "SUBMITTED",
"createdAt": "2024-01-01T00:00:00Z"
}
}
# Run the server
server.run(host="0.0.0.0", port=8000)
๐๏ธ Architecture
ACP provides a complete stack for agent communication:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Your Application โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ฑ ACP Client ๐ฅ๏ธ ACP Server โ
โ โข Task Management โข Request Handling โ
โ โข Streaming โข Authentication โ
โ โข Discovery โข Validation โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ ACP Protocol Layer โ
โ โข JSON-RPC 2.0 โข OAuth2 Security โ
โ โข Agent Discovery โข Real-time Streaming โ
โ โข Error Handling โข Webhook Notifications โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ง Transport Layer โ
โ โข HTTPS/TLS โข WebSockets โ
โ โข Load Balancing โข Rate Limiting โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ง Core Features
1. Task Management
- Asynchronous Processing: Submit tasks and receive results when ready
- Priority Handling: HIGH, MEDIUM, LOW priority levels
- Progress Tracking: Real-time status updates and notifications
- Artifact Exchange: Secure file and data transfer
2. Real-time Streaming
- Bidirectional Communication: Interactive conversations between agents
- Message Chunking: Efficient handling of large data streams
- Connection Management: Automatic reconnection and error recovery
3. Agent Discovery
- Agent Cards: Standardized capability discovery via
/.well-known/agent.json - Skill Registry: Declare and discover agent capabilities
- Version Management: Semantic versioning for protocol compatibility
4. Enterprise Security
- OAuth2 Authentication: Industry-standard authentication flows
- Scope-based Authorization: Fine-grained permission control
- HTTPS Everywhere: Encrypted transport for all communications
- Token Management: Automatic token refresh and validation
๐ ๏ธ CLI Tools
ACP includes professional command-line tools:
# Protocol information
acp schema info # Show protocol specification
acp schema methods # List available methods
# Agent discovery
acp agent-card validate # Validate agent card files
acp agent-card examples # Show example configurations
# Development tools
acp server start # Start development server
acp validate request.json # Validate ACP requests
๐ Documentation
- ๐ Protocol Specification - Complete ACP protocol documentation
- ๐ Quick Start Guide - Get up and running in 5 minutes
- ๐ API Reference - Complete Python API documentation
- ๐ก Examples - Working examples and templates
- ๐ง Development Guide - Build your own ACP agents
๐ Examples
| Example | Description | Link |
|---|---|---|
| Basic Client | Simple task submission | View |
| Basic Server | Handle incoming requests | View |
| Confluence Agent | Enterprise search agent | View |
| Streaming Chat | Real-time conversations | View |
๐ข Enterprise Features
ACP is designed for production enterprise environments:
- ๐ฏ High Availability: Load balancing and failover support
- ๐ Observability: Structured logging and metrics collection
- ๐ Scalability: Horizontal scaling with connection pooling
- ๐ก๏ธ Security: Enterprise-grade authentication and authorization
- ๐ Performance: Optimized for high-throughput workloads
๐ค Contributing
ACP is an open protocol welcoming contributions:
- Protocol: Propose enhancements to the core specification
- Implementation: Improve the Python reference implementation
- Documentation: Help make ACP more accessible
- Testing: Add test cases and improve reliability
See our Contributing Guide for details.
๐ License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
๐ Links
- ๐ Protocol Website: acp-protocol.org
- ๐ Documentation: docs.acp-protocol.org
- ๐ GitHub: github.com/acp-protocol
- ๐ฌ Discussions: GitHub Discussions
- ๐ Issues: GitHub Issues
Agent Communication Protocol (ACP)
The Standard for Agent-to-Agent Communication
Made with โค๏ธ by the ACP community
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file acp_sdk_python-1.3.0.tar.gz.
File metadata
- Download URL: acp_sdk_python-1.3.0.tar.gz
- Upload date:
- Size: 155.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a06fca7d92534e39d3b25c858aef4927ac2b133261825240b2ca89a410b473a3
|
|
| MD5 |
4cee4cc7a85ce8c92a3fb7c5ff6f89e3
|
|
| BLAKE2b-256 |
d894a3fb42cfffbfadb59a99fc6d89753b6eade00b3cb0d785b9f81d1f0e2510
|
File details
Details for the file acp_sdk_python-1.3.0-py3-none-any.whl.
File metadata
- Download URL: acp_sdk_python-1.3.0-py3-none-any.whl
- Upload date:
- Size: 78.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54a78c9c2440d63f842ef803948c181e25997d7e97b74abf3125dd4d760da9b7
|
|
| MD5 |
115be46a622fae8e24922731a729003e
|
|
| BLAKE2b-256 |
11d3ed3501fcc1d2c7802885b1785906555819c3f7c56c6000f159416845c0b8
|