Spec: Update mediaType to type for catalogEntry and add known types#37
Conversation
|
Preview unavailable. The pull request preview was removed because this pull request is closed. |
…est (which is different from the type for catalog entry) and fix the type to application/mcp-server+json in examples
…d syntax standards
… and specification
|
The attestation object already has a "type" and "mediaType" and now type in the entry is actually a media type. It seems confusing and inconsistent to me when i read this again. |
Simplifies the attestation metadata schema by removing the `mediaType` field from the `Attestation` object, following the May 28, 2026 workgroup decision. - Removes `mediaType` from the Attestation schema definition in `ai-catalog.md`. - Updates all trustManifest examples across the specification. - Updates ADR 0014 to document the context, decision, and rationale for this removal.
|
lgtm |
Co-authored-by: Tadas Antanavicius <[email protected]>
Co-authored-by: Jonathan Hefner <[email protected]>
Co-authored-by: Jonathan Hefner <[email protected]>
Co-authored-by: Jonathan Hefner <[email protected]>
Co-authored-by: Jonathan Hefner <[email protected]>
Co-authored-by: Jonathan Hefner <[email protected]>
…n/mcp-server-card+json, and standardize Markdown profile URNs
…d correct mcp-server-card nomenclature in ADR 0014
|
hey guys, love the cards. not wishing to put yet another decision burden on your track — but I author a fair few Agent Skills (~40) and I'd love to see tags carry discovery. one word and you have everything, no matter how deep the catalog becomes — I just tried the format out for myself (published a catalog with five entries) and that's where it landed for me. thanks again for the work on this. — Assisted by Claude (Opus 4.8) · Approved by James Wolfe (@Wolfe-Jam) |
…skills+md in catalog and ADR, also added agent-skills+json for skills metadata json file
…14) (#32) ## What Adapts the **MCP Catalog Entry** in `docs/discovery.md` to [AI Catalog PR #37](Agent-Card/ai-catalog#37) / ADR 0014, which renames the `CatalogEntry.mediaType` member to **`type`** and reframes its description as an open-text *type identifier* rather than a strict IANA media type. Changes (docs-only, `docs/discovery.md`): - Renames the `mediaType` member to `type` in the Catalog Entry table. - Updates the member description to mirror ADR 0014: "An identifier specifying the type of the referenced artifact." - Updates the `type` key in all four example catalog entries. - Updates the client-validation prose (`type` set to … / "ignore entries with unrecognized types"). ## Rebase / conflict resolution This branch was rebased onto the current `main` to resolve a merge conflict in `docs/discovery.md`. The conflict came from changes that landed on `main` after this branch was cut: - **#31** — `urn:air:` identifier adaptation (ADR 0015). **Preserved.** - **#39 / #14** — removal of the `displayName` field from MCP Catalog entries. **Preserved** — this PR does **not** reintroduce `displayName`; it only renames the field `mediaType` → `type` on top of main's current structure. The resolved diff is exactly the `mediaType` → `type` rename (table row, four examples, validation prose) applied on top of main — nothing from either side's intent was dropped. ## Scope decision — value deliberately kept as `application/mcp-server-card+json` This PR renames the **field only**. The value stays `application/mcp-server-card+json` and is **not** changed to ADR 0014's known-type `application/mcp-server+json`. Rationale: - ADR 0014 explicitly makes `type` an **open-text** format ("any string value is accepted"); `application/mcp-server+json` is a non-binding "known type," and ecosystem types are "governed externally" (i.e., by MCP). So keeping a more precise MCP-governed value is compatible with ADR 0014, not a contradiction. - This repo **deliberately** chose `application/mcp-server-card+json` over `application/mcp-server+json` (issue #9 / PR #18) to avoid colliding with the MCP Registry's `server.json` concept — a distinction the README documents in "Relationship to the MCP Registry." **Flag for maintainers:** AI Catalog's ADR 0014 known-types list uses `application/mcp-server+json` for MCP. Whether this repo should also adopt that value (reversing issue #9 / PR #18 and re-introducing the `server.json` naming collision) is a separate, more consequential decision and is intentionally **out of scope** here. Happy to file a cross-repo issue if maintainers want to pursue it. ## What is intentionally NOT changed - The **Server Card document's own HTTP media type** (`Accept` / `Content-Type` negotiation, the reserved `/server-card` location prose). That is a genuine IANA media type, not the renamed catalog field, and ADR 0014 does not touch it. - `schema.ts` / `schema.json` — the Server Card schema has no `mediaType`/`type` member; this convention lives only in the discovery doc. ## Verification - [x] Rebased onto latest `main`; merge conflict in `docs/discovery.md` resolved, preserving both #31 (`urn:air:`) and #39 (`displayName` removal). PR now reports `MERGEABLE`. - [x] `npm run check` — `schema.json` up to date, `tsc --noEmit` clean - [x] `npm run validate` — all 7 examples pass - [x] `npm run format:check` — `docs/discovery.md` clean, including markdown table re-alignment - [x] Verified zero `mediaType` field tokens remain (`git grep mediaType` → no matches) - [x] Verified the Server Card HTTP media-type prose was left intact (no over-reach) - [x] **CI green** — `build`, `Analyze (actions)`, and `CodeQL` all pass on the rebased head ([run](https://github.com/modelcontextprotocol/experimental-ext-server-card/actions/runs/29278815978)) - [x] Independent fresh-eyes subagent review: **APPROVE** (rename complete & correct; no `displayName` reintroduced; value unchanged; Server Card media-type prose intact; no stray `mediaType`; no conflict markers) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: tadasant <[email protected]> Co-authored-by: Claude Opus 4.8 <[email protected]>
Update AI-catalog spec based on meeting agreement on date: 04/30/2026, 05/14/2026
Move from
mediaTypetotypeinCatalogEntrymediaTypefield totypein catalog entries to avoid confusion with generic IANA media types.typefield is an open text format accepting any string value. However, a set of recognized "known types" is recommended for interoperability (e.g.,application/a2a-agent-card+json,application/mcp-server+json,application/ai-catalog+json,application/agent-registry, and format-specific skills like+gzip,+zip,+json). Clients are responsible for handling new or unknown types.