A static registry of AdCP compliant agents and publishers with real-time validation.
- Static Agent Registry: GitHub-based registry with manual approval via PRs
- Real-time Validation: Check if agents are authorized via
/.well-known/adagents.json - MCP Server: Query agents programmatically via Model Context Protocol
- HTTP API: REST endpoints for integration
- Web UI: Browse agents by type (creative, signals, sales)
- Caching: 15-minute TTL cache for validation results
# Install dependencies
npm install
# Run HTTP server (default)
npm run dev
# Run MCP server
npm run dev:mcp
# Build
npm run buildList all agents:
curl http://localhost:3000/api/agentsList agents by type:
curl http://localhost:3000/api/agents?type=salesValidate agent authorization:
curl -X POST http://localhost:3000/api/validate \
-H "Content-Type: application/json" \
-d '{"domain": "nytimes.com", "agent_url": "https://sales.example.com"}'Get stats:
curl http://localhost:3000/api/statslist_agents(type?)- List all agents, optionally filtered by typeget_agent(name)- Get details for a specific agentvalidate_agent(domain, agent_url)- Validate agent authorization
agents://creative- All creative agentsagents://signals- All signals agentsagents://sales- All sales agentsagents://all- All agents
To add an agent to the registry:
-
Create a JSON file in the appropriate directory:
/registry/creative/for creative agents/registry/signals/for signals/audience agents/registry/sales/for media sales agents
-
Use this schema:
{
"$schema": "https://adcontextprotocol.org/schemas/v1/agent.json",
"name": "Your Agent Name",
"url": "https://your-agent.com",
"type": "sales",
"description": "Brief description of your agent",
"capabilities": [
"capability_1",
"capability_2"
],
"mcp_endpoint": "https://your-agent.com/mcp",
"represents": ["publisher1.com", "publisher2.com"],
"contact": {
"name": "Your Team",
"email": "contact@yourcompany.com",
"website": "https://yourcompany.com"
},
"added_date": "2025-01-22"
}- Submit a pull request
- Registry: Static JSON files in
/registry/ - Server: TypeScript with Express (HTTP) and MCP SDK
- Validation: On-demand fetching of
/.well-known/adagents.jsonwith caching - Deployment: Fly.io (or any Node.js host)
MODE- Server mode:http(default) ormcpPORT- HTTP server port (default: 3000)
Apache 2.0 License - see LICENSE file for details.