Skip to content

Improve agent/LLM discoverability of the docs site#24831

Open
dvdksn wants to merge 3 commits intodocker:mainfrom
dvdksn:isitagentready
Open

Improve agent/LLM discoverability of the docs site#24831
dvdksn wants to merge 3 commits intodocker:mainfrom
dvdksn:isitagentready

Conversation

@dvdksn
Copy link
Copy Markdown
Contributor

@dvdksn dvdksn commented Apr 20, 2026

Summary

Address legitimate findings from an agent-readiness audit of docs.docker.com:

  • Fix homepage markdown content negotiation. The CloudFront Lambda rewrote / with Accept: text/markdown to an invalid .md URI, returning a 502. It now routes to /llms.txt, and the deploy workflow sets Content-Type: text/markdown on that file so the response media type matches the request.
  • Declare AI content usage preferences. Adds Content-Signal: ai-train=yes, search=yes, ai-input=yes to robots.txt. Docker's official docs benefit from being trained on and used as RAG input.
  • Advertise the Docker docs MCP server. Publishes an MCP Server Card at /.well-known/mcp/server-card.json pointing at https://mcp-docs.docker.com/mcp, and adds a pointer in llms.txt.

Out of scope

Several audit findings don't apply to a docs site (OAuth/OIDC discovery, OAuth Protected Resource Metadata, WebMCP — we have no protected APIs or site "tools" to expose) or are too early-stage to invest in (Agent Skills index).

Link headers (RFC 8288) deserves a specific note: the audit flags their absence as a pattern, but docs.docker.com is a multi-product site without a single canonical API to advertise via rel="service-doc" / rel="service-desc". Agents that follow the llms.txt convention already find /llms.txt without a hint, and MCP clients now find the server via the .well-known/mcp/server-card.json added here. Adding Link headers would also require a new viewer-response Lambda trigger — real infrastructure cost for no marginal discovery value. Skipped intentionally.

Generated by Claude Code

dvdksn and others added 3 commits April 20, 2026 15:29
The CloudFront Lambda rewrote `/` with `Accept: text/markdown` to an
invalid `.md` URI, causing a 502 LambdaValidationError. Homepage has no
flattened markdown equivalent, so route to `/llms.txt` — the
agent-oriented markdown index of the site. Same handling for
`/index.html`.

Also set `Content-Type: text/markdown` on `llms.txt` at upload time, so
content negotiation responses and direct requests both advertise the
correct media type.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add Content-Signal directive opting in to AI training, search indexing,
and AI input (RAG/grounding). Docker's official docs benefit from wide
distribution through AI assistants, so permitting training and grounding
is aligned with the site's purpose.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Publish an MCP Server Card at /.well-known/mcp/server-card.json
pointing at https://mcp-docs.docker.com/mcp, so agents doing MCP
discovery can find the official Docker docs endpoint. Mirror the
serverInfo and capabilities reported by the server's initialize
response.

Also add a one-line pointer near the top of llms.txt so LLMs fetching
the index learn about the structured-access alternative.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@dvdksn dvdksn added the status/review Pull requests that are ready for review label Apr 20, 2026
@netlify
Copy link
Copy Markdown

netlify bot commented Apr 20, 2026

Deploy Preview for docsdocker ready!

Name Link
🔨 Latest commit 63be81f
🔍 Latest deploy log https://app.netlify.com/projects/docsdocker/deploys/69e62c9e386d8c0008e5ba89
😎 Deploy Preview https://deploy-preview-24831--docsdocker.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@dvdksn dvdksn requested a review from a team April 20, 2026 13:39
@dvdksn
Copy link
Copy Markdown
Contributor Author

dvdksn commented Apr 20, 2026

/review

Copy link
Copy Markdown
Contributor

@docker-agent docker-agent bot left a comment

Choose a reason for hiding this comment

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

Assessment: 🟢 APPROVE

This PR correctly addresses homepage markdown content negotiation (CloudFront Lambda + Content-Type header on llms.txt), adds AI content-usage preferences to robots.txt, and publishes an MCP Server Card. The changes are well-scoped and accurate.

One minor note: the version field in the new MCP Server Card JSON is hardcoded. See inline comment.

Comment thread static/.well-known/mcp/server-card.json
Copy link
Copy Markdown
Member

@usha-mandya usha-mandya left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status/review Pull requests that are ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants