Skip to content

Non-normatively reference the MCP specification - #315

Merged
domfarolino merged 2 commits into
webmachinelearning:mainfrom
mconroy-cf:pin-mcp-normative-ref
Sep 28, 2026
Merged

domfarolino merged 2 commits into
webmachinelearning:mainfrom
mconroy-cf:pin-mcp-normative-ref

Conversation

@mconroy-cf

@mconroy-cf mconroy-cf commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

The [[!MCP]] biblio entry currently points at https://modelcontextprotocol.io/specification/latest, which is a moving target. A normative reference that resolves to different documents over time means two conforming WebMCP implementations can disagree on ToolAnnotations semantics (for example, if a hint field is renamed or its default changes in a later MCP revision) with no change to this spec or to author code.

W3C practice is to cite dated revisions for normative references. This pins to 2026-07-28, which is what /latest resolves to today and matches the ToolAnnotations surface the spec currently describes. The CG can bump the revision deliberately when it chooses to track a newer MCP release.

Bikeshed builds clean with the change. Resolved URL verified to return 200.


Preview | Diff

The [[!MCP]] biblio entry pointed at /specification/latest, a moving
target. A normative reference that resolves to different documents over
time lets two conforming implementations disagree on ToolAnnotations
semantics with no change to the spec or to author code. Cite a dated
revision, per W3C practice, and bump it deliberately when the CG chooses
to track a newer MCP revision.
@mconroy-cf

Copy link
Copy Markdown
Contributor Author

A quick note on affiliation, since I saw that pop up. This is Matt from Cloudflare. We're supporters of WebMCP (see (https://blog.cloudflare.com/webmcp/) and are doing some work on our side to continue expansion of tooling to our customers.

@w3cbot

w3cbot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

anssiko marked as non substantive for IPR from ash-nazg.

@domfarolino domfarolino left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sending this PR.

A normative reference that resolves to different documents over time means two conforming WebMCP implementations can disagree on ToolAnnotations semantics (for example, if a hint field is renamed or its default changes in a later MCP revision) with no change to this spec or to author code.

I actually don't think this applies, since WebMCP doesn't require tools to be exposed to agents via MCP as an underlying substrate (at least at the moment), nor do I think we're normativel important MCP's tool annotations concepts or semantics and depending on them from this spec.

So I think the best fix is probably to make MCP a non-normative reference ([[MCP]] instead of [[!MCP]]). In that case, I think continuing to link to /latest is actually preferable, since we're pointing readers to the general MCP spec instead of advertising that our spec depends on a聽particular revision of it.

How does that sound?

@mconroy-cf

Copy link
Copy Markdown
Contributor Author

Ah, Dom, yes, sorry. that was silly of me. Thanks for showing me where I was going wrong. I appreciate that.

@anssiko

anssiko commented Sep 28, 2026

Copy link
Copy Markdown
Member

A non-normative qualification is appropriate at this moment and the latest reference makes sense in this context. I established the normative status in the beginning, but we've evolved since and should update this.

@domfarolino domfarolino changed the title Pin the normative MCP reference to a dated revision Non-normatively reference the MCP specification Sep 28, 2026

@domfarolino domfarolino left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took the liberty of updating the PR to make the changes we agreed upon. Now this PR only non-normatively links to the MCP specification, and keeps the /latest reference.

@domfarolino
domfarolino merged commit 433a194 into webmachinelearning:main Sep 28, 2026
2 checks passed
github-actions Bot added a commit that referenced this pull request Sep 28, 2026
SHA: 433a194
Reason: push, by domfarolino

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants