A mental model

How InterfaceDelta works

AI agents increasingly interact with software through machine-readable descriptions and protocols, not only through the webpages people see. Those interfaces tell software what capabilities exist, where they can be reached and how they are meant to be used.

InterfaceDelta observes those public machine-readable surfaces, turns them into a normalized record, and compares that record over time.

What is an AI-agent interface?

A normal website is designed primarily for people. An agent-facing interface is designed for software to read. It may describe available tools, skills, resources, endpoints, schemas or access requirements in a structured form.

An AI application can use that machine-readable information to decide what a service offers and how to interact with it.

Observed MCP capability — excerptjson

Captured by InterfaceDelta from its controlled demonstration target. Excerpted for readability.

{
  "name": "search_catalog",
  "title": "Search the demonstration catalog",
  "description": "Return deterministic matches from the public demonstration catalog.",
  "inputSchemaPresent": true,
  "inputSchemaSha256": "10798ac8d2df2a3150d204e10be2e4fb12cc89650fb68e3a6d3b4b38e1914e26",
  "outputSchemaPresent": false,
  "annotationsPresent": false
}

Why do these interfaces matter?

A tool name, argument schema, endpoint, authentication requirement, declared skill or available resource can become a dependency.

Before · conceptual
mcp.tool:create_brief
After · conceptual
mcp.tool:compare_catalogs

If one of these changes, downstream software can stop behaving as expected even while the service itself remains online.

What are ARD, A2A and MCP?

/.well-known/ard.json

ARD

Agentic Resource Discovery (ARD) is a public signpost: it points software toward an organization's agent-facing descriptions. ARD v0.91 uses /.well-known/ard.json and may also be linked from a webpage with rel="ard".

Agent Card

A2A

Agent2Agent provides machine-readable descriptions of agents—their skills, interfaces and access declarations—and a protocol for agent-to-agent interaction.

Capability metadata

MCP

The Model Context Protocol (MCP) lets software expose structured capabilities such as tools, resources and prompts to AI applications. An experimental MCP Server Card is static, publisher-provided connection metadata; the live MCP endpoint remains authoritative.

Read the protocol-specific technical model →

What does InterfaceDelta inspect?

InterfaceDelta may inspect public discovery metadata, public protocol documents and public capability listings. Its observation boundary is deliberately passive.

InterfaceDelta checks the current ARD well-known document and a bounded rel="ard" hint in the service root page; it does not crawl ordinary links or execute page code. A known MCP endpoint can also be supplied explicitly.

  • It does not execute tools.
  • It does not read discovered resources.
  • It does not retrieve prompt bodies.
  • It does not authenticate to inspected services.
  • It does not bypass access controls.

What is a Passport?

A Passport is InterfaceDelta's canonical representation of what it observed at a particular point in time.

Different protocols describe different parts of an agent-facing service. InterfaceDelta normalizes those observations into one structured record so the interface can be understood and compared consistently.

A recorded Passport separates three kinds of information: what InterfaceDelta directly observed, what a publisher declared in remote metadata, and what InterfaceDelta derived deterministically from those facts. It also explains when evidence was not observed or intentionally not fetched.

Exact Passport URLs are public read-only records. Opening one does not scan the service, create an observation, or change monitoring. Earlier 0.2.0 and 0.3.0 records retain their original schema and rule semantics instead of being upgraded to 0.4.0.

If discovery metadata explicitly publishes an OpenAPI document, InterfaceDelta can record that conventional web API surface without calling its operations. Validity does not prove runtime behavior, security, or ownership. Similar OpenAPI and MCP names are not correspondence evidence; an exact machine-readable relationship is required.

A Passport is not a certificate, trust proof, security certification or ownership verification.

InterfaceDelta Passport — observed excerptjson

Captured by InterfaceDelta from its controlled demonstration target. Excerpted for readability.

