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"],
            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.0.2.tar.gz (273.5 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.0.2-py3-none-any.whl (287.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: arcp_py-2.0.2.tar.gz
  • Upload date:
  • Size: 273.5 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.0.2.tar.gz
Algorithm Hash digest
SHA256 55df8b4f783be56b57c3be7a58d17ecaa6859a3d704349c8235294161644553d
MD5 22eadeb14c139a6d7c8c8994f59619da
BLAKE2b-256 82c8b81566b80c0edeb43fe5efade016825d219d597e90d2a2506ffcc2c1df1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arcp_py-2.0.2-py3-none-any.whl
  • Upload date:
  • Size: 287.5 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.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1e005de24089c78427bf0ae009fbe0a6f1c0d04a663ed1bd19c95ba3544237f2
MD5 b8a33621e1b766b6ed5c717c6e816069
BLAKE2b-256 1dd9d16d9b32f152087385f89f8acdc7a2e397b9b0eeab1a140c05de9f6b4387

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