This project is not covered by Drupal’s security advisory policy.
Note that extensive parts of this module was generating via AI coding agents under human supervision.
Drupal's AI ecosystem gives you powerful tools to build and run agents — but every agent is an island. There's no standard way for a Drupal site to say "here are the agents I have" and no way for agents on different sites to find each other.
DUADP fixes that. It adds three things to your Drupal site: a discovery endpoint, an agent registry, and federation. Once enabled, your site serves a manifest at /.well-known/duadp.json that describes what agents and skills it has. Other Drupal sites running DUADP can read that manifest and register as peers. Your site can read theirs. Agents on any node in the network can find and talk to agents on any other node — automatically, without a central directory.
It plugs into the modules you're already using. Agents registered through AI Agents show up in the DUADP registry. Tools built with the Tool API become discoverable. ECA workflows can react to network events. Everything is authenticated with W3C Decentralized Identifiers — no API keys to share, no central auth server.
Built on the OSSA specification.
Features
- Discovery manifest — Exposes
/.well-known/duadp.jsonwith your node's identity, capabilities, and public key. Agents and clients use this to find your site and know what it offers. - Agent & skill registry — REST endpoints (
/api/v1/agents,/api/v1/skills) list everything your site publishes in OSSA format. Agents registered through Drupal AI or AI Agents are indexed automatically. - Federation — Register as a peer node and join a gossip network. Queries spread across nodes, deduplicate results, and track which peers are healthy.
- Tool API plugins —
duadp:resolve,duadp:register, andduadp:discoverwork from AI agents, ECA, MCP, and Canvas. - DID identity — Nodes use W3C Decentralized Identifiers (
did:web,did:key,did:pkh) for signing and verification instead of shared secrets. - CORS support — All endpoints return proper CORS headers for cross-origin agent communication.
- Drupal 10.3, 11, 12 — OOP Hooks throughout.
Post-Installation
drush en duadp, then go to Administration → Configuration → Web Services → DUADP Settings (/admin/config/services/duadp).
- Node name — Label for your site in the network (e.g., "Acme Corp Agent Hub").
- Node DID — Your site's identifier. The module can generate a
did:webfrom your domain if you don't have one. - Federation — On/off toggle and max hop count.
- Signing key — Pick a Key entity for manifest signing.
Once saved, visit /.well-known/duadp.json to confirm it's working. To join the network, go to the Federation tab and register with a peer (e.g., https://discover.duadp.org). The duadp_discovery submodule syncs local agents to the network on cron.
Additional Requirements
- PHP 8.2+
- AI (^1.0)
- AI Agents (^1.0)
- AI Agents OSSA (recommended)
- HTTP Client Manager (^3.0 || ^11.0)
- Key (^1.17)
- Tool (^1.0)
composer require drupal/duadp pulls everything in.
Recommended modules/libraries
- Project Context Connector — Adds a site snapshot endpoint to your manifest so remote agents can see your content model and routes.
- ECA — Trigger workflows on DUADP events (agent registered, peer joined, query received).
- MCP — Expose DUADP tools as MCP endpoints.
- Search API — Local indexing of discovered agents and skills.
Similar projects
- MCP — Handles agent-to-tool communication. DUADP handles how agents find each other in the first place. They're complementary.
- MCP Client — Connects to external MCP servers. DUADP can discover MCP-capable agents but doesn't implement the MCP transport itself.
- AI Agents — Agent lifecycle on a single site. DUADP extends that across sites by federating registries.
Supporting this Module
Built by Bluefly.io under Apache-2.0 as part of the OSSA ecosystem.
- Code: gitlab.com/blueflyio/duadp
- Protocol: duadp.org
- Standard: openstandardagents.org
Issues and merge requests welcome. Deploying a node and joining the network is the best way to contribute.
Community Documentation
- Protocol docs — Spec, API reference, and SDK guides
- Quickstart — Running node in under 5 minutes
- OSSA spec — The manifest format DUADP uses
DUADP implements W3C DID Core v1.1 and WebFinger (RFC 7033).
Project information
- Project categories: Artificial Intelligence (AI), Automation, Developer tools
- Ecosystem: Drupal artificial intelligence (AI) community initiative, Marketplace, AI Agents
- Created by flux423 on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
