Skip to content
TestWebMCP

WebMCP report

code.claude.com

https://code.claude.com/docs

85/ 100
Grade A

5 tool(s) registered. 2 returned results when called. Visitors can't use them yet: the page has no origin trial token (see P2).

Registers tools with JavaScriptScanned 9/24/2026, 5:28:43 PM · 6670ms
Registration
60/60
Tool quality
15/15
Ready for visitors
10/25

Registered tools

get_site_overviewdocument.modelContextregisterTool · 463ms

Get an outline of the Claude Code Docs documentation, grouped by section, with a short description of each page. May be truncated for large sites; use search_docs to find pages not listed.

readOnlyHint: true untrustedContentHint: true

inputSchema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
navigate_pagedocument.modelContextregisterTool · 463ms

Navigate the current browser tab to a Claude Code Docs documentation page.

readOnlyHint: false untrustedContentHint: false

inputSchema
{
  "type": "object",
  "required": [
    "path"
  ],
  "properties": {
    "path": {
      "type": "string",
      "description": "Path or URL of the page, as returned by search_docs"
    }
  },
  "additionalProperties": false
}
read_pagedocument.modelContextregisterTool · 463ms

Read the full content of a Claude Code Docs documentation page as markdown.

readOnlyHint: true untrustedContentHint: true

inputSchema
{
  "type": "object",
  "required": [
    "path"
  ],
  "properties": {
    "path": {
      "type": "string",
      "description": "Path or URL of the page, as returned by search_docs"
    }
  },
  "additionalProperties": false
}
read_skilldocument.modelContextregisterTool · 463ms

Read a Claude Code Docs agent skill document by name.

readOnlyHint: true untrustedContentHint: true

inputSchema
{
  "type": "object",
  "required": [
    "skill_name"
  ],
  "properties": {
    "skill_name": {
      "type": "string",
      "description": "The slug of the skill to read"
    }
  },
  "additionalProperties": false
}
search_docsdocument.modelContextregisterTool · 463ms

Search the Claude Code Docs documentation for relevant pages and content.

readOnlyHint: true untrustedContentHint: true

inputSchema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query"
    }
  },
  "additionalProperties": false
}

Registration

60/60
Pass

Tools registered with JavaScript R1

20/20

5 tool(s) registered.

  • Tools: get_site_overview, navigate_page, read_page, read_skill, search_docs
  • First tool registered 463ms after the page started loading.
Pass

Tools registered through forms R2

5/5

No form tools, and that's fine: your tools are registered with JavaScript. You only need one of the two.

  • JavaScript tools: get_site_overview, navigate_page, read_page, read_skill, search_docs
Pass

Tools work when called R3

30/30

2 tool(s) returned results when called.

  • Called: get_site_overview({})
  • Answered in 92ms with 12000 characters of text.
  • Result: # Claude Code Docs > Official documentation for Claude Code, Anthropic's agentic coding tool available in the terminal, IDE, desktop app, and browser. Covers installation, configuration, skills, subagents, hooks, MCP, the Agent SDK, and re… (2000 chars total)
  • Also working: search_docs
  • Found nothing for our test inputs (not counted against you): read_page, read_skill
Pass

Tools registered within 5 seconds R4

5/5

First tool registered 463ms after the page started loading.

  • Within the 5 second limit.

Tool quality

15/15
Pass

Valid input schemas Q1

5/5

All 5 tool(s) have a valid inputSchema, and every field has a description.

  • get_site_overview: takes no input.
  • navigate_page: 1 field(s), all described.
  • read_page: 1 field(s), all described.
  • read_skill: 1 field(s), all described.
  • search_docs: 1 field(s), all described.
Pass

Clear descriptions Q2

3/3

All 5 tool(s) have a description.

  • get_site_overview: "Get an outline of the Claude Code Docs documentation, grouped by section, with a short description of each page. May be … (188 chars total)"
  • navigate_page: "Navigate the current browser tab to a Claude Code Docs documentation page."
  • read_page: "Read the full content of a Claude Code Docs documentation page as markdown."
  • read_skill: "Read a Claude Code Docs agent skill document by name."
  • search_docs: "Search the Claude Code Docs documentation for relevant pages and content."
Pass

Clear names Q3

2/2

All 5 tool name(s) are specific.

  • Names: get_site_overview, navigate_page, read_page, read_skill, search_docs
Pass

Read-only hints Q4

3/3

All 5 tool(s) say whether they only read information.

  • get_site_overview: readOnlyHint true
  • navigate_page: readOnlyHint false
  • read_page: readOnlyHint true
  • read_skill: readOnlyHint true
  • search_docs: readOnlyHint true
Pass

Result size Q5

2/2

Every tested tool returned between 1 and 20,000 characters.

  • get_site_overview: 12,000 characters.
  • read_page: 17 characters.
  • read_skill: 21 characters.
  • search_docs: 1,500 characters.

Ready for visitors

10/25
Pass

HTTPS with a valid certificate P1

5/5

The page uses HTTPS with a valid certificate.

  • Connected to code.claude.com over HTTPS.
  • Issuer: Let's Encrypt
  • Valid until: Nov 23 14:51:17 2026 GMT
Fail

Origin trial token P2

0/15

No origin trial token, so your visitors can't use your tools yet.

WebMCP is still being tested in Chrome, and it only works on sites that signed up for the test. Signing up gives you a token to add to your pages. Your tools work in this report only because our scanner turns WebMCP on for itself.

Fix: Sign up for the WebMCP origin trial with your domain, then add the token to your pages.

<!-- Sign up: https://developer.chrome.com/origintrials -->
<!-- In <head>, before the script that registers your tools: -->
<meta http-equiv="origin-trial" content="YOUR_TOKEN">
Pass

No errors blocking tools P3

5/5

No errors stopped your tools from registering.

  • Content-Security-Policy: worker-src 'self' blob:; object-src 'none'; base-uri 'self'; upgrade-insecure-requests; frame-ancestors 'self' https://dashboard.mintlify.com https://app.mintli… (482 chars total)

Scan details

Requested
https://code.claude.com/docs
Final URL
https://code.claude.com/docs
HTTP status
200
Page title
Overview - Claude Code Docs
Load time
1877ms
Total scan time
6670ms
User agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
code.claude.com scores 85/100 for WebMCP · Test WebMCP