W3c Mcp Server

by shuji-bonji

296 downloads
Not rated
GitHub

About

MCP Server for accessing W3C/WHATWG/IETF web specifications. Provides AI assistants with access to official web standards data including specifications, WebIDL definitions, CSS properties, and HTML elements.

Details

Author
shuji-bonji
Downloads
296
Categories
Other, Knowledge Base

- Specification discovery with filtering by organization and keyword
- WebIDL interface definitions for JavaScript APIs
- CSS property definitions by specification or name
- HTML element definitions from multiple specs
- PWA-related specification grouping and dependency info
- Fast startup (~70ms) and O(1) spec lookups

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name W3c Mcp Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install globally via npm install -g @shuji-bonji/w3c-mcp or use directly with npx @shuji-bonji/w3c-mcp. Configure it in Claude Desktop or Cursor by adding a JSON entry with the npx command. Enable debug logging with W3C_MCP_DEBUG=true or W3C_MCP_PERF=true environment variables.

list_w3c_specs

List W3C/WHATWG/IETF web specifications with optional filtering by organization, keyword, or category

get_w3c_spec

Get detailed information about a specific web specification including URLs, status, repository, and test info

search_w3c_specs

Search web specifications by query string, searching in title, shortname, and description

get_webidl

Get WebIDL interface definitions for a specification. WebIDL defines the JavaScript APIs.

list_webidl_specs

List all specifications that have WebIDL definitions available

get_css_properties

Get CSS property definitions from a specific spec or all specs

list_css_specs

List all CSS specifications that have property definitions available

get_html_elements

Get HTML element definitions from a specific spec or all specs

list_element_specs

List all specifications that have HTML element definitions available

get_pwa_specs

Get all Progressive Web App (PWA) related specifications including Service Worker, Web App Manifest, Push API, Background Sync, etc.

get_spec_dependencies

[DEPRECATED] Returns only basic spec metadata with empty dependencies/dependents arrays (upstream web-specs does not expose dependency data). Scheduled for removal in the next major release — use get_w3c_spec instead.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "w3c mcp server": {
            "w3c": {
                "command": "npx",
                "args": [
                    "-y",
                    "@shuji-bonji/w3c-mcp"
                ]
            }
        }
    }
}

McpServers

{
    "w3c": {
        "command": "npx",
        "args": [
            "-y",
            "@shuji-bonji/w3c-mcp"
        ]
    }
}

W3C MCP Server

npm version License: MIT Node.js MCP Built with Claude Code MCP Server for accessing W3C/WHATWG/IETF web specifications. Provides AI assistants with access to official web standards data including specifications, WebIDL definitions, CSS properties, and HTML elements.

Installation

``bash npm install -g @shuji-bonji/w3c-mcp ` Or use directly with npx: `bash npx @shuji-bonji/w3c-mcp `

Configuration

Claude Desktop

Add to your Claude Desktop configuration file: macOS:
~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json `json { "mcpServers": { "w3c": { "command": "npx", "args": ["-y", "@shuji-bonji/w3c-mcp"] } } } `

Cursor

Add to your Cursor MCP settings (
.cursor/mcp.json in your project or global settings): `json { "mcpServers": { "w3c": { "command": "npx", "args": ["-y", "@shuji-bonji/w3c-mcp"] } } } `

Available Tools

Specification Discovery

list_w3c_specs

List W3C/WHATWG/IETF web specifications with optional filtering. Parameters: - organization (optional): Filter by organization - "W3C", "WHATWG", "IETF", or "all" - keyword (optional): Filter by keyword in title or shortname - category (optional): Filter by category - limit (optional): Maximum number of results (default: 50)

get_w3c_spec

Get detailed information about a specific web specification. Parameters: - shortname (required): Specification shortname (e.g., "service-workers", "appmanifest", "fetch")

search_w3c_specs

Search web specifications by query string. Parameters: - query (required): Search query (e.g., "service worker", "manifest", "storage") - limit (optional): Maximum number of results (default: 20)

WebIDL

get_webidl

Get WebIDL interface definitions for a specification. WebIDL defines the JavaScript APIs. Parameters: - shortname (required): Specification shortname (e.g., "service-workers", "fetch", "dom")

list_webidl_specs

List all specifications that have WebIDL definitions available.

CSS

get_css_properties

Get CSS property definitions from a specific spec or all specs. Parameters: - spec (optional): Specification shortname (e.g., "css-grid-1", "css-flexbox-1") - property (optional): Search for a specific CSS property by name

list_css_specs

List all CSS specifications that have property definitions available.

HTML Elements

get_html_elements

Get HTML element definitions from a specific spec or all specs. Parameters: - spec (optional): Specification shortname (e.g., "html", "svg") - element (optional): Search for a specific element by name (e.g., "video", "canvas")

list_element_specs

List all specifications that have HTML element definitions available.

PWA

get_pwa_specs

Get all Progressive Web App (PWA) related specifications. Parameters: - coreOnly (optional): If true, return only the core PWA specs (Service Worker, Manifest, Push, Notifications)

get_spec_dependencies

Get dependency information for a specification. Parameters: - shortname (required): Specification shortname

Usage Examples

Find Service Worker APIs

` Use the get_webidl tool with shortname "service-workers" to see the ServiceWorker interface definitions. `

Explore PWA Technologies

` Use get_pwa_specs to see all PWA-related specifications, then use get_w3c_spec for details on each one. `

Look up CSS Grid Properties

` Use get_css_properties with spec "css-grid-1" to see all CSS Grid layout properties. `

Search for Storage APIs

` Use search_w3c_specs with query "storage" to find all storage-related specifications. `

Data Sources

This MCP server uses the following W3C/webref data packages: | Package | Description | |---------|-------------| | web-specs | Metadata for all web specifications | | @webref/idl | WebIDL interface definitions | | @webref/css | CSS properties and values | | @webref/elements | HTML element definitions | These packages are maintained by the W3C and provide machine-readable data extracted from official specifications. GitHub Repositories: - https://github.com/w3c/browser-specs - https://github.com/w3c/webref

Debug Mode

Enable debug logging with environment variables:
``bash
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.