Skip to main content
Glama
jlacher

baseline-mcp-server

by jlacher

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

  1. Install dependencies:

    npm install
  2. Build the local MCP server:

    npm run build
  3. 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"
          }
        }
      }
    }
  4. Open an MCP-supported client extension like Copilot Chat in Agent mode

  5. Select Agent from the chat mode dropdown list

  6. Select a model like "Claude 3.5 Sonnet"

  7. 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.

  1. Install Wrangler (Cloudflare Workers CLI):

    npm install -g wrangler
  2. Register for Cloudflare (if needed):

    • Create a free Cloudflare account at cloudflare.com

    • No domain is required for Workers deployment

  3. Login to Cloudflare:

    wrangler login
  4. Build and deploy the worker:

    npm run deploy

    This will build the worker and deploy it globally using the configuration in wrangler.toml.

  5. 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.

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:

  1. View Specification

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:

  1. View Specification

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 for

  • include_browser_details (optional, default: true): Whether to include browser implementation details

  • include_usage_stats (optional, default: true): Whether to include usage statistics

  • include_test_results (optional, default: true): Whether to include test results from Web Platform Tests

  • include_specs (optional, default: true): Whether to include links to the feature's specifications

  • limit (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

Development

To add new tools or modify existing ones:

  1. Add or modify the tool's logic in src/tools/baseline-tools.ts.

  2. Register the tool and its Zod schema in src/index.ts.

License

This project is licensed under the MIT License.

Available Tools

2 tools
get_baseline_summaryA

Get overview of the Baseline system and status categories

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch terms for web features
include_browser_detailsNoInclude browser implementation details
include_usage_statsNoInclude usage statistics
include_test_resultsNoInclude test results
include_specsNoInclude specification links
limitNoMaximum number of results

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

B3.4/5.0
Disambiguation5/5

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.

Naming Consistency5/5

Both tools follow a consistent 'get_[specific]_[modifier]' pattern, making it easy for an agent to understand their actions.

Tool Count3/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

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/jlacher/baseline-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server