Web Standards Specs
БесплатноНе проверенSearch and read web standards from WHATWG, IETF, W3C, MDN, Can I Use, WPT, Node.js, and TypeScript via remote Cloudflare Workers.
Описание
Search and read web standards from WHATWG, IETF, W3C, MDN, Can I Use, WPT, Node.js, and TypeScript via remote Cloudflare Workers.
README
Remote MCP servers for searching and reading web standards specifications. Deployed as stateless Cloudflare Workers using the streamable-http transport.
Installation
OpenCode
Add to ~/.config/opencode/opencode.json (or your project's .opencode.json):
{
"mcp": {
"whatwg": {
"type": "remote",
"url": "https://whatwg-spec-mcp.jasnell.workers.dev/mcp",
"enabled": true
},
"ietf": {
"type": "remote",
"url": "https://ietf-spec-mcp.jasnell.workers.dev/mcp",
"enabled": true
},
"mdn": {
"type": "remote",
"url": "https://mdn-mcp.jasnell.workers.dev/mcp",
"enabled": true
},
"wpt": {
"type": "remote",
"url": "https://wpt-mcp.jasnell.workers.dev/mcp",
"enabled": true
},
"w3c": {
"type": "remote",
"url": "https://w3c-spec-mcp.jasnell.workers.dev/mcp",
"enabled": true
},
"caniuse": {
"type": "remote",
"url": "https://caniuse-mcp.jasnell.workers.dev/mcp",
"enabled": true
},
"nodejs": {
"type": "remote",
"url": "https://nodejs-mcp.jasnell.workers.dev/mcp",
"enabled": true
},
"typescript": {
"type": "remote",
"url": "https://typescript-mcp.jasnell.workers.dev/mcp",
"enabled": true
}
}
}
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"whatwg": {
"url": "https://whatwg-spec-mcp.jasnell.workers.dev/mcp"
},
"ietf": {
"url": "https://ietf-spec-mcp.jasnell.workers.dev/mcp"
},
"mdn": {
"url": "https://mdn-mcp.jasnell.workers.dev/mcp"
},
"wpt": {
"url": "https://wpt-mcp.jasnell.workers.dev/mcp"
},
"w3c": {
"url": "https://w3c-spec-mcp.jasnell.workers.dev/mcp"
},
"caniuse": {
"url": "https://caniuse-mcp.jasnell.workers.dev/mcp"
},
"nodejs": {
"url": "https://nodejs-mcp.jasnell.workers.dev/mcp"
},
"typescript": {
"url": "https://typescript-mcp.jasnell.workers.dev/mcp"
}
}
}
Claude Code
claude mcp add whatwg --transport http https://whatwg-spec-mcp.jasnell.workers.dev/mcp
claude mcp add ietf --transport http https://ietf-spec-mcp.jasnell.workers.dev/mcp
claude mcp add mdn --transport http https://mdn-mcp.jasnell.workers.dev/mcp
claude mcp add wpt --transport http https://wpt-mcp.jasnell.workers.dev/mcp
claude mcp add w3c --transport http https://w3c-spec-mcp.jasnell.workers.dev/mcp
claude mcp add caniuse --transport http https://caniuse-mcp.jasnell.workers.dev/mcp
claude mcp add nodejs --transport http https://nodejs-mcp.jasnell.workers.dev/mcp
claude mcp add typescript --transport http https://typescript-mcp.jasnell.workers.dev/mcp
Servers
WHATWG Spec MCP
Search and read WHATWG living standards — HTML, DOM, Fetch, URL, Streams, and 17 others.
Endpoint: https://whatwg-spec-mcp.jasnell.workers.dev/mcp
Tools
| Tool | Description |
|---|---|
list_standards |
List all 22 WHATWG living standards with name, description, and URL. Optionally filter by search term. |
search_all_standards |
Search for sections across ALL WHATWG standards at once. Useful when you don't know which standard defines a concept (e.g., "structuredClone", "AbortSignal"). |
search_standard |
Search within a specific standard for sections by title, ID, section number, or concept. Indexes both headings and <dfn> definitions. |
search_spec_content |
Full-text search within a standard's body text. Finds terms in algorithm steps and prose that don't have their own heading. |
get_standard_toc |
Browse the table of contents for a standard, with optional max_depth filtering for large specs like HTML. |
get_standard_section |
Fetch the full content of a section, converted to simplified markdown. Supports max_length for truncation. |
search_issues |
Search GitHub issues and pull requests across WHATWG repositories. Filter by type (issue, pr, or both). |
Data Sources
| Data | Source | Cache TTL |
|---|---|---|
| Standards list | spec.whatwg.org | 24 hours |
| Spec section + dfn indexes | Individual spec pages | 24 hours |
| HTML Standard sections | html.spec.whatwg.org/multipage/ | 24 hours |
| GitHub issues/PRs | GitHub Search API | 15 minutes |
IETF Spec MCP
Search and read IETF RFCs, Internet-Drafts, and working group information via the Datatracker API and RFC Editor.
Endpoint: https://ietf-spec-mcp.jasnell.workers.dev/mcp
Tools
| Tool | Description |
|---|---|
search_rfcs |
Search published RFCs by title, keyword, or number. Searches both titles and abstracts, with whole-word scoring to reduce false positives. |
get_rfc |
Fetch metadata, abstract, and relationships (obsoletes, obsoleted-by, updates, updated-by) for an RFC. Warns when viewing an obsoleted document. |
get_rfc_toc |
Fetch the table of contents for an RFC, listing all sections with numbers, titles, and anchor IDs. |
get_rfc_section |
Fetch the full content of a specific RFC section, converted to simplified markdown. Supports max_length for truncation. |
search_rfc_sections |
Search within a single RFC for sections by title keyword, without reading the full TOC. |
search_rfc_content |
Full-text search within an RFC's body text. Finds where specific terms, algorithms, or concepts are discussed. |
get_rfc_errata |
Fetch published errata (post-publication corrections) for an RFC from the RFC Editor. |
search_drafts |
Search active Internet-Drafts by title or keyword. |
get_draft |
Fetch metadata and abstract for a specific Internet-Draft, with optional content excerpt. |
list_working_groups |
List or search active IETF working groups, optionally filtered by area. |
get_working_group_documents |
List the published RFCs and/or active Internet-Drafts belonging to a specific working group. |
get_document_series |
Look up which RFCs comprise a BCP, STD, or FYI document series (e.g., "BCP 56" → RFC 9205). |
Data Sources
| Data | Source | Cache TTL |
|---|---|---|
| RFC search/metadata | IETF Datatracker API | 1 hour |
| RFC content (HTML) | rfc-editor.org/rfc/ | 24 hours |
| RFC relationships | Datatracker Related Documents API | 1 hour |
| RFC errata | rfc-editor.org/errata/ | 24 hours |
| Internet-Draft search | Datatracker API | 30 minutes |
| I-D content | ietf.org/archive/id/ | 1 hour |
| Working groups | Datatracker API | 6 hours |
| BCP/STD series | Datatracker Related Documents API | 24 hours |
MDN Web Docs MCP
Search MDN Web Docs, fetch page content, extract code examples, and look up browser compatibility data from the @mdn/browser-compat-data project.
Endpoint: https://mdn-mcp.jasnell.workers.dev/mcp
Tools
| Tool | Description |
|---|---|
search_mdn |
Search MDN articles by keyword — Web APIs, HTML elements, CSS properties, JavaScript features, and guides. |
search_mdn_by_type |
Search MDN filtered by content type (web-api, css, html, javascript, http, http-header, http-status, html-element, svg, guide). |
get_mdn_page |
Fetch a specific MDN page and return its content as simplified markdown (description, syntax, parameters, examples). |
get_mdn_subpages |
List child pages and navigation tree for an MDN page. Shows guides, interfaces, and related pages in hierarchy. |
get_browser_compat |
Fetch browser compatibility data for a feature (which browsers, from which version, with caveats). Resolves mirror entries to actual version numbers. |
get_mdn_examples |
Extract just the code examples from an MDN page. Useful when you already understand the concept and want usage patterns. |
list_web_api_interfaces |
List all members (constructor, properties, methods, events) of a Web API interface. |
get_http_header |
Fetch MDN documentation for a specific HTTP header — description, syntax, directives, examples. |
Data Sources
| Data | Source | Cache TTL |
|---|---|---|
| Search | MDN Search API | 30 minutes |
| Page content | MDN Document API (JSON) | 1 hour |
| Browser compat data | mdn/browser-compat-data (GitHub raw) | 1 hour |
Web Platform Tests MCP
Search, browse, and check results for web-platform-tests (WPT) — the shared conformance test suite used by all major browser engines. Test results from wpt.fyi.
Endpoint: https://wpt-mcp.jasnell.workers.dev/mcp
Tools
| Tool | Description |
|---|---|
search_wpt |
Search WPT tests by name, path, or keyword. Returns matching tests with per-browser pass/fail results. |
get_wpt_test |
Fetch the source of a specific test file with extracted metadata (spec links, title, assertions). |
list_wpt_directory |
List test files and subdirectories in a WPT directory. Mirrors spec structure. |
get_wpt_results |
Fetch browser pass/fail results for a test path or directory from wpt.fyi. The interop signal. |
get_wpt_interop_score |
Compute cross-browser interoperability scores for a test directory — per-browser pass rates and an overall interop percentage. |
get_wpt_diff |
Compare test results between two browser runs. Shows newly passing, newly failing, and changed tests. |
get_wpt_metadata |
Fetch test metadata — spec references, title, and assertion summaries — without reading the full source. |
search_wpt_by_spec |
Find WPT tests that reference a specific spec URL. Scans test files via wpt.live for <link rel="help"> metadata. |
Data Sources
| Data | Source | Cache TTL |
|---|---|---|
| Test search + results | wpt.fyi API | 30 min – 1 hour |
| Test source files | raw.githubusercontent.com / wpt.live | 1 hour |
| Directory listings | wpt.live HTML directory pages | 1 hour |
| Spec URL search | GitHub Code Search API / wpt.live scan | 1 hour |
W3C Specs MCP
Search and read W3C specifications, including all CSS Working Group editor drafts.
Endpoint: https://w3c-spec-mcp.jasnell.workers.dev/mcp
Tools
| Tool | Description |
|---|---|
search_w3c_specs |
Search all 1,680 W3C specifications by title or keyword via the W3C API. |
get_w3c_spec |
Get metadata for a specific W3C spec by shortname — title, status, editor draft URL, TR URL. |
list_css_specs |
List all ~158 CSS editor drafts from drafts.csswg.org with last modified dates. |
search_css_spec |
Search sections within a specific CSS spec by heading title. |
get_css_section |
Fetch a specific section from a CSS spec, converted to simplified markdown. |
Data Sources
| Data | Source | Cache TTL |
|---|---|---|
| W3C spec catalog | W3C Specifications API | 6 hours |
| CSS editor drafts index | drafts.csswg.org | 24 hours |
| CSS spec content | drafts.csswg.org/{shortname}/ | 24 hours |
Can I Use MCP
Look up browser support data and global usage percentages from caniuse.com.
Endpoint: https://caniuse-mcp.jasnell.workers.dev/mcp
Tools
| Tool | Description |
|---|---|
search_caniuse |
Search Can I Use features by keyword. Returns feature names, descriptions, and global support percentages. |
get_caniuse_support |
Get detailed browser support for a specific feature — per-browser version support, usage percentages, spec links, notes, and resources. |
Data Sources
| Data | Source | Cache TTL |
|---|---|---|
| Feature data | Fyrd/caniuse (GitHub raw JSON) | 6 hours |
Node.js API MCP
Search and read Node.js API documentation — modules, classes, methods, events, with stability indicators and version history.
Endpoint: https://nodejs-mcp.jasnell.workers.dev/mcp
Tools
| Tool | Description |
|---|---|
list_nodejs_modules |
List all ~50 Node.js API modules with stability indicators. Optionally filter by name. |
get_nodejs_module |
Fetch the overview and member listing for a module — stability level, classes, methods, events. |
search_nodejs_module |
Search within a specific module for methods, classes, or events by name. |
get_nodejs_section |
Fetch a specific section from a module's documentation as markdown. |
Data Sources
| Data | Source | Cache TTL |
|---|---|---|
| Module documentation | nodejs/node doc/api/ (GitHub raw Markdown) |
6 hours |
TypeScript MCP
Search the TypeScript Handbook, look up tsconfig compiler options, and read release notes.
Endpoint: https://typescript-mcp.jasnell.workers.dev/mcp
Tools
| Tool | Description |
|---|---|
search_typescript_handbook |
Search TypeScript handbook pages by topic (narrowing, generics, mapped types, etc.). |
get_typescript_handbook_page |
Fetch a specific handbook page as markdown. |
get_tsconfig_option |
Get documentation for a specific TypeScript compiler option (strictNullChecks, module, target, etc.). |
list_tsconfig_options |
List all compiler options, optionally filtered by category (type-checking, modules, emit, etc.). |
get_typescript_release_notes |
Fetch release notes for a specific TypeScript version. |
Data Sources
| Data | Source | Cache TTL |
|---|---|---|
| Handbook content | microsoft/TypeScript-Website (GitHub raw Markdown) | 6 hours |
| TSConfig option docs | microsoft/TypeScript-Website tsconfig-reference/ |
6 hours |
| Release notes | microsoft/TypeScript-Website documentation/ |
24 hours |
Project Structure
packages/
├── shared/ @mcp/shared — shared utilities
│ └── src/
│ ├── cache.ts Cloudflare Cache API + in-memory fallback
│ ├── html-to-markdown.ts HTML → simplified markdown converter
│ └── search.ts Scored search utility
├── whatwg-spec-mcp/ WHATWG MCP Worker
│ └── src/
│ ├── index.ts Worker entry point
│ ├── lib/ Data fetching and parsing
│ └── tools/ One file per MCP tool
├── ietf-spec-mcp/ IETF MCP Worker
│ └── src/
│ ├── index.ts Worker entry point
│ ├── lib/ Datatracker client, RFC/draft parsers
│ └── tools/ One file per MCP tool
├── mdn-mcp/ MDN MCP Worker
│ └── src/
│ ├── index.ts Worker entry point
│ ├── lib/ MDN search, content, compat data clients
│ └── tools/ One file per MCP tool
├── wpt-mcp/ WPT MCP Worker
│ └── src/
│ ├── index.ts Worker entry point
│ ├── lib/ wpt.fyi client, test file/directory access
│ └── tools/ One file per MCP tool
├── w3c-spec-mcp/ W3C Specs MCP Worker
│ └── src/
│ ├── index.ts Worker entry point
│ ├── lib/ W3C API client, CSS spec parser
│ └── tools/ One file per MCP tool
├── caniuse-mcp/ Can I Use MCP Worker
│ └── src/
│ ├── index.ts Worker entry point
│ ├── lib/ Caniuse data client
│ └── tools/ One file per MCP tool
├── nodejs-mcp/ Node.js API MCP Worker
│ └── src/
│ ├── index.ts Worker entry point
│ ├── lib/ Node.js docs parser
│ └── tools/ One file per MCP tool
└── typescript-mcp/ TypeScript MCP Worker
└── src/
├── index.ts Worker entry point
├── lib/ Handbook, tsconfig, release notes clients
└── tools/ One file per MCP tool
This is an npm workspaces monorepo. The @mcp/shared package provides caching, HTML-to-markdown conversion, and search utilities consumed by all eight workers.
Development
npm install
# Start WHATWG MCP locally (http://localhost:8787/mcp)
npm start -w packages/whatwg-spec-mcp
# Start IETF MCP locally (http://localhost:8787/mcp)
npm start -w packages/ietf-spec-mcp
# Start MDN MCP locally (http://localhost:8787/mcp)
npm start -w packages/mdn-mcp
# Start WPT MCP locally (http://localhost:8787/mcp)
npm start -w packages/wpt-mcp
# Start W3C MCP locally (http://localhost:8787/mcp)
npm start -w packages/w3c-spec-mcp
# Start Can I Use MCP locally (http://localhost:8787/mcp)
npm start -w packages/caniuse-mcp
# Start Node.js MCP locally (http://localhost:8787/mcp)
npm start -w packages/nodejs-mcp
# Start TypeScript MCP locally (http://localhost:8787/mcp)
npm start -w packages/typescript-mcp
Deploy
# Deploy all
npm run deploy -w packages/whatwg-spec-mcp
npm run deploy -w packages/ietf-spec-mcp
npm run deploy -w packages/mdn-mcp
npm run deploy -w packages/wpt-mcp
npm run deploy -w packages/w3c-spec-mcp
npm run deploy -w packages/caniuse-mcp
npm run deploy -w packages/nodejs-mcp
npm run deploy -w packages/typescript-mcp
Architecture
- Stateless — Per-request
McpServerinstances, no Durable Objects. - No authentication — All data sources are public.
- Caching — Cloudflare Cache API in production, in-memory
Mapfallback for local dev. - HTML-to-markdown — Regex-based extraction converts spec HTML to simplified markdown suitable for LLM consumption.
Установка Web Standards Specs
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/jasnell/spec-mcpsFAQ
Web Standards Specs MCP бесплатный?
Да, Web Standards Specs MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Web Standards Specs?
Нет, Web Standards Specs работает без API-ключей и переменных окружения.
Web Standards Specs — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Web Standards Specs в Claude Desktop, Claude Code или Cursor?
Открой Web Standards Specs на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Web Standards Specs with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
