Skip to main content
Glama

State coverage check

check_state_coverage
Read-only

Check interaction states in a stylesheet. Pass css (free) or a public url (Pro). Finds links, buttons, inputs, selects, summaries and classes that look interactive (btn, link, tab, toggle, switch, checkbox, chip, dropdown, form-control and others) or that already have a hover or focus rule, then lists for each which of :hover, :focus-visible (or :focus), :active, :disabled and aria or checked states have styles. A missing focus-visible style is high severity; a global :focus-visible rule counts for everything. Flags every rule that sets outline to none or 0 where no :focus or :focus-visible rule for the same element draws a ring, shadow or border instead (the :focus:not(:focus-visible) pattern is allowed).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "check_state_coverage"
  }
}

Input Schema

NameRequiredDescriptionDefault
cssNoCSS text to read (a stylesheet, or several concatenated). Free up to 100,000 characters; Pro up to 2,000,000.
urlNoPro only. Public page whose linked and inline stylesheets are fetched (up to 12 sheets, 5 MB).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld/non-destructive; the description adds genuine behavior: free vs Pro size ceilings (100k/2M chars), that URL mode fetches up to 12 sheets at 5MB, that missing focus-visible is rated high severity, that a global :focus-visible rule satisfies everything, and the allowed :focus:not(:focus-visible) escape hatch. These are exactly the semantics annotations cannot express.

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?

Front-loaded with purpose and input modes, then detail; every clause carries information about detection scope or severity policy. It is a dense single block with nested parentheticals, which costs a little scannability.

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?

With no output schema, the description must carry return semantics, and it does describe the report shape (per-element list of which states are styled) plus a separate flagged class of outline:none rules. The severity scale beyond 'high' and the exact result format are left implicit.

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 description coverage is 100%, so both parameters are already documented, and the description's tier note merely restates the limits. It adds no syntax guidance beyond the schema — which is fine, but baseline 3 is the correct landing point.

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?

Specific verb + resource ('Check interaction states in a stylesheet') followed by an enumeration of exactly what it detects (interactive-looking selectors, existing hover/focus rules) and what it evaluates (:hover, :focus-visible, :active, :disabled, aria/checked). This clearly separates it from neighbouring tools like audit_motion_css or touch_target_css, which look at different CSS concerns.

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?

It states the two input modes and their tier gating ('Pass `css` (free) or a public `url` (Pro)'), which is real selection guidance an agent needs. It does not name any sibling tool or state when NOT to use it (e.g. vs. audit_page_accessibility), so it falls short of explicit alternative routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources