Skip to main content
Glama

Is this CSS feature safe to ship, and who ships it

css_feature
Read-onlyIdempotent

Answers two questions about a modern CSS feature with data instead of recall. First, its Baseline status (widely available, newly available, or limited availability), the date, and which core browsers lack it, read from the open web-features dataset at build time. Second, how many of CSS Crème's curated, decoded showcase sites ship it, which ones, how many of them guard it with @supports, and the exact @supports conditions they test. Also returns a fallback note where we have one. Call it before writing CSS that uses container queries, :has(), anchor positioning, @scope, view transitions, oklch(), color-mix(), light-dark(), subgrid, scroll-driven animations, @property, text-wrap and similar, so the CSS you write is accurate for today rather than for your training date. With no feature given it returns the Ship Gap: features that are safe and mostly ignored, and features that are early and shipped anyway.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
featureNoA web-features id or a plain name: "container-queries", "has", ":has()", "anchor positioning", "oklch", "subgrid", "@scope". Omit for the whole Ship Gap summary.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses that data is 'read from the open web-features dataset at build time,' implying a potential staleness caveat. It also transparently describes the exact return contents: baseline status, date, lacking browsers, site counts, @supports details, and fallback notes. This is rich behavioral context that complements the annotations without contradiction.

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 long but well-structured: it front-loads the two questions, then details the second question, then provides usage guidance with examples, and ends with the no-argument behavior. Each sentence serves a purpose—explaining scope, outputs, and use case. It is not overly terse, but the level of detail is warranted given the tool's complexity.

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?

There is no output schema, so the description must convey what the tool returns. It does so comprehensively: baseline status, date, lacking browsers, number of sites, which ones, @supports usage, exact conditions, and fallback notes. It also covers the Ship Gap scenario. While it doesn't specify a JSON structure or pagination, the output is well-scoped and sufficient for an agent to understand the result.

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?

The input schema already describes the parameter with examples and explicitly notes the omission behavior ('Omit for the whole Ship Gap summary'). The description adds usage context (before writing CSS) but does not materially expand on the parameter's format or semantics beyond what the schema provides. With 100% schema coverage, the description's additional value is marginal.

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 it answers two specific questions about a CSS feature: Baseline status and adoption across curated sites, with concrete examples of features it covers. It distinguishes itself from siblings by focusing on CSS feature support data rather than site decoding or theme retrieval. The verb 'answers' plus resource 'modern CSS feature' makes the purpose unambiguous and specific.

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 explicitly tells the agent when to call it: 'Call it before writing CSS that uses container queries, :has(), ...' This provides a clear usage trigger. It also explains the alternative behavior when no feature is given (returns Ship Gap). However, it does not explicitly mention when not to use it, though no sibling tool competes directly, so the guidance is adequate.

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.