Skip to content

docs: state that adopting service discoverability opts an app in to ICP MCP - #372

Merged
marc0olo merged 4 commits into
mainfrom
docs/service-discoverability-icp-mcp-disclaimer
Aug 28, 2026
Merged

docs: state that adopting service discoverability opts an app in to ICP MCP#372
marc0olo merged 4 commits into
mainfrom
docs/service-discoverability-icp-mcp-disclaimer

Conversation

@aterga

@aterga aterga commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a visible disclaimer to docs/guides/frontends/service-discoverability.md stating that adopting the protocol opts an app in to being discovered by ICP MCP, under its terms of service and privacy policy.

The protocol's whole purpose is that an agent handed only an app's URL can work the rest out unattended, so publishing the manifest is the moment the app becomes usable by agents that read it. The page did not say so. It does now, above the fold, before any of the instructions it qualifies.

Wording:

Adopting this protocol opts your app in

By implementing this service discoverability protocol for your app, you agree that your app should be discovered by ICP MCP, that you accept its terms of service, and that you comply with its privacy policy. Publishing the Layer 1 manifest at /.well-known/ic-architecture is the act that opts your app in: the layers are otherwise independently adoptable, and the rest of them describe how an agent works with an app once it has been discovered.

Two smaller changes came out of review: the page description now names ICP MCP, and the opening line speaks of "an agent working through ICP MCP" rather than an abstract AI agent.

Structural decisions

  • Placement: immediately after the intro paragraph and before ## The five layers, so it is read before the instructions it qualifies rather than being buried under them.
  • Aside type: :::caution (used 11 times elsewhere in docs/) rather than :::note, since the point was that it be clearly visible, and it carries an agreement rather than an aside.
  • Naming the trigger: without the second sentence, "implementing this service discoverability protocol" sat in tension with the page's own "each layer is independently adoptable", leaving it unclear whether exposing only getApiDoc or an ii-derivation-origin also opts an app in. It does not, and naming the manifest makes the page agree with what the connector actually keys on (dfinity/imcp2#166 gates writes on exactly that document).
  • Why the consent statement is not in the frontmatter description: Starlight puts that field only into the page's description and og:description meta tags, which cannot render markdown, so links there would show as literal brackets in search results and link previews. The statement lives in the aside, where it renders and where a reader sees it.
  • Links: all three target internetcomputer.org/icp-mcp/, verified live (HTTP 200; the pages render "ICP MCP Terms of Service" and "ICP MCP Privacy Policy").

Verified

  • npm run build passes on every commit; the page renders the aside as starlight-aside--caution with all links intact, confirmed on the deployed preview.
  • No em-dashes, no dfx, no banned vocabulary (checked against icp-brand-voice).
  • The two remaining "AI agents" in the built page come from the site-wide agent-signaling blockquote and llms.txt footer, injected into every page by the agent-docs integration; out of scope here.
  • package-lock.json, touched by npm install during setup, is deliberately not included.

Note for reviewers

@sea-snake approved at b7e5e2b. Two further commits landed after that, both addressing review comments on this PR (d9fe5df, 389828e), so the approving commit is no longer the head and the approval may need refreshing.

…CP MCP

The protocol's whole purpose is that an agent handed only an app's URL can
work the rest out unattended, so publishing the manifest is the moment an
app becomes usable by agents that read it. Say so on the page, above the
fold, rather than leaving it implicit: adopting the protocol means the app
agrees to be discovered by ICP MCP under its terms of service.

Placed as a caution aside right after the intro, before the layer
breakdown, so it is read before any of the instructions it qualifies.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds an early opt-in notice for apps adopting service discoverability.

Changes:

  • Adds an ICP MCP discovery and terms-of-service caution.

Verified

  • Reviewed placement, wording, and surrounding protocol scope.
  • Live brand rules were unavailable; checked against loaded guidance.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/guides/frontends/service-discoverability.md Outdated
The notice said "implementing this service discoverability protocol",
but the page goes on to say each of the five layers is independently
adoptable. A reader could not tell whether exposing only a getApiDoc
method or a derivation origin also opts their app in.

Name the act: publishing the Layer 1 manifest at
/.well-known/ic-architecture. That is also what ICP MCP actually keys on,
so the page and the connector now agree.
Comment thread docs/guides/frontends/service-discoverability.md Outdated
Comment thread docs/guides/frontends/service-discoverability.md Outdated
claude added 2 commits August 28, 2026 13:19
Per review. Two changes to the same notice:

The page description now says what the exposed data means, not only
what it is: exposing it indicates the app's operations are intended to
be used through ICP MCP, under its terms of service and privacy policy.

The caution aside gains the privacy policy alongside the terms, and
follows the review's phrasing (accept the terms, comply with the
privacy policy).

The description's links are plain prose rather than markdown. Starlight
puts this field only into <meta name="description"> and
<meta property="og:description">, which cannot render markdown, so link
syntax there would show as literal brackets in search results and link
previews. All three links are clickable in the aside, which is the part
a reader actually sees.
…ntro

Two review points.

The description is now exactly the reviewer's edited suggestion: the
short one-liner, without the consent sentence. My previous commit had
folded that sentence in, from the earlier version of the suggestion,
before it was edited. The consent statement stays where it renders and
where a reader sees it, in the caution aside.

The intro no longer speaks of an abstract "AI agent" but of an agent
working through ICP MCP, which is what the page is actually about. The
remaining plain "agent" mentions further down read naturally once the
opening establishes which agent is meant, so they are left alone rather
than rewritten wholesale.
@aterga
aterga marked this pull request as ready for review August 28, 2026 14:27
@aterga
aterga requested a review from a team as a code owner August 28, 2026 14:27
@marc0olo
marc0olo merged commit f8a1d96 into main Aug 28, 2026
8 checks passed
@marc0olo
marc0olo deleted the docs/service-discoverability-icp-mcp-disclaimer branch August 28, 2026 14:51
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.

5 participants