Skip to main content
Glama
htshongany

Baseline Checker

by htshongany

Baseline Checker MCP Server

MCP server to check web feature compatibility with Baseline standards.

Baseline Tooling Hackathon - Accelerate availability of modern web features

Installation

npm install
npm run build

Related MCP server: CSS MCP Server

MCP Configuration

VSCode

{
  "servers": {
    "baseline-checker": {
      "command": "node",
      "args": ["/<absolute path to your project>/dist/index.js"]
    }
  }
}

Cursor / Other editors

{
  "mcpServers": {
    "baseline-checker": {
      "command": "node",
      "args": ["/<absolute path to your project>/dist/index.js"]
    }
  }
}

Test with MCP Inspector

You can test this MCP server with the inspection tool:

npx @mcpjam/inspector@latest

More info: https://github.com/MCPJam/inspector

Available Tools

1. check_baseline

Analyzes complete HTML/CSS/JavaScript code for Baseline compatibility.

Input: Complete code to analyze Output: Detailed compatibility report with:

  • Compatibility percentage

  • Detected web features grouped by status (Baseline, Non-Baseline, Discouraged)

  • Browser support warnings

  • Specific recommendations and alternatives

Usage: "Analyze this code for Baseline compatibility: [paste your code]"

2. check_baseline_from_selection

Automatic code retrieval tool.

Input: Source type (selection, active_file, or clipboard) Output: Instructions for the AI agent to:

  • Use editor tools to access the selected/active code

  • Pass the retrieved code to the check_baseline tool

  • Provides guidance for proper workflow integration

Purpose: Directs AI agents to use proper workflow for code analysis

Usage Examples

  • "Analyze this code for Baseline compatibility: [your code]"

  • "Check if this HTML/CSS/JS is Baseline compatible"

  • Use check_baseline tool with your code for immediate analysis

Resources

Available Tools

2 tools
check_baselineA

Analyzes web code for Baseline compatibility. Pass the complete code to get compatibility percentage and specific issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesComplete HTML/CSS/JavaScript code to analyze

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. It discloses the return content (compatibility percentage and specific issues), which helps, but says nothing about permissions, rate limits, safety, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste, and the core action and input constraint are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete enough for a simple single-parameter analyzer: it states the purpose, input constraint, and return values. It is missing explicit routing to the sibling tool and any behavioral caveats.

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 single parameter is fully documented in the schema. The description repeats that the complete code must be passed, adding emphasis but no syntax or format detail beyond the schema, so baseline 3 applies.

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?

States a specific verb 'Analyzes' and resource 'web code' with the target 'Baseline compatibility.' The phrase 'Pass the complete code' implicitly distinguishes it from the selection-based sibling, but the sibling is not named explicitly.

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?

Usage is implied: pass the complete code for a full analysis, as opposed to using the selection variant. However, there is no explicit when/when-not guidance or named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_baseline_from_selectionB

AUTOMATIC CODE RETRIEVAL: Analyzes the currently selected code or active file for Baseline compatibility. No need to copy/paste code - this tool automatically gets the code from the editor. Use this to save tokens and avoid manual code copying.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesSource of code to analyze: 'selection' for selected text, 'active_file' for current file, or 'clipboard' for clipboard content

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose one meaningful behavior — that the code is pulled automatically from the editor rather than supplied as an argument — but says nothing about permissions, failure modes when nothing is selected, or what the analysis returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The front-loaded 'AUTOMATIC CODE RETRIEVAL:' label is good structure. However, the last two clauses ('No need to copy/paste code' and 'avoid manual code copying') restate the same point, so a third of the text is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema and no annotations, the description adequately covers the input-source mechanics. The main gap is lack of any contrast with the sibling check_baseline and no hint about the result shape.

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% and the enum values are fully documented in the schema, so baseline is 3. The description mentions only 'selection' and 'active file', omitting the clipboard enum value entirely, so it neither adds nor fully mirrors the schema.

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?

States a specific verb+resource ('analyzes ... code ... for Baseline compatibility') and clarifies the input is auto-retrieved rather than pasted. It never names the sibling check_baseline, so the agent must infer the distinction from the 'no copy/paste' framing rather than an explicit contrast.

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 implies when to use it ('no need to copy/paste code'), which is useful context. But it never states when to prefer the sibling check_baseline or what distinguishes the two, leaving the routing decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.0
    • First observedcheck_baseline
    • First observedcheck_baseline_from_selection

TDQS

A3.7/5.0

Scored across 2 tools

Disambiguation4/5

Both tools perform Baseline compatibility analysis, but their input mechanisms are clearly distinguished: one takes explicit code, the other auto-retrieves the current selection/file. The descriptions make the intended use cases distinct enough to avoid most misselection.

Naming Consistency5/5

Both tools use a consistent snake_case verb_noun pattern with a shared 'check_baseline' prefix. The suffix clearly denotes the variant.

Tool Count4/5

Two tools is on the low end, but appropriate for a narrow single-purpose checker. One tool handles explicit code and the other handles automatic editor retrieval, so each earns its place without redundancy.

Completeness4/5

The server covers the core workflow of checking Baseline compatibility, both for pasted code and current editor context. Minor gaps like batch or directory-level checks exist, but the primary use cases are well covered.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides intelligent CSS/JS feature compatibility checking with configurable browser targets, polyfill support, and smart project scanning. Enables developers to automatically detect browser compatibility issues and get actionable remediation steps with build tool configurations.
    5
    11 npm
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables automated web accessibility checking and review against Korea's KWCAG 2.2 standard, supporting static HTML/contrast validation, live URL audits, and certification readiness estimation.
    7
    163 npm
    MIT