Skip to main content
Glama
shuji-bonji

@shuji-bonji/web-compat-mcp

by shuji-bonji

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.4

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: checking a feature's compatibility, finding features by version, comparing features across features, getting Baseline status, listing features by Baseline status, listing browsers, and searching for features. No ambiguity.

    Naming Consistency5/5

    All tools follow a consistent 'compat_<verb>' or 'compat_<verb>_<noun>' pattern in snake_case. Names like compat_check, compat_search, compat_compare are predictable and descriptive.

    Tool Count5/5

    Seven tools is well-scoped for a web compatibility server. It covers all essential query operations without being bloated or too sparse.

    Completeness5/5

    The tool set covers the full query lifecycle: discovery (search, list baselines), single feature lookup (check, get baseline), comparison, and version-specific queries. No major gaps for the stated purpose.

  • Average 4.4/5 across 7 of 7 tools scored. Lowest: 3.9/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior5/5

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

    Annotations already indicate read-only and idempotent. The description adds comprehensive behavioral details: returns version support across browsers, Baseline status, flags (standard/experimental/deprecated), and links to MDN/spec documentation. This fully informs the agent of what the tool does beyond safety.

    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?

    The description is concise and well-structured: a one-sentence purpose, followed by bullet-style Args/Returns, and clear examples. Every sentence adds value without redundancy.

    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?

    The description covers input, output, and examples adequately. While error handling or edge cases (e.g., invalid feature identifier) are not mentioned, the examples and parameter descriptions provide sufficient guidance for normal use. Annotations cover safety, so no gaps there.

    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?

    Input schema has 100% coverage with good descriptions. The description adds value with examples of BCD identifiers, default browsers behavior, and output format options, helping the agent understand parameter usage in context.

    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 checks browser compatibility for a specific web platform feature using BCD, with details on input and output. However, it does not explicitly differentiate from sibling tools like compat_check_support, which might offer a simpler query for the same feature.

    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 alternatives (e.g., compat_check_support for quick yes/no, compat_compare for comparing features). The sibling list is available context, but the description does not reference them.

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

  • Behavior4/5

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

    Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows it's safe. The description adds that it returns a side-by-side comparison table and supports markdown/json output, plus constraints like 2-5 features. This provides useful behavioral context beyond the annotations.

    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 well-structured with clear sections: a one-liner, usage context, arguments, returns, and examples. It is reasonably concise without wasted words, though the examples could be trimmed slightly.

    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?

    Given moderate complexity (3 params, no output schema), the description covers inputs, output format, usage context, and provides concrete examples. It does not detail the return structure beyond 'comparison table', but the examples and format options (markdown/json) are sufficient for an agent to understand what to expect.

    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?

    Schema coverage is 100%, so the schema already documents all parameters. The description adds extra semantic value with practical examples (e.g., 'api.fetch') and clarifies constraints (minItems 2, maxItems 5) and the default for response_format. This elevates the score above the baseline of 3.

    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 clearly states the tool compares browser compatibility across multiple features side by side. The verb 'compare' and resource 'browser compatibility' are specific, and the tool is distinguished from siblings like compat_check which likely handles single features.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit guidance: 'Useful for choosing between alternative APIs or understanding support differences.' This tells the agent when to use it. Examples further illustrate typical use cases. However, it does not explicitly state when not to use it or directly name alternatives, though siblings are listed separately.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds behavioral context by specifying the output structure (list of browsers with fields) and the response_format parameter. No contradiction with annotations.

    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?

    The description is concise with a clear structure: one-line purpose, Args section, Returns section, and examples. Every sentence adds value without redundancy. Front-loaded with the main action.

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

    Completeness5/5

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

    With no output schema, the description fully covers the return format by listing fields (id, name, type, version, release date) and provides usage examples. The single optional parameter is well-documented. Adequate for the tool's simplicity.

    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 covers 100% of parameters with detailed descriptions (e.g., 'Output format: markdown for human-readable or json for structured data'). The description only adds the default value and example usage, providing marginal additional value beyond the schema.

    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 clearly states the verb 'List' and resource 'browsers', specifies scope 'all', and lists the returned fields (current versions, release dates). It distinguishes from sibling tools like compat_check (which checks support) and compat_list_baseline (which lists baselines).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides examples like 'What browsers are tracked?' and 'List all browser versions' that imply appropriate use cases. However, it does not explicitly state when to avoid this tool or mention alternatives like compat_search for filtered queries.

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

  • Behavior4/5

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

    Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds behavioral context such as pagination defaults (limit, offset) and output format options (markdown/json), which are beyond what annotations provide. No contradictions.

    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?

    The description is well-structured with clear sections (list function, Args, Returns, Examples). It is concise, with no fluff, and every sentence provides necessary information. The examples are particularly helpful for quick understanding.

    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?

    Given the tool has 5 parameters, no output schema, and a clear purpose, the description covers all necessary aspects: parameters, defaults, return structure (paginated list with status and dates), and examples. It could mention that results are sorted or other details but is sufficient for an agent.

    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?

    Schema coverage is 100%, so baseline is 3. The description adds meaning by explaining each parameter's purpose, enumerating values for status and response_format, and specifying defaults and constraints (e.g., limit range, offset behavior). This goes beyond the schema descriptions.

    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 clearly states the tool lists web platform features filtered by Baseline status, using specific verbs and resource. It distinguishes from sibling tools like compat_check and compat_search by focusing on listing and filtering by status.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit context for when to use the tool (discover features by Baseline status) and includes multiple examples covering different use cases. However, it does not explicitly mention when not to use it or provide direct alternatives among sibling tools, though the use case is clear enough.

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

  • Behavior4/5

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

    Annotations indicate read-only, idempotent, non-destructive. Description adds that it searches 15k+ features and returns status flags, plus pagination details.

    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?

    Well-organized: purpose first, then args, examples. Each sentence serves a purpose, no fluff.

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

    Completeness5/5

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

    Covers all 5 parameters, return type with status, pagination, and examples. No output schema but description adequately explains results.

    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?

    Schema coverage is 100%. Description reinforces each parameter with examples and context, adding value beyond schema descriptions.

    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?

    Clearly states it searches BCD features by keyword to find identifiers for compat_check. Differentiates from sibling tools like compat_check by specifying its role in finding identifiers.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states when to use (find BCD identifier for compat_check). Does not list exclusions but context implies it's for searching, not checking support.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true. Description adds that it lists features from a specific version with no side effects. No mention of pagination or rate limits, but adequate given annotations.

    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?

    Well-structured with summary, usage statement, parameter list with args, return description, and multiple examples. No wasted words; each section adds value.

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

    Completeness5/5

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

    For a query tool with no output schema, description adequately explains returns as 'List of features' and provides examples. Complete for the tool's complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema covers all 6 parameters (100% coverage), and description adds examples and additional context (defaults, usage patterns) for each parameter, enhancing understanding beyond schema.

    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 clearly states 'Find web platform features that were added in a specific browser version.' with specific verb 'Find' and resource 'web platform features', distinguishing it from siblings like compat_compare and compat_search.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Provides use case context ('Useful for understanding what new capabilities became available in a particular browser release') and examples for typical queries, but lacks explicit when-not-to-use or direct sibling comparisons.

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

  • Behavior5/5

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

    Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds the meaning of baseline levels (high, low, false) and the returned data (browser support versions, related BCD features, spec links), providing valuable behavioral context beyond the annotations.

    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?

    The description is well-structured: first sentence states purpose, then explains baseline levels, followed by Args, Returns, and Examples. It is concise yet comprehensive without redundancy.

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

    Completeness5/5

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

    Despite no output schema, the description explicitly lists return values (Baseline status, browser support, etc.). It fully addresses the tool's functionality given its simplicity and the presence of sibling tools for alternative queries.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100%. The description adds value by explaining feature identifier format (kebab-case), detailing response_format options with default, and providing concrete examples that clarify parameter usage beyond the schema's brief descriptions.

    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 clearly states the tool gets Baseline status for a web platform feature from W3C WebDX web-features data. It distinguishes from siblings like compat_check and compat_list_baseline by focusing specifically on a single feature's baseline level.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides examples and explains the output format, but does not explicitly state when not to use this tool versus alternatives like compat_check or compat_list_baseline. However, the examples give clear usage context.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

web-compat-mcp MCP server

Copy to your README.md:

Score Badge

web-compat-mcp MCP server

Copy to your README.md:

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