@shuji-bonji/web-compat-mcp
Web Compat MCP server
MCP server providing browser compatibility data for the entire Web Platform.
Answers the question: "Does this actually work in browsers?"
Uses MDN Browser Compat Data (BCD) (15,000+ features) and W3C WebDX web-features (1,000+ features with Baseline status) to provide real-world browser implementation status.
Fully offline β all data is bundled via npm packages. No API calls, zero latency.
π―π΅ ζ₯ζ¬θͺη README γ―γγ‘γ
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββ
β web-compat-mcp server β
β β
β βββββββββββββββββ βββββββββββββββββββββ β
β β @mdn/browser- β β web-features β β
β β compat-data β β (W3C WebDX CG) β β
β β 15K+ featuresβ β 1K+ features β β
β β BCD JSON β β Baseline status β β
β βββββββββ¬ββββββββ ββββββββββ¬βββββββββββ β
β β cross-reference β β
β ββββββββββ¬βββββββββββ β
β β β
β ββββββββββΌβββββββββ β
β β 7 MCP Tools β β
β ββββββββββ¬βββββββββ β
β β stdio β
βββββββββββββββββββββΌββββββββββββββββββββββββββ
β
MCP Client (Claude, etc.)Tools
Tool | Description |
| Check browser compatibility for a single feature (BCD dot notation) |
| Search 15,000+ BCD features by keyword |
| Get Baseline status for a web feature (web-features kebab-case) |
| List features filtered by Baseline status |
| Compare browser compatibility across 2β5 features side by side |
| List all tracked browsers with versions |
| Find features added in a specific browser version |
Identifier conventions
The two data sources use different identifier schemes, and each tool expects a specific one:
Tool | Scheme | Example |
| BCD dot notation β fine-grained, often camelCase |
|
| web-features kebab-case β coarse, feature-group |
|
| Browser id + version string |
|
BCD is fine-grained (api.PushManager, api.PushEvent, api.PushSubscription are separate entries) while web-features groups related specs into a single feature (push covers all three). When unsure of the exact identifier, run compat_search first. Input normalization handles kebab-case queries (view-transition β viewtransition) and trailing .0 versions (17.0 β 17) automatically.
Quick Start
npx (no install)
npx @shuji-bonji/web-compat-mcpnpm (global)
npm install -g @shuji-bonji/web-compat-mcp
web-compat-mcpMCP Client Configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"web-compat": {
"command": "npx",
"args": ["-y", "@shuji-bonji/web-compat-mcp"]
}
}
}Claude Code
claude mcp add web-compat -- npx -y @shuji-bonji/web-compat-mcpVS Code (Copilot / Continue)
Add to .vscode/mcp.json:
{
"servers": {
"web-compat": {
"command": "npx",
"args": ["-y", "@shuji-bonji/web-compat-mcp"]
}
}
}Usage Examples
Check browser compatibility
"Is Push API supported in Safari?"
β compat_check feature: "api.PushManager"Returns version support across browsers, Baseline status, and links to MDN/spec documentation.
Search features
"Find CSS grid features"
β compat_search query: "grid" category: "css"Returns matching feature IDs with standard/experimental/deprecated flags.
Compare features
"Compare fetch vs XMLHttpRequest"
β compat_compare features: ["api.fetch", "api.XMLHttpRequest"]Returns side-by-side comparison table with version support and Baseline status.
Check Baseline status
"Is container queries Baseline?"
β compat_get_baseline feature: "container-queries"Returns Baseline level (Widely Available / Newly Available / Not Baseline), browser support, and related BCD features.
Find features by browser version
"What CSS features were added in Chrome 120?"
β compat_check_support browser: "chrome" version: "120" category: "css"Returns features added in the specified browser version.
Workflow: combining multiple tools
"I want to use Push API in my PWA β is it realistic today?"
Step 1 β compat_check feature: "api.PushManager"
# Per-API browser versions (Chrome 42+, Safari 16+, Firefox 44+)
Step 2 β compat_get_baseline feature: "push"
# Feature-group view: Newly Available since 2023-03-27
Step 3 β compat_compare features: ["api.PushManager", "api.Notification"]
# Side-by-side when your PWA depends on bothChained with a spec-oriented server such as W3C MCP or RFCXML MCP, the LLM can answer both "what does the spec require?" and "what actually works in browsers today?" in a single conversation.
Output Formats
All tools support response_format parameter:
"markdown"(default) β Human-readable tables and formatted text"json"β Structured data withstructuredContentfor programmatic use
Complementary MCP Servers
This server is designed to work alongside other MCP servers:
Server | Role | This Server's Complement |
W3C MCP | Spec definitions (MUST/SHOULD/MAY) | Real browser implementation status |
RFCXML MCP | RFC requirements | Browser-level protocol support |
css-mcp | CSS docs + code analysis | Platform-wide compat + Baseline |
Data Sources
Source | Package | Features | Update Frequency |
| 15,000+ | Weekly | |
| 1,000+ | Monthly |
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test # Unit tests (66 tests)
npm run test:e2e # E2E tests via JSON-RPC (10 tests)
# Lint & format (Biome 2.x)
npm run lint # Check
npm run lint:fix # Auto-fix
npm run format # Format
# Type check
npm run typecheckLicense
MIT β see LICENSE
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shuji-bonji/web-compat-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server