baseline-mcp-server
Allows deploying the MCP server to Cloudflare Workers for remote, globally distributed access.
Enables using the MCP server via GitHub Copilot Chat in Agent mode to retrieve baseline status of web features.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@baseline-mcp-serverWhat's the baseline status of CSS Grid?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 installBuild the local MCP server:
npm run buildCreate a
.vscode/mcp.jsonfile 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
Related MCP server: w3c-mcp
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 wranglerRegister for Cloudflare (if needed):
Create a free Cloudflare account at cloudflare.com
No domain is required for Workers deployment
Login to Cloudflare:
wrangler loginBuild and deploy the worker:
npm run deployThis 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.jsonto include the remote server configuration:{ "servers": { "baseline-mcp-server": { "url": "https://baseline-mcp-server.YOUR_WORKER_SUBDOMAIN.workers.dev", "type": "http" } } }Replace
YOUR_WORKER_SUBDOMAINwith 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.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 transitionsAvailable 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.
Available Tools
2 toolsget_baseline_summaryA
Get overview of the Baseline system and status categories
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool as a read operation ('Get overview') but lacks any behavioral details such as authentication requirements, rate limits, or what happens internally. This is insufficient for an agent to fully understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 8 words. It is concise and front-loaded, but could be slightly more informative without being verbose. It earns its place but is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description provides a high-level overview but lacks specifics on what the summary contains (e.g., fields, status categories). It is adequate for a simple tool but leaves some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema coverage is 100% (empty schema). Following the rule, the baseline for 0 parameters is 4. The description does not add parameter semantics because there are none, but it is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get overview of the Baseline system and status categories' uses a specific verb ('Get overview') and clearly identifies the resource ('Baseline system and status categories'). It effectively distinguishes itself from the sibling tool 'get_web_feature_baseline_status', which is more scoped to web features, by indicating a broader scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus the sibling. The naming implies this is a general overview while the sibling is feature-specific, but no explicit guidance on context or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_web_feature_baseline_statusC
Get comprehensive baseline information for web platform features
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search terms for web features | |
| include_browser_details | No | Include browser implementation details | |
| include_usage_stats | No | Include usage statistics | |
| include_test_results | No | Include test results | |
| include_specs | No | Include specification links | |
| limit | No | Maximum number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states it 'gets' information. It does not mention read-only nature, data source, latency, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the key action. However, it is so brief that it may sacrifice completeness for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no output schema, and a sibling tool, the description is insufficient. It does not explain what 'baseline information' includes, how results are structured, or how it differs from 'get_baseline_summary'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional parameter context beyond the schema; it does not explain how parameters relate to 'comprehensive baseline information'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves comprehensive baseline information for web platform features, but it does not differentiate from the sibling tool 'get_baseline_summary', which likely provides a summary version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the sibling or in what scenarios. The description only states what it does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: one provides a system overview and status categories, the other gives detailed baseline information for web features. No overlap.
Both tools follow a consistent 'get_[specific]_[modifier]' pattern, making it easy for an agent to understand their actions.
With only two tools, the server is quite minimal but may be appropriate if the domain is limited to read-only access. However, it is borderline for a typical MCP server scope.
The tools cover a system overview and specific feature status, but lack any mutating operations or additional resource listing. For a server about baselines, missing create/update/delete is a notable gap.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read-only MCP server for the WebAssembly spec: instructions, types, sections, search, proposals.
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
Experimental MCP server for current empirical verification of explicit public HTTPS endpoint claims.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server that checks the Baseline status using Web Platform APIs.37MIT
- AlicenseAqualityCmaintenanceMCP 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.11334MIT
- AlicenseAqualityCmaintenanceMCP server providing browser compatibility data for the entire Web Platform.7311MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides browser compatibility data and web API support information using caniuse.com, MDN BCD, and Web Features, enabling developers to check feature support across browsers and against browserslist configurations.215MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jlacher/baseline-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server