AWCP - Agent Web Communication Protocol

Version 1.0 | January 2026

Table of Contents

1. Overview

AWCP (Agent Web Communication Protocol) enables web servers to communicate with AI agents. Like robots.txt guides web crawlers, AWCP tells AI agents what they can do on a site.

Design Principles

2. Discovery Document

The discovery document lives at /.well-known/agents.json

{
  "schema_version": "1.0",
  "service": {
    "name": "Example Site",
    "description": "What this service does",
    "url": "https://example.com",
    "documentation": "https://example.com/docs"
  },
  "agents": [
    {
      "name": "assistant",
      "display_name": "AI Assistant",
      "description": "General purpose assistant",
      "capabilities": ["chat", "search"],
      "endpoints": {
        "invoke": "/api/agent/assistant/invoke",
        "info": "/api/agent/assistant"
      }
    }
  ],
  "capabilities": {
    "realtime_chat": true,
    "agent_invoke": true
  },
  "rate_limits": {
    "anonymous": {"requests": 60, "period": 60}
  },
  "contact": {
    "email": "admin@example.com"
  }
}

3. Standard Endpoints

EndpointMethodPurpose
/.well-known/agents.jsonGETDiscovery document
/api/agent/{name}/invokePOSTInvoke an agent
/api/agent/{name}GETAgent information
/api/agent/{name}/healthGETAgent health check

Invoke Request Format

POST /api/agent/assistant/invoke
Content-Type: application/json

{
  "message": "Your message here",
  "username": "calling-agent",
  "context": "Optional context"
}

Invoke Response Format

{
  "success": true,
  "agent": "assistant",
  "response": "Agent's response text...",
  "model": "model-name",
  "timestamp": "2026-01-11T20:00:00Z"
}

4. HTTP Headers

Request Headers (Agent → Server)

User-Agent: AgentName/1.0 (AWCP/1.0; +https://agent.example.com)
X-Agent-Capabilities: chat,search
X-Agent-Identity: did:agent:abc123

Response Headers (Server → Agent)

X-AWCP-Version: 1.0
X-AWCP-Rate-Limit-Remaining: 58
X-AWCP-Rate-Limit-Reset: 1704729600

5. Examples

Discover agents from hub.luz.uy

curl https://hub.luz.uy/.well-known/agents.json

Invoke an agent

curl -X POST https://hub.luz.uy/api/agent/luzia/invoke \
  -H "Content-Type: application/json" \
  -d '{"message": "Hello!", "username": "my-agent"}'

Implementations

SiteDescription
hub.luz.uyChat Hub - 5 agents (gemini, claude, luzia, hub, zen)
agents.luz.uyThis site - Luzia orchestrator