Passport Discovery
ADL solves a fundamental problem in multi-agent systems: how does one agent learn what another agent can do, and whether it should be trusted?
Today, agent integrations are hardcoded. If Agent A wants to use Agent B, a developer has to read B's documentation, write glue code, and manually configure credentials. This doesn't scale when you have hundreds of agents across organizations.
ADL changes this. Every agent carries a passport β a machine-readable document that declares its identity, capabilities, permissions, data sensitivity, and security requirements. Another agent can read this passport, understand what's available, verify trust, and start communicating β automatically.
The demo below walks through this flow step by step.
Step through the flow below to see how one agent discovers another, reads its passport, evaluates trust, and starts communicating β without any prior configuration or hardcoded integrations.
Click Run Demo to start the discovery flow, or Step to advance one step at a time.
This simulates the real A2A discovery demo that runs locally with bun run examples/a2a-discovery/run-demo.ts
What you just sawβ
This demo illustrates four core ideas from the ADL specification:
1. Discovery without prior knowledgeβ
The discovery agent didn't know anything about the service agent in advance. It queried a standard URL (/.well-known/adl-agents) and received a directory of available agents. Any domain can publish this directory β it's how agents find each other across organizations.
2. Passports are self-describingβ
The ADL passport contained everything the discovery agent needed: the agent's name, what tools it offers, what data sensitivity level it operates at, and what authentication it requires. No separate API docs, no out-of-band configuration.
3. Trust is evaluated, not assumedβ
Before sending a single request, the discovery agent checked the passport's trust signals. Is the data public or restricted? Are the tools read-only? Is authentication required? These aren't just metadata β they're machine-enforceable constraints that let agents make autonomous trust decisions.
4. Format interoperabilityβ
The passport was converted to an A2A Agent Card with a single function call. ADL tools became A2A skills. Authentication mapped directly. An agent described in ADL can participate in the A2A ecosystem, the MCP ecosystem, or both β from one source document.
Try it locallyβ
The demo above is a simulation. To run the real thing with actual HTTP requests between two processes:
cd packages/adl-agent
bun run examples/a2a-discovery/run-demo.ts
No API keys needed β it runs entirely locally using the agent's built-in tools.