ARCP - Agent Registry & Control Protocol
A sophisticated agent orchestration protocol that provides centralized service discovery, registration, communication, and control for distributed agent systems.
✨ Features
| 🔧 Centralized Management | 🔍 Service Discovery | 🤝 Agent Communication |
|---|---|---|
| Register & control agents | Automatic endpoint resolution | Secure agent collaboration |
| 🛡️ Security | 📊 Dashboard | 🐳 Production |
|---|---|---|
| Built-in authentication | Metrics & Alerts & Logs | Docker & monitoring stack |
| ⚙️ Extensible | 👨💻 Developers | 📚 Docs |
|---|---|---|
| Custom use cases | Python client, API | Guides & references |
🚀 Quick Start
Running the Server
🐍 pip Installation
# Install ARCP
pip install arcp-py
# Set up configuration
curl -o .env https://raw.githubusercontent.com/0x00K1/ARCP/main/.env.example
# Edit .env file with your configuration
# Start the server
python -m arcp
🐳 Docker Deployment (Recommended)
For a complete production setup with monitoring, use Docker:
# Clone ARCP
git clone https://github.com/0x00K1/ARCP.git
cd ARCP
# Set up configuration
cp .env.example .env
cp .env.example deployment/docker/.env
# Edit .env file with your configuration
# Start full stack (ARCP + Redis + Monitoring)
cd deployment/docker
docker-compose up -d --build
💡 Need help? Check out our detailed Installation Guide.
🛠️ Agent Development
Build agents that integrate seamlessly with ARCP:
from arcp import ARCPClient, AgentRequirements
async def register_with_arcp():
"""Register this agent with ARCP"""
# Create ARCP client
arcp_client = ARCPClient("http://localhost:8001")
try:
# Register the agent
agent = await arcp_client.register_agent(
agent_id="my-agent-001",
name="My Demo Agent",
agent_type="automation",
endpoint="http://localhost:8080",
capabilities=["processing", "automation"],
context_brief="A demo agent showcasing ARCP integration",
version="1.0.0",
owner="Developer",
public_key="your-public-key-min-32-chars-long",
communication_mode="remote",
metadata={
"framework": "fastapi",
"language": "python",
"created_at": "2025-09-20T03:00:00.000000",
},
features=["http-api", "json-responses"],
max_tokens=1000,
language_support=["en"],
rate_limit=100,
requirements=AgentRequirements(
system_requirements=["Python 3.11+", "FastAPI"],
permissions=["http-server"],
dependencies=["fastapi", "arcp"],
minimum_memory_mb=256,
requires_internet=True,
network_ports=["8080"]
),
policy_tags=["utility", "demo"],
# ai_context='READ https://arcp.0x001.tech/docs/user-guide/ai-context/',
agent_key="test-agent-001"
)
print(f"Agent registered: {agent.name}")
print(f"Status: {agent.status}")
finally:
await arcp_client.close()
# Run the registration
import asyncio
asyncio.run(register_with_arcp())
🎯 Want to dive deeper? Explore our comprehensive Agent Development Guide.
📚 Documentation
📄 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Metadata
Release files for arcp-py 2.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arcp_py-2.1.2.tar.gz | 386.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arcp_py-2.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 800.1 kB
Release files / arcp_py-2.1.2.tar.gz
| Download URL | arcp_py-2.1.2.tar.gz |
|---|---|
| Size | 386.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8c441768691231874a18dcc2e67b40a2dfd52bd48909880f312c568db6a48b3
|
|
BLAKE2b-256 checksum How to use checksums |
f5a652af9d785896af0c5238e9a4b7003cb4e07522722d88400030109427cb9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / arcp_py-2.1.2-py3-none-any.whl
| Download URL | arcp_py-2.1.2-py3-none-any.whl |
|---|---|
| Size | 413.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31a62f42ae7f8ef860e17a142f97e5d93dcdda644ed11f78cf6e4f5013aad7c0
|
|
BLAKE2b-256 checksum How to use checksums |
149071d063bb11d3b861da44c8a75a3ed741f81ddf1a1eeca0a7339633852b42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|