jlacher/baseline-mcp-server
If you are the rightful owner of baseline-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Baseline MCP Server is a tool designed to provide detailed information about the baseline status of web platform features using data from webstatus.dev.
Baseline MCP Server
A Model Context Protocol (MCP) server that allows you to query the baseline status of web platform features using data from webstatus.dev.
VS Code setup
-
Install dependencies:
npm install
-
Build the local MCP server:
npm run build
-
Create a
.vscode/mcp.json
file in your workspace and add the following configuration (example for GitHub Copilot):{ "servers": { "baseline-mcp-server": { "command": "node", "args": [ "${workspaceFolder}/dist/index.js" ], "env": { "API_BASE_URL": "https://api.webstatus.dev" } } } }
-
Open an MCP-supported client extension like Copilot Chat in Agent mode
-
Select Agent from the chat mode dropdown list
-
Select a model like "Claude 3.5 Sonnet"
-
Enter your Baseline-related prompt
Cloudflare Workers Deployment
You can deploy the server to Cloudflare Workers for a remote setup. The configuration will work globally without region-specific changes.
-
Install Wrangler (Cloudflare Workers CLI):
npm install -g wrangler
-
Register for Cloudflare (if needed):
- Create a free Cloudflare account at cloudflare.com
- No domain is required for Workers deployment
-
Login to Cloudflare:
wrangler login
-
Build and deploy the worker:
npm run deploy
This will build the worker and deploy it globally using the configuration in
wrangler.toml
. -
Configure VS Code for the remote server: Update your
.vscode/mcp.json
to include the remote server configuration:{ "servers": { "baseline-mcp-server": { "url": "https://baseline-mcp-server.YOUR_WORKER_SUBDOMAIN.workers.dev", "type": "http" } } }
Replace
YOUR_WORKER_SUBDOMAIN
with your Cloudflare account's workers subdomain.
Note: The worker configuration uses Cloudflare's global network by default, so no region-specific setup is needed. Requests will automatically be routed to the nearest edge location.
Example
Prompt
What's the Baseline status of view transitions?
Response
I'll check the baseline status for the View Transitions API using the baseline tools.
Ran `get_web_feature_baseline_status`
Input
{
"query": [
"view transitions"
]
}
Output
š Baseline Status: view transitions
Found 2 features:
1. Cross-document view transitions
Status: ā ļø LIMITED
Browser Support:
- Chrome: ā 6/11/2024 (v126)
- Chrome Android: ā 6/11/2024 (v126)
- Edge: ā 6/13/2024 (v126)
- Safari: ā 12/11/2024 (v18.2)
- Safari iOS: ā 12/11/2024 (v18.2)
Usage Statistics:
- Chrome: 10.7649% of daily page views
Web Platform Tests:
- Chrome: š” 82.3% pass rate
- Chrome Android: š 66.1% pass rate
- Edge: š¢ 90.3% pass rate
- Firefox: š“ 1.6% pass rate
- Safari: š“ 45.2% pass rate
Specifications:
Recommendation: š“ Consider polyfills or alternatives
2. View transitions
Status: ā ļø LIMITED
Browser Support:
- Chrome: ā 3/7/2023 (v111)
- Chrome Android: ā 3/7/2023 (v111)
- Edge: ā 3/13/2023 (v111)
- Safari: ā 9/16/2024 (v18)
- Safari iOS: ā 9/16/2024 (v18)
Usage Statistics:
- Chrome: 0.2001% of daily page views
Web Platform Tests:
- Chrome: š” 87.2% pass rate
- Chrome Android: š“ 23.8% pass rate
- Edge: š¢ 93.1% pass rate
- Firefox: š“ 3.3% pass rate
- Safari: š” 79.8% pass rate
Specifications:
Recommendation: š“ Consider polyfills or alternatives
Based on the baseline status check, here's what we know about View Transitions:
1. Same-document View Transitions:
⢠Has LIMITED support status
⢠Supported in Chrome/Edge (since v111, March 2023)
⢠Recently added to Safari (v18, September 2024)
⢠Has relatively low usage (0.2% of Chrome page views)
⢠Test coverage varies significantly across browsers (87-93% in Chrome/Edge, but only 24% in Chrome Android)
2. Cross-document View Transitions:
⢠Also has LIMITED support status
⢠Newer feature with broader browser support:
ā Chrome/Edge: v126 (June 2024)
ā Safari: v18.2 (December 2024)
⢠Higher usage than same-document transitions
Available Tools
1. get_web_feature_baseline_status
Get comprehensive baseline information for one or more web platform features.
Parameters:
query
(required): An array of strings with the names of the features to search forinclude_browser_details
(optional, default: true): Whether to include browser implementation detailsinclude_usage_stats
(optional, default: true): Whether to include usage statisticsinclude_test_results
(optional, default: true): Whether to include test results from Web Platform Testsinclude_specs
(optional, default: true): Whether to include links to the feature's specificationslimit
(optional, default: 10): The maximum number of results to return (between 1 and 20)
2. get_baseline_summary
Get an overview of the Baseline system and its status categories. This tool takes no parameters.
Resources
- Web Platform Status Dashboard - Source of baseline data and browser compatibility information
- Baseline MCP Server (Deno) - Alternative implementation in Deno
- Chrome Labs Baseline MCP Demo - Example of using this MCP server in a project
Development
To add new tools or modify existing ones:
- Add or modify the tool's logic in
src/tools/baseline-tools.ts
. - Register the tool and its Zod schema in
src/index.ts
.
License
This project is licensed under the MIT License.