# ADL vs MCP (Model Context Protocol)

**Short answer:** ADL and MCP address different layers and are designed to work together. **MCP** (Model Context Protocol) standardizes how a model or agent *connects to tools, data sources, and context* through MCP servers. **ADL** (Agent Definition Language) describes *what an agent is* — its identity, permission boundaries, security, lifecycle, and compliance — and governs *how* those tools may be used. An ADL document can [generate MCP server configurations](/spec/.md#152-mcp-server-configuration). MCP gives the agent reach; ADL gives it identity and guardrails.

## What is MCP?[​](#what-is-mcp "Direct link to What is MCP?")

MCP (Model Context Protocol), introduced by Anthropic, is an open protocol for connecting AI models and agents to **tools, resources, and prompts** through a standard client–server interface. An MCP server exposes capabilities (tools to call, resources to read, prompts to use) that any MCP-compatible model can consume, so integrations are written once and reused across models.

## What is ADL?[​](#what-is-adl "Direct link to What is ADL?")

ADL is an open standard for **defining an AI agent** in a single machine-readable document: identity, capabilities and tools, permission boundaries, security requirements, data classification, lifecycle, and compliance posture — the agent's auditable "passport." Where MCP describes *how* to reach a tool, ADL declares *which* tools an agent has, *what* it is permitted to do with them, and *who* authorized it.

## Key differences[​](#key-differences "Direct link to Key differences")

|                             | MCP                                        | ADL                                               |
| --------------------------- | ------------------------------------------ | ------------------------------------------------- |
| **Primary purpose**         | Connect models to tools, data, and context | Define an agent's identity and governance         |
| **Layer**                   | Tool / context protocol                    | Identity, permissions, compliance                 |
| **Identity**                | Not an identity model                      | Cryptographic identity (DID) + attestation        |
| **Permissions**             | Transport for tool access                  | Deny-by-default boundaries over that access       |
| **Governance / compliance** | Out of scope                               | NIST 800-53, SOC 2, ISO 27001, EU AI Act mappings |
| **Lifecycle**               | Out of scope                               | Status, versioning, sunset dates, successors      |
| **Relationship**            | Provides tool access                       | **Generates** MCP server configurations           |

## How ADL and MCP work together[​](#how-adl-and-mcp-work-together "Direct link to How ADL and MCP work together")

ADL sits *around* MCP. You declare an agent's tools, resources, and prompts — plus the permissions and security that bound them — in one ADL document, then generate MCP server configurations from it. Per the [ADL specification §15.2](/spec/.md#152-mcp-server-configuration), an implementation maps ADL fields to an MCP configuration: `name`, `description`, `version`, `tools`, `resources`, and `prompts`.

The result: the tools an agent reaches over MCP are the same ones declared in its governed ADL passport, inside the permission boundaries ADL enforces — so capability and control stay aligned.

## When to use which[​](#when-to-use-which "Direct link to When to use which")

* Use **MCP** when you need an agent to **call tools and read data** through a standard interface.
* Use **ADL** when you need a **portable, auditable definition** of the agent's identity, permissions, and compliance — and to generate MCP configurations from it.
* Use **both together** for capable agents whose tool access is also governed and audit-ready.

## FAQ[​](#faq "Direct link to FAQ")

### Is ADL a replacement for MCP?[​](#is-adl-a-replacement-for-mcp "Direct link to Is ADL a replacement for MCP?")

No. MCP is a protocol for connecting to tools and context; ADL is a definition and governance layer. ADL complements MCP and can generate MCP server configurations.

### Can I use ADL and MCP together?[​](#can-i-use-adl-and-mcp-together "Direct link to Can I use ADL and MCP together?")

Yes — that's the intended pattern. Declare the agent's tools and permissions in ADL, then generate its MCP configuration so tool access and governance share one source of truth.

### Does ADL define the tool protocol?[​](#does-adl-define-the-tool-protocol "Direct link to Does ADL define the tool protocol?")

No. MCP remains the protocol for tool and context access; ADL declares which tools an agent has and the permissions around them.

## Related[​](#related "Direct link to Related")

* [ADL vs A2A](/comparisons/adl-vs-a2a.md)
* [All comparisons](/comparisons.md)
* [ADL specification](/spec/.md) · [Interoperability (§15)](/spec/.md#15-interoperability)
