Agent-Native Apps
//COMPARISON

Agent-native app vs MCP server

Agent-native app vs MCP server is the most common category confusion, so here is the short answer. An MCP server exposes tools to a model over the Model Context Protocol. An agent-native application is a portable, inspectable, user-owned package carrying identity, judgment, governance, workflows, and durable state. MCP is a binding an ANA can use; it is not the ANA.

Last updated: 2026-08-07

Is an agent-native app an MCP server?

No. MCP is a supported binding: an agent-native app can speak MCP; it is not itself an MCP server. The server is one transport through which a Host reaches tools. The ANA is the artifact that declares which transports it uses, under which rules, with which data custody.

The distinction matters because transports multiply. A package that is defined by one transport is locked to that transport's ecosystem. A package that declares its bindings can add adapters as Hosts evolve, and MCP's own growth, including provider app platforms built on top of it, makes it a high-leverage binding to support first.

What does an MCP server not carry?

The contract. An MCP server has no constitution hash, no declared data custody, no entitlement, and no durable user-owned state. It answers 'what tools can be called?' An agent-native app answers 'who is this, what may it do, under whose rules, with whose data, and what does it remember?'

Can one product be both?

Yes, in the sense that an agent-native app frequently ships with or connects to MCP servers among its declared tools. The servers do transport; the app does identity, governance, and state. Wrapping a single MCP server in a manifest doesn't make it an ANA; declaring the full contract does.

Agent-native app vs MCP server, dimension by dimension
DimensionAgent-native appMCP server
What it isA portable, inspectable, user-owned package: identity, judgment, governance, workflows, durable stateA server exposing tools and context to a model over the Model Context Protocol
Role in the stackThe application artifact a Host mounts and runsOne transport the application may declare as a binding
GovernanceConstitution with escalation rules, anchored by a constitution hashNone defined by the protocol; behavior is up to the caller
Data custodyDeclared as a verifiable field in the packageUndeclared; depends on the server operator
StateDurable, user-owned, portable across compatible HostsServer-side or none; not part of the protocol's contract
RelationshipCan declare and use MCP among its bindingsCan serve an ANA as one of its declared tools

Follow the discoveries.