docs: refactor MCP mapping appendix to Server Cards + align with MCP spec#53
Draft
tadasant wants to merge 8 commits into
Draft
docs: refactor MCP mapping appendix to Server Cards + align with MCP spec#53tadasant wants to merge 8 commits into
tadasant wants to merge 8 commits into
Conversation
… ext-server-card PR #32 Reconcile the server.json mapping appendix with the current ADRs and the landing state of modelcontextprotocol/experimental-ext-server-card PR #32: - Fix the self-contradictory `type` note: examples for entries pointing at a Registry server.json now use the generic `application/json` (no known type exists for server.json), consistent with the note's own rationale. - Explain the open-text `type` model (ADR 0014) and the deliberate `application/mcp-server-card+json` vs `application/mcp-server+json` distinction (ext-server-card issue #9 / PR #18; PR #32 keeps the card value while renaming the field to `type`). - Correct SEP reference SEP-1649 -> SEP-2127 (heading, links, anchors). - Correct Server Card location prose: any unreserved URI, reserved default `<streamable-http-url>/server-card` (not `.well-known`). - Note the urn:air identifier form (ADR 0015) in the conceptual mapping. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Contributor
|
Preview: https://ai-catalog.io/pr/53/ This comment is updated automatically while the pull request preview is available. |
Use anonymous.modelcontextprotocol.io publisher in the name-row example to match the brave-search entries rendered elsewhere in the appendix. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… server.json to experimental Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ith MCP spec - Remove the 'experimental' MCP Registry server.json mapping (server.json gets a first-class treatment in a follow-up PR). - Replace stale .well-known/mcp/server-card.json example URLs with the current <streamable-http-url>/server-card convention (the Server Card WG dropped the .well-known requirement for the card itself). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
8 tasks
…pendix PR #53 alone does not add a server.json appendix (that lands in a stacked follow-up). Acknowledge server.json exists as a distinct artifact type without claiming this PR provides guidance on it. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MCP is removing the mandatory initialize handshake (modelcontextprotocol/ modelcontextprotocol#2575, stateless MCP). The Server Card description no longer frames itself as mirroring that handshake response; it simply states the fields the card carries. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The scope note called the card a 'runtime discovery document' while the Overview called it 'static'; align on 'static' (the SEP-2127 framing and the accurate one now that the card is the static replacement for the removed initialize handshake). The connection/runtime nuance stays in the parenthetical. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…g detail to SEP-2127 The overview repeated SEP-2127's precise hosting rule (reserved <streamable-http-url>/server-card default), which can drift from the SEP. Replace it with a high-level, example-led description and link out to SEP-2127 for the card's schema, fields, and hosting conventions. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Refreshes the MCP mapping appendix of the spec (live: https://ai-catalog.io/#mapping-to-mcp-registry-server-json), which was very outdated, and does a broader clean-up pass to align the spec's MCP examples with the current MCP spec.
Key changes
Mapping to MCP Registry server.json→Mapping to MCP Servers. (No internal cross-references targeted the old anchor, so nothing else in the spec breaks; the public-page anchor changes accordingly.)urlpoints to the server's Server Card (SEP-2127) with the knowntypeapplication/mcp-server-card+json. The conceptual table, the entry example, the "MCP Servers as an AI Catalog" example, the discovery flow, and "What AI Catalog Adds" were all rewritten around Server Cards.https://…/.well-known/mcp/server-card.jsonare replaced with realistic example URLs the catalog entry can point at (the Server Card WG dropped the.well-knownrequirement for the card itself). This touches four examples elsewhere in the spec (the Top-Level Structure example and a few OCI/entry examples) in addition to the appendix — hence the broader "clean up to align with MCP spec" scope. The AI Catalog's own discovery file (/.well-known/ai-catalog.json) is unchanged — that's the catalog, not the card.<streamable-http-url>/server-carddefault), which is the kind of technical detail that drifts from the SEP over time. It now gives a high-level, example-led description and links out to SEP-2127 for the card's schema, fields, and hosting conventions.typealigned with ADR 0014 (mediaType→type, open-text with recommended known types) throughout.Scope note: server.json
The previous version of this appendix centered on the MCP Registry
server.jsonformat. That mapping is removed here and will be reintroduced as a first-class cataloged artifact type in a follow-up PR stacked on this one (givingserver.jsonits own known media type rather than treating it as a footnote). This PR is intentionally Server-Card-only.Assumptions / premise notes
modelcontextprotocol/experimental-ext-server-cardPR Add AI Catalog governance proposal #32 lands as written: it renames the Catalog Entry fieldmediaType→typebut keeps the valueapplication/mcp-server-card+json(deliberately notapplication/mcp-server+json, to avoid colliding with the Registryserver.jsonconcept — see ext-server-card issue Proposal: Start by Defining Design Principles for the Registry Standard #9 / PR spec: post-meeting converged AI Card profile proposal #18). If PR Add AI Catalog governance proposal #32 lands differently, thetypevalue in these examples needs a follow-up edit.mainalready usesapplication/mcp-server-card+json(notapplication/mcp-server+json), so ADR 0014 and ext-server-card already agree — this PR keeps that value.Verification
python tools/build_spec.py), exit 0,dist/index.htmlproduced.grep "experimental-mapping"→ none).grep "well-known/mcp/server-card"→ none; replaced count 4→0. The catalog's own/.well-known/ai-catalog.jsonURLs were verified unchanged (not wrongly rewritten).idaudit shows the only unresolved anchors (metadata-extensibility,resolving-an-artifacts-display-name,version-handling) are pre-existing onmain(verified by buildingmain's version); none are introduced or referenced by this change.type(application/mcp-server-card+json) andurn:air:identifier form.Status
Draft — do not merge. Awaiting Tadas's review and rewrite. A stacked follow-up PR adds first-class
server.jsoncataloging.