{
  "schemaVersion": "0.2.0",
  "subject": {
    "origin": "https://interfacedelta-demo-observed.vercel.app"
  },
  "observation": {
    "inspectedAt": "2026-08-26T20:38:42.159Z",
    "discoveryReportType": "agent-passport.discovery-report"
  },
  "protocols": [
    {
      "protocol": "a2a",
      "status": "not_found"
    },
    {
      "protocol": "ard",
      "status": "valid",
      "revision": "5fa2f5aef790b478319f6a3b43adf4661b0ed0e0"
    },
    {
      "protocol": "mcp",
      "status": "valid",
      "revision": "2026-07-28"
    },
    {
      "protocol": "mcp-server-card",
      "status": "valid",
      "revision": "526201bbc80231daa40ffcdecfc9da4e54e5dc93"
    }
  ],
  "capabilities": [
    {
      "kind": "mcp.prompt",
      "name": "comparison_template",
      "protocolKey": "comparison_template"
    },
    {
      "kind": "mcp.resource",
      "name": "Demonstration catalog",
      "protocolKey": "demo://catalog"
    },
    {
      "kind": "mcp.tool",
      "name": "search_catalog",
      "protocolKey": "search_catalog"
    },
    {
      "kind": "mcp.tool",
      "name": "compare_catalogs",
      "protocolKey": "compare_catalogs"
    }
  ],
  "consistency": {
    "checks": 5,
    "matches": 5,
    "mismatches": 0,
    "indeterminate": 0,
    "notApplicable": 0
  },
  "fingerprint": {
    "algorithm": "sha256",
    "canonicalization": "RFC8785",
    "projectionVersion": "passport-semantic-v1",
    "value": "499b2050aad01e1c8cb3d685381da22bc185e232603bd1815f5f88c152c00829",
    "complete": true
  }
}

Why compare Passports?

Two observations become comparable Passports
  1. 01Observation A
  2. 02Observation B
  3. 03Structural comparison
- mcp.tool:create_brief+ mcp.tool:compare_catalogs

The raw structural difference becomes an ordered change set under deterministic compatibility rules.

A schema can change without a tool disappearing. InterfaceDelta recognizes a small set of effects it can prove, such as a previously optional input becoming required. Input changes are checked from caller to tool; output changes are checked from tool back to an earlier consumer. Unsupported schema features are marked for review instead of guessed.

Controlled demo comparison — excerptjson

Generated from two real network observations of versioned demo deployments.

{
  "state": "changed",
  "ruleVersion": "compatibility-rules-v1",
  "highestClassification": "breaking",
  "counts": {
    "breaking": 1,
    "nonBreaking": 1,
    "informational": 0,
    "indeterminate": 0
  },
  "changes": [
    {
      "code": "CAPABILITY_REMOVED",
      "classification": "breaking",
      "reasonCode": "PREVIOUSLY_PRESENT_CURRENTLY_ABSENT_COMPLETE_INVENTORIES",
      "before": {
        "kind": "mcp.tool",
        "protocolKey": "create_brief"
      },
      "after": null
    },
    {
      "code": "CAPABILITY_ADDED",
      "classification": "non_breaking",
      "reasonCode": "CURRENTLY_PRESENT_PREVIOUSLY_ABSENT_COMPLETE_INVENTORIES",
      "before": null,
      "after": {
        "kind": "mcp.tool",
        "protocolKey": "compare_catalogs"
      }
    }
  ]
}

What do the classifications mean?

Breaking
Enough deterministic evidence shows a change that may break a consumer relying on the previous interface.
Non-breaking
The change is additive or otherwise classified as not removing previous compatibility.
Informational
Something changed, but it does not warrant a compatibility conclusion.
Needs review / Indeterminate
A real difference exists, but available evidence cannot safely classify its compatibility effect.

Indeterminate is intentional. InterfaceDelta prefers to say that it does not know rather than manufacture certainty.

How can people and software use InterfaceDelta?

People use the Web Inspector. Conventional software can use the REST Developer API v1. AI applications can use InterfaceDelta's separate MCP resources for recorded evidence or fresh inspection. These access modes are live in the public beta. Choose an integration surface →

Monitoring repeats public observation on an approximately 24-hour cadence and compares normalized Passports. InterfaceDelta does not prove ownership, safety, security, legal compliance, tool behavior or universal compatibility.

What InterfaceDelta does not claim

InterfaceDelta is not currently claiming that a service is safe, secure, trustworthy, certified, legally compliant or vulnerability-free.

InterfaceDelta observes and compares machine-readable interfaces. Its job is to make those interfaces legible across time.