Registrations
FAF holds IANA-registered media types for its three formats.
| Format | Media type | Role | Registered |
|---|---|---|---|
.faf | application/vnd.faf+yaml | Context | 2025-10-30 |
.fafm | application/vnd.fafm+yaml | Memory | 2026-05-13 |
.fafa | application/vnd.fafa+yaml | Agent | 2026-06-26 |
claude-faf-mcp is listed in the Model Context Protocol server registry
(PR #2759, merged 2025-10-17) and uses application/vnd.faf+yaml as its context type.
Design decisions and the specification
Each row: the design choice FAF shipped, and the AI Catalog specification change that ratified it. Where the FAF date is earlier, the deployment predated the rule.
| Decision | FAF | Specification |
|---|---|---|
| Media type as the artifact identifier | vnd.faf+yaml registered 2025-10-30 | type field + known-types list — PR #37, merged 2026-06-25 |
Conformant catalog at /.well-known/ai-catalog.json | published 2026-06-19 | the discovery mechanism the specification recommends |
extensions namespace map, not a nested metadata object | re-conformed 2026-09-13 | ADR-0017 / PR #77, merged 2026-07-30 |
Trust-manifest identity as https://<domain>, on urn:air identifiers | deployed 2026-08-24 | ADR-0024 / PR #107, proposed 2026-09-02 (pending) |
On the last row: ADR-0024 defines publisher-domain alignment only for did:web,
HTTPS, and SPIFFE identities, and its diff rewrites the specification's own examples away
from bare urn:air identity values. FAF's catalog used https://faf.one as the trust-manifest identity from the 2026-08-24 build-out, on urn:air:faf.one:… identifiers — which aligns under the proposed rule with
no change. Verified against the live endpoint.
Contribution to the specification
PR #56 — make displayName optional in the CatalogEntry CDDL, aligning it with
ADR-0016. Opened and merged 2026-06-30. The same change was mirrored
downstream into the MCP Server Card schema
(experimental-ext-server-card #14).
Agentic Resource Discovery
ARD v0.91 (status: Proposal) discovers entries at /.well-known/ard.json. Its
predecessor used the AI Catalog path, /.well-known/ai-catalog.json. FAF serves
one document for both: on faf.one and mcpaas.live, ard.json redirects to the AI
Catalog.
| Decision | FAF | ARD v0.91 |
|---|---|---|
/.well-known/ard.json redirects (301) to the AI Catalog | deployed 2026-09-15 | §5.1: consumers MUST fetch ard.json |
displayName on every MCP Server Card entry, set to the card's own title | deployed 2026-09-15 | §4.2: displayName is required |
The AI Catalog keeps displayName optional (PR #56 above); ARD requires it. Carrying
it satisfies both. ARD's own conformance tester reports PASS for faf.one and mcpaas.live.
Verify
curl https://faf.one/.well-known/ai-catalog.json— 8 entries,.faf/.fafm/.fafaplus an MCP Server Card, an A2A Agent Card, and a nested sub-catalogcurl https://mcpaas.live/.well-known/ai-catalog.json— three MCP Server Cards, Ed25519-signed (public key atmcpaas.live/.well-known/jwks.json)curl -I https://faf.one/.well-known/ard.json— 301 to/.well-known/ai-catalog.json(the same on mcpaas.live)- ARD: conformance-test
publisher faf.oneandpublisher mcpaas.live— PASS - IANA: vnd.faf+yaml · vnd.fafm+yaml · vnd.fafa+yaml
- Specification: ai-catalog.io · Agent-Card/ai-catalog