Skip to main content
AI Readiness Auditor — validates the MCP Server Card that advertises a remote MCP server for AI clients.

AI Readiness

Makes the site’s MCP server discoverable and connectable by AI clients.

Security

HTTPS-only hosting and browser-safe CORS on the card endpoint.
An MCP Server Card is a static JSON document that describes a remote Model Context Protocol server — its identity, transport endpoints, and protocol versions — so AI clients can discover and connect to it before any protocol exchange. This auditor finds the site’s Server Card, validates the document against the Server Card v1 schema rules, and checks how it is hosted.

How it works

The auditor discovers Server Cards from the audited URL’s origin and then validates every card it finds:
  1. AI Catalog as a link source — fetches /.well-known/ai-catalog.json and follows entries whose type is application/mcp-server-card+json, using their url (fetched with Accept: application/mcp-server-card+json) or inline data. The catalog itself is not audited: a missing, unreachable, or malformed catalog produces no findings, and broken entry links are only recorded as attempts.
  2. Reserved-location fallback — when the catalog yields no card, tries /.well-known/mcp/server-card.json and then /mcp/server-card, stopping at the first HTTP 200.
  3. Document validation — each card is checked against the Server Card v1 schema rules: $schema, name, version, description, and remotes.
  4. Hosting validation — cards fetched over HTTP are additionally checked for media type, CORS, and HTTPS. Inline cards embedded in a catalog entry have no HTTP response of their own, so hosting rules are skipped for them.
  5. Specification pin — every run emits 37A-McpServerCardAuditor-100 (INFORMATION) naming MCP Server Card v1 (27 Jun 2026) and schema.json commit 92999cb3f5d82e648385cb92ce41ed9aa1386eda. That check does not change overall status.
Any failing rule makes the audit FAIL; otherwise a wrong media type produces a WARNING; otherwise the audit is a SUCCESS.

What it audits

Every row maps to one checkRule* method and one CheckCode. Hosting rules (412, 413, 300) are skipped for inline cards embedded in an AI Catalog entry. 37A-McpServerCardAuditor-100 is emitted on every run, including missing-card and invalid-URL failures. CheckCode suffixes use status ranges: 100 information, 200 success, 300–399 warning, 400–499 fail.

Output documentation

Risks and considerations

AI discoverability

  • Without a Server Card at a discoverable location, AI clients cannot find or auto-configure a connection to the site’s MCP server, so the server is invisible to agentic sessions.
  • A card that violates the v1 schema (wrong $schema, malformed name, range version) may be rejected by validating clients even when the MCP server itself works.

Client interoperability

  • Browser-based clients are blocked entirely when the card endpoint lacks Access-Control-Allow-Origin.
  • Serving the card without the application/mcp-server-card+json media type can break clients that negotiate content via the Accept header.
  • Invalid remotes[] transport types or endpoint URLs steer clients toward connections that cannot be established.

Security and trust

  • Server Cards are consumed before the client connects; a card served over plain HTTP can be tampered with in transit and redirect clients to a rogue endpoint.
  • A stale or inaccurate card (identity, transport, protocol versions) is a confusion or downgrade vector — keep the card consistent with the server’s runtime behavior.

Operational drift

  • The card is a static document: version bumps, endpoint moves, or transport changes on the server must be mirrored in the card, or clients will act on outdated connection details.