Skip to main content

ARCP (Agent Registry & Control Protocol) is a sophisticated agent orchestration protocol that provides centralized service discovery, registration, communication, and control for distributed agent systems.

Project description

ARCP - Agent Registry & Control Protocol

License: Apache 2.0 Python Code style: black Security PyPI version Docker

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

Everything you need to get started, develop agents, and operate ARCP

📖 Complete Documentation

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

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

arcp_py-2.1.1.tar.gz (386.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arcp_py-2.1.1-py3-none-any.whl (413.2 kB view details)

Uploaded Python 3

File details

Details for the file arcp_py-2.1.1.tar.gz.

File metadata

  • Download URL: arcp_py-2.1.1.tar.gz
  • Upload date:
  • Size: 386.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arcp_py-2.1.1.tar.gz
Algorithm Hash digest
SHA256 d322ed66fc4dab4f8eb18646f91db17e93944ab8a5a8feb0a21078753a7f2691
MD5 46823ccc4a2ae314994d6e1af5f1f7b6
BLAKE2b-256 d6743b5324c18dd2441137cdd9e2b1acbab7863595e971444ebb50d65fdbf6ce

See more details on using hashes here.

File details

Details for the file arcp_py-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: arcp_py-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 413.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arcp_py-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 391ebf44df831137123de3ea17f32842f0b96b5c661b660c99f557e5a70c0fcb
MD5 7cfb87b95cbf4584a41e7d640c85c3a9
BLAKE2b-256 6dca994c679523293c9cd433e081e8b2b087acf675081e20d12366010741df2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page