Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 1 min ago
teppi

Server definition

Hash
sha256:f19e6722838453ea5e908f146e2764e58fe2369be3b590d705c208647e56a498
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Browser support and Baseline status for web platform features, served from bundled MDN browser-compat-data, web-features, and caniuse data — offline, no API key, no rate limit. Start at browsercompat_search_features when the feature key is unknown; browsercompat_get_feature returns the per-feature record and browsercompat_check_baseline answers ship-or-not across up to 20 features at once. Every tool takes one feature string that is either a BCD key (css.selectors.has) or a web-features id (has), and echoes resolved_as saying which namespace it matched; an unresolved feature comes back as found: false with guidance, never an error. browsercompat_compare_support requires an explicit browserslist query and evaluates all of it on every call: verdicts, coverage, and totals describe the whole query, while the target rows cover at most 10 query targets per call — pass nextOffset as target_offset for the next page. A feature clears only when every target in the query was evaluated and supports it; a target with no compatibility data is counted as unchecked and makes the verdict inconclusive, so a pass is never claimed for a browser that was not evaluated. browsercompat_list_reference enumerates the namespaces, browser ids, browserslist agents, Baseline states, groups, and snapshots the other tools expect. Every response echoes data_version; the data is a package snapshot, so a feature that shipped in the last few weeks may lag.", "tools": [ { "description": "Check whether web features are safe to ship: Baseline state and the date it crossed, the browser and version that limits support, whether the feature is deprecated or discouraged, and the share of tracked global traffic that requiring it would exclude. Accepts up to 20 BCD keys or web-features ids in one call.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "features": { "description": "Up to 20 entries, each a browser-compat-data key such as css.selectors.has or a web-features id such as has, 1 to 200 characters. An empty or longer entry is rejected against this schema; a whitespace-only entry returns invalid_feature_input. Call browsercompat_search_features first for any entry whose key you do not already know.", "items": { "maxLength": 200, "minLength": 1, "type": "string" }, "maxItems": 20, "minItems": 1, "type": "array" }, "resolve": { "default": false, "description": "When true, an entry that is neither a key nor an id falls back to the search index, such as \"Container queries (size)\" or \"Element.prototype.animate\". Its best exact matches are accepted only when they name one feature: a single key resolves to that key, several keys of one web-features feature resolve to the feature with its feature-level Baseline and compat_keys, and matches spanning two features are a miss. Off by default so a typo returns a miss you can correct.", "type": "boolean" } }, "required": [ "features" ], "type": "object" }, "name": "browsercompat_check_baseline", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "anyOf": [ { "not": { "required": [ "error" ] }, "required": [ "results", "all_widely_available", "data_version", "totalCount" ] }, { "required": [ "error" ] } ], "properties": { "all_widely_available": { "description": "True only when every entry resolved and reports Baseline widely. A single miss forces false. Deprecation and discouragement do not enter this answer.", "type": "boolean" }, "attribution": { "description": "Required attribution for the caniuse-derived usage figures in this response.", "type": "string" }, "data_version": { "additionalProperties": false, "description": "Vintage of each bundled dataset behind this answer.", "properties": { "bcd": { "description": "Version of the bundled @mdn/browser-compat-data snapshot.", "type": "string" }, "bcd_generated": { "description": "ISO 8601 timestamp the browser-compat-data snapshot was generated at.", "type": "string" }, "browserslist": { "description": "Version of the bundled browserslist query resolver.", "type": "string" }, "caniuse_lite": { "description": "Version of the bundled caniuse-lite snapshot.", "type": "string" }, "web_features": { "description": "Version of the bundled web-features snapshot.", "type": "string" } }, "required": [ "bcd", "bcd_generated", "web_features", "caniuse_lite", "browserslist" ], "type": "object" }, "error": { "additionalProperties": {}, "description": "Present when the call failed. Absent on success.", "properties": { "code": { "description": "JSON-RPC error code for this failure.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "data": { "additionalProperties": {}, "properties": { "reason": { "description": "Machine-readable failure mode. Declared by this tool: `invalid_feature_input`: An entry in features is whitespace-only. An empty or over-200-character entry is rejected against the input schema instead. Other values are possible when a failure originates below the handler.", "examples": [ "invalid_feature_input" ], "type": "string" }, "recovery": { "additionalProperties": {}, "description": "Actionable next step for the caller.", "properties": { "hint": { "type": "string" } }, "required": [ "hint" ], "type": "object" }, "retryable": { "description": "Whether retrying may succeed.", "type": "boolean" } }, "type": "object" }, "message": { "description": "Human-readable description of what went wrong.", "type": "string" } }, "required": [ "code", "message" ], "type": "object" }, "results": { "description": "One result per requested feature. A miss is a result, not a failure.", "items": { "additionalProperties": false, "description": "One result per input entry, in input order.", "properties": { "baseline": { "additionalProperties": false, "description": "Baseline state and the dates it crossed.", "properties": { "date_is_upper_bound": { "description": "True when a date above is ≤-prefixed, so it is an upper bound rather than exact.", "type": "boolean" }, "high_date": { "description": "Date the feature became widely available, verbatim from web-features — may carry a ≤ prefix.", "type": "string" }, "since_date": { "description": "Date the feature became newly available, verbatim from web-features — may carry a ≤ prefix.", "type": "string" }, "state": { "description": "widely and newly are Baseline availability, limited means not yet in every core browser, not_mapped means the key sits outside the web-features mapping.", "enum": [ "widely", "newly", "limited", "not_mapped" ], "type": "string" } }, "required": [ "state" ], "type": "object" }, "compat_keys": { "description": "Present when the web-features id spans more than one browser-compat-data key. Call browsercompat_get_feature with one of them for per-browser data.", "items": { "type": "string" }, "type": "array" }, "deprecated": { "description": "True when browser-compat-data marks the key deprecated. Absent for keys that record no status and for ids spanning more than one key.", "type": "boolean" }, "discouraged": { "additionalProperties": false, "description": "Present when web-features records that the feature is discouraged.", "properties": { "according_to": { "description": "URLs of the bodies that discourage the feature.", "items": { "type": "string" }, "type": "array" }, "reason": { "description": "Why the feature is discouraged, as web-features states it.", "type": "string" } }, "required": [ "reason", "according_to" ], "type": "object" }, "experimental": { "description": "True when browser-compat-data marks the key experimental. Absent under the same conditions as deprecated.", "type": "boolean" }, "found": { "description": "True when the feature string resolved to a tracked entry.", "type": "boolean" }, "guidance": { "description": "What to do next when the feature did not resolve.", "type": "string" }, "input": { "description": "The feature string as the caller sent it.", "type": "string" }, "limiting_browser": { "additionalProperties": false, "description": "Among the Baseline core browsers, the one requiring the newest release. Present only when every core browser has full, unprefixed, unflagged support at a resolvable added release.", "properties": { "browser_id": { "description": "browser-compat-data browser id.", "type": "string" }, "name": { "description": "Human-readable browser name.", "type": "string" }, "version": { "description": "Release of that browser the feature requires.", "type": "string" } }, "required": [ "browser_id", "name", "version" ], "type": "object" }, "name": { "description": "web-features display name for the feature.", "type": "string" }, "outcome": { "description": "found when Baseline data was returned, no_compat_data when the entry owns no browser-compat-data keys, miss when nothing matched.", "enum": [ "found", "no_compat_data", "miss" ], "type": "string" }, "resolved_as": { "anyOf": [ { "additionalProperties": false, "properties": { "baseline_id": { "description": "The web-features id this resolved to, or null when no web-features entry covers the key.", "type": [ "string", "null" ] }, "bcd_key": { "description": "The single browser-compat-data key this resolved to, or null when the web-features id spans more than one key.", "type": [ "string", "null" ] }, "input": { "description": "The feature string as the caller sent it, trimmed.", "type": "string" }, "resolved_via": { "description": "Which step of the resolution order matched: bcd_key or web_features_id for an exact match, web_features_id_normalized when it matched only after lowercasing, redirect when the input pointed to a browser-compat-data entry that has moved or split, or search when resolve was true and the best exact matches in the search index all named one feature or key — treat a search match as a best guess, not a confirmed key.", "enum": [ "bcd_key", "web_features_id", "web_features_id_normalized", "redirect", "search" ], "type": "string" } }, "required": [ "input", "bcd_key", "baseline_id", "resolved_via" ], "type": "object" }, { "type": "null" } ], "description": "How the feature string was matched, or null on a miss." }, "usage_percent_excluded": { "description": "Feature-level share of tracked traffic excluded. A resolved BCD key receives it only when it is the feature’s sole declared compat key. Absent without caniuse data — never zero in that case.", "type": "number" }, "usage_source": { "description": "What usage_percent_excluded is a share of. Present whenever that figure is.", "type": "string" } }, "required": [ "input", "found", "outcome", "resolved_as" ], "type": "object" }, "type": "array" }, "totalCount": { "description": "Number of results returned.", "type": "number" }, "unresolvedNotice": { "description": "Names the entries that did not resolve and how to find the right key.", "type": "string" } }, "type": "object" } }, { "description": "Compute whether a set of web features clears an explicit browserslist target query. Every call evaluates the whole query: each feature gets a verdict, the count of failing targets, and its own evaluated and unevaluated target counts with the share of tracked traffic each covers. The target rows behind those numbers — which release each target maps to, which targets were not evaluated and why, and the failing and unevaluated targets of each feature — cover at most ten query targets per call; page through them with target_offset and target_limit, and the verdicts, coverage, and totals stay identical on every page. A target counts as evaluated only where compatibility data was read for it, so a feature clears only when every target in the query was evaluated and supports it, and is inconclusive otherwise — a query that includes a browser with no compatibility data, as \"defaults\" does, never clears.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "features": { "description": "Up to 20 entries, each a browser-compat-data key such as css.selectors.has or a web-features id such as has, 1 to 200 characters. An empty or longer entry is rejected against this schema; a whitespace-only entry returns invalid_feature_input. Call browsercompat_search_features first for any entry whose key you do not already know.", "items": { "maxLength": 200, "minLength": 1, "type": "string" }, "maxItems": 20, "minItems": 1, "type": "array" }, "resolve": { "default": false, "description": "When true, an entry that is neither a key nor an id falls back to the search index, such as \"Container queries (size)\" or \"Element.prototype.animate\". Its best exact matches are accepted only when they name one feature: a single key resolves to that key and gets a verdict, several keys of one web-features feature resolve to the feature as verdict ambiguous with compat_keys, and matches spanning two features are a miss. Off by default so a typo returns a miss you can correct rather than a confident answer about the wrong feature.", "type": "boolean" }, "target_limit": { "default": 10, "description": "How many query targets this page covers, 1 to 10. It bounds every list of target rows in the response and never the evaluation: verdicts, coverage, and totals always describe the whole query.", "maximum": 10, "minimum": 1, "type": "integer" }, "target_offset": { "default": 0, "description": "Zero-based position in the target list of the query at which this page of target rows starts. Pass the nextOffset of the previous response to continue. An offset at or past the number of targets returns the whole-query verdicts and totals with no target rows.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "targets": { "description": "A browserslist query, for example \"defaults\" or \"> 0.5%, last 2 versions\", 1 to 500 characters. Required: with no query browserslist would read config from the process working directory rather than from your project.", "maxLength": 500, "minLength": 1, "type": "string" } }, "required": [ "features", "targets" ], "type": "object" }, "name": "browsercompat_compare_support", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "anyOf": [ { "not": { "required": [ "error" ] }, "required": [ "query_echo", "comparable_features", "targets_resolved", "targets_resolved_total", "evaluated_targets_total", "unchecked_targets", "unchecked_targets_total", "target_coverage_percent", "unchecked_coverage_percent", "results", "all_clear", "data_version", "totalCount", "shown", "cap", "truncated", "attribution" ] }, { "required": [ "error" ] } ], "properties": { "all_clear": { "description": "True only when every feature clears, which requires every target in the query to have been evaluated for it.", "type": "boolean" }, "attribution": { "description": "Required attribution for the caniuse-derived coverage figures in this response.", "type": "string" }, "cap": { "description": "The target_limit that was applied.", "type": "number" }, "comparable_features": { "description": "How many entries in features were compared against the targets. A miss or an ambiguous entry is not comparable; at 0 nothing was evaluated.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "data_version": { "additionalProperties": false, "description": "Vintage of each bundled dataset behind this answer.", "properties": { "bcd": { "description": "Version of the bundled @mdn/browser-compat-data snapshot.", "type": "string" }, "bcd_generated": { "description": "ISO 8601 timestamp the browser-compat-data snapshot was generated at.", "type": "string" }, "browserslist": { "description": "Version of the bundled browserslist query resolver.", "type": "string" }, "caniuse_lite": { "description": "Version of the bundled caniuse-lite snapshot.", "type": "string" }, "web_features": { "description": "Version of the bundled web-features snapshot.", "type": "string" } }, "required": [ "bcd", "bcd_generated", "web_features", "caniuse_lite", "browserslist" ], "type": "object" }, "error": { "additionalProperties": {}, "description": "Present when the call failed. Absent on success.", "properties": { "code": { "description": "JSON-RPC error code for this failure.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "data": { "additionalProperties": {}, "properties": { "reason": { "description": "Machine-readable failure mode. Declared by this tool: `invalid_target_query`: browserslist rejected the targets query. `no_targets_resolved`: The query matched no browser versions at all, or only agents with no browser-compat-data counterpart. A mapped agent whose version token does not resolve is reported in unchecked_targets instead. `invalid_feature_input`: An entry in features is whitespace-only. An empty or over-200-character entry is rejected against the input schema instead. Other values are possible when a failure originates below the handler.", "examples": [ "invalid_target_query", "no_targets_resolved", "invalid_feature_input" ], "type": "string" }, "recovery": { "additionalProperties": {}, "description": "Actionable next step for the caller.", "properties": { "hint": { "type": "string" } }, "required": [ "hint" ], "type": "object" }, "retryable": { "description": "Whether retrying may succeed.", "type": "boolean" } }, "type": "object" }, "message": { "description": "Human-readable description of what went wrong.", "type": "string" } }, "required": [ "code", "message" ], "type": "object" }, "evaluated_targets_total": { "description": "Query targets evaluated for every compared feature, across every page. evaluated_targets_total plus unchecked_targets_total is the number of targets in the query.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "nextOffset": { "description": "The target_offset of the next page. Present only while targets remain past this page.", "type": "number" }, "offsetNotice": { "description": "Why this page carries no target rows, and the offsets that do.", "type": "string" }, "query_echo": { "description": "The targets query as the server parsed it.", "type": "string" }, "results": { "description": "Per-feature verdicts and totals over the whole query, each with its own target rows for this page.", "items": { "additionalProperties": false, "description": "One result per input entry, in input order.", "properties": { "compat_keys": { "description": "Present on an ambiguous verdict — the browser-compat-data keys the feature owns. Re-run with one of them.", "items": { "type": "string" }, "type": "array" }, "evaluated_coverage_percent": { "description": "Share of tracked global traffic the targets evaluated for this feature cover.", "type": "number" }, "evaluated_total": { "description": "Query targets this feature has compatibility data for, across the whole query.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "failing_targets": { "description": "The failing targets among the query targets on this page, with the verdict that caused each. Empty on a page that holds none even when failing_total is above zero.", "items": { "additionalProperties": false, "description": "A target this feature does not clear.", "properties": { "agent": { "description": "browserslist agent id the target came from.", "type": "string" }, "bcd_browser": { "description": "browser-compat-data browser the agent maps to.", "type": "string" }, "bcd_version": { "description": "browser-compat-data release the token mapped to, or null when it predates them all.", "type": [ "string", "null" ] }, "verdict": { "description": "Why this target failed: partial means the implementation does not meet the mandatory specified behavior, prefixed means it only ships under a vendor prefix or a different name, flagged means it only works behind a preference or runtime flag, removed means it shipped and was later removed before this target version, unsupported means it was never added, preview_only means it only works in a preview channel.", "enum": [ "partial", "prefixed", "flagged", "removed", "unsupported", "preview_only" ], "type": "string" }, "version_token": { "description": "Version token browserslist produced for that agent.", "type": "string" } }, "required": [ "agent", "version_token", "bcd_browser", "bcd_version", "verdict" ], "type": "object" }, "type": "array" }, "failing_total": { "description": "Failing targets across the whole query. Present when the feature was compared, as are the five fields after it.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "found": { "description": "True when the feature string resolved to a tracked entry.", "type": "boolean" }, "guidance": { "description": "What to do next on a miss or an ambiguous verdict.", "type": "string" }, "input": { "description": "The feature string as the caller sent it.", "type": "string" }, "name": { "description": "web-features display name for the feature.", "type": "string" }, "resolved_as": { "anyOf": [ { "additionalProperties": false, "properties": { "baseline_id": { "description": "The web-features id this resolved to, or null when no web-features entry covers the key.", "type": [ "string", "null" ] }, "bcd_key": { "description": "The single browser-compat-data key this resolved to, or null when the web-features id spans more than one key.", "type": [ "string", "null" ] }, "input": { "description": "The feature string as the caller sent it, trimmed.", "type": "string" }, "resolved_via": { "description": "Which step of the resolution order matched: bcd_key or web_features_id for an exact match, web_features_id_normalized when it matched only after lowercasing, redirect when the input pointed to a browser-compat-data entry that has moved or split, or search when resolve was true and the best exact matches in the search index all named one feature or key — treat a search match as a best guess, not a confirmed key.", "enum": [ "bcd_key", "web_features_id", "web_features_id_normalized", "redirect", "search" ], "type": "string" } }, "required": [ "input", "bcd_key", "baseline_id", "resolved_via" ], "type": "object" }, { "type": "null" } ], "description": "How the feature string was matched, or null on a miss." }, "unchecked_coverage_percent": { "description": "Share of tracked global traffic the targets not evaluated for this feature cover.", "type": "number" }, "unchecked_targets": { "description": "The targets not evaluated for this feature among the query targets on this page, each with its reason.", "items": { "additionalProperties": false, "description": "A target this feature was not evaluated against.", "properties": { "agent": { "description": "browserslist agent id.", "type": "string" }, "reason": { "description": "no_bcd_browser when the agent has no browser-compat-data counterpart, unknown_version when the token maps to no release, no_bcd_data when a compared feature records nothing for that browser, no_comparable_feature when every entry in features was a miss or ambiguous so nothing was compared.", "enum": [ "no_bcd_browser", "unknown_version", "no_bcd_data", "no_comparable_feature" ], "type": "string" }, "usage_percent": { "description": "Share of tracked global traffic this target covers.", "type": "number" }, "version_token": { "description": "Version token browserslist produced for that agent.", "type": "string" } }, "required": [ "agent", "version_token", "reason", "usage_percent" ], "type": "object" }, "type": "array" }, "unchecked_total": { "description": "Query targets not evaluated for this feature, across the whole query. evaluated_total plus unchecked_total is the number of targets in the query.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "verdict": { "description": "Judged over the whole query, never over one page. fails when any evaluated target does not support the feature; inconclusive when nothing failed but at least one target in the query was not evaluated for this feature, including when none was; clears only when every target in the query was evaluated and supports it; miss when the entry did not resolve; ambiguous when the id spans more than one compat key or owns none.", "enum": [ "clears", "fails", "inconclusive", "miss", "ambiguous" ], "type": "string" } }, "required": [ "input", "found", "resolved_as", "verdict", "failing_targets" ], "type": "object" }, "type": "array" }, "shown": { "description": "Number of query targets this page covers.", "type": "number" }, "target_coverage_percent": { "description": "Share of tracked global traffic covered by the targets evaluated for every compared feature; 0 when no feature was comparable.", "type": "number" }, "targets_resolved": { "description": "The mapping inventory for the query targets on this page: each target that maps onto a browser-compat-data release, and whether it was evaluated. A target with no mapping appears only in unchecked_targets.", "items": { "additionalProperties": false, "description": "A target that mapped onto a concrete release.", "properties": { "agent": { "description": "browserslist agent id.", "type": "string" }, "bcd_browser": { "description": "browser-compat-data browser the agent maps to.", "type": "string" }, "bcd_release_index": { "description": "Release ordinal used for comparison; -1 when the token predates every release.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "bcd_version": { "description": "browser-compat-data release the token mapped to, or null when it predates them all.", "type": [ "string", "null" ] }, "evaluated": { "description": "True when every compared feature has compatibility data for this target. False when at least one compared feature records nothing for its browser, or when no feature in the call was comparable — the target then also appears in unchecked_targets. Mapping onto a release is not evaluation.", "type": "boolean" }, "version_token": { "description": "Version token browserslist produced for that agent.", "type": "string" } }, "required": [ "agent", "version_token", "bcd_browser", "bcd_version", "bcd_release_index", "evaluated" ], "type": "object" }, "type": "array" }, "targets_resolved_total": { "description": "Query targets that map onto a browser-compat-data release, across every page.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "totalCount": { "description": "Number of targets the query resolved to, across every page.", "type": "number" }, "truncated": { "description": "True when more query targets remain past this page.", "type": "boolean" }, "uncheckedNotice": { "description": "How many of the query targets were not evaluated for every compared feature, the agents they belong to, and their combined usage share.", "type": "string" }, "unchecked_coverage_percent": { "description": "Share of tracked global traffic covered by the targets counted in unchecked_targets_total.", "type": "number" }, "unchecked_targets": { "description": "The query targets on this page that were not evaluated for every compared feature, each with the reason.", "items": { "additionalProperties": false, "description": "A target that was not evaluated.", "properties": { "agent": { "description": "browserslist agent id.", "type": "string" }, "reason": { "description": "no_bcd_browser when the agent has no browser-compat-data counterpart, unknown_version when the token maps to no release, no_bcd_data when a compared feature records nothing for that browser, no_comparable_feature when every entry in features was a miss or ambiguous so nothing was compared.", "enum": [ "no_bcd_browser", "unknown_version", "no_bcd_data", "no_comparable_feature" ], "type": "string" }, "usage_percent": { "description": "Share of tracked global traffic this target covers.", "type": "number" }, "version_token": { "description": "Version token browserslist produced for that agent.", "type": "string" } }, "required": [ "agent", "version_token", "reason", "usage_percent" ], "type": "object" }, "type": "array" }, "unchecked_targets_total": { "description": "Query targets not evaluated for every compared feature, across every page.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" } }, "type": "object" } }, { "description": "Get the compatibility record for one web feature: Baseline state and the date it crossed, deprecation and standards status, per-browser version added and removed with flags, vendor prefixes and partial-implementation notes, and the MDN and specification links. Accepts a BCD key such as css.selectors.has or a web-features id such as has; the response echoes which one it matched. An unresolved feature returns found: false with guidance rather than an error.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "feature": { "description": "A browser-compat-data key such as css.selectors.has, or a web-features id such as has, 1 to 200 characters. An empty or longer string is rejected against this schema; a whitespace-only string returns invalid_feature_input. Call browsercompat_search_features first if you do not already know the key.", "maxLength": 200, "minLength": 1, "type": "string" }, "include_runtimes": { "default": false, "description": "Add the bun, deno, nodejs, and oculus rows to support. Leave off for browser ship decisions.", "type": "boolean" }, "resolve": { "default": false, "description": "When true, a string that is neither a key nor an id falls back to the search index, such as \"Container queries (size)\" or \"Element.prototype.animate\". Its best exact matches are accepted only when they name one feature: a single key resolves to that key, several keys of one web-features feature resolve to the feature with compat_keys, and matches spanning two features are a miss. Off by default so a typo returns a miss you can correct rather than a confident answer about the wrong feature.", "type": "boolean" }, "subkeys_offset": { "default": 0, "description": "Direct child keys to skip, default 0. Each subkeys page contains at most 100 keys; pass its next_offset to continue.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" } }, "required": [ "feature" ], "type": "object" }, "name": "browsercompat_get_feature", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "anyOf": [ { "not": { "required": [ "error" ] }, "required": [ "found", "outcome", "resolved_as", "data_version" ] }, { "required": [ "error" ] } ], "properties": { "baseline": { "additionalProperties": false, "description": "Baseline state for the resolved key, or the feature rollup when a web-features id resolved to more than one key.", "properties": { "date_is_upper_bound": { "description": "True when a date above is ≤-prefixed, so it is an upper bound rather than exact.", "type": "boolean" }, "high_date": { "description": "Date the feature became widely available, verbatim from web-features — may carry a ≤ prefix.", "type": "string" }, "since_date": { "description": "Date the feature became newly available, verbatim from web-features — may carry a ≤ prefix.", "type": "string" }, "state": { "description": "widely and newly are Baseline availability, limited means not yet in every core browser, not_mapped means the key sits outside the web-features mapping.", "enum": [ "widely", "newly", "limited", "not_mapped" ], "type": "string" } }, "required": [ "state" ], "type": "object" }, "baselineNotMapped": { "description": "Explains why a resolved key carries no Baseline state.", "type": "string" }, "compat_keys": { "description": "Present when the web-features id spans more than one browser-compat-data key. Call this tool again with one of them for the per-browser fields.", "items": { "type": "string" }, "type": "array" }, "data_version": { "additionalProperties": false, "description": "Vintage of each bundled dataset behind this answer.", "properties": { "bcd": { "description": "Version of the bundled @mdn/browser-compat-data snapshot.", "type": "string" }, "bcd_generated": { "description": "ISO 8601 timestamp the browser-compat-data snapshot was generated at.", "type": "string" }, "browserslist": { "description": "Version of the bundled browserslist query resolver.", "type": "string" }, "caniuse_lite": { "description": "Version of the bundled caniuse-lite snapshot.", "type": "string" }, "web_features": { "description": "Version of the bundled web-features snapshot.", "type": "string" } }, "required": [ "bcd", "bcd_generated", "web_features", "caniuse_lite", "browserslist" ], "type": "object" }, "description": { "description": "web-features description, or the browser-compat-data description with tags stripped.", "type": "string" }, "discouraged": { "additionalProperties": false, "description": "Feature-level discouragement, independent of leaf standards status. Also retained in status.discouraged when status exists.", "properties": { "according_to": { "description": "URLs of the bodies that discourage the feature.", "items": { "type": "string" }, "type": "array" }, "reason": { "description": "Why the feature is discouraged, as web-features states it.", "type": "string" } }, "required": [ "reason", "according_to" ], "type": "object" }, "error": { "additionalProperties": {}, "description": "Present when the call failed. Absent on success.", "properties": { "code": { "description": "JSON-RPC error code for this failure.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "data": { "additionalProperties": {}, "properties": { "reason": { "description": "Machine-readable failure mode. Declared by this tool: `invalid_feature_input`: feature is whitespace-only. An empty or over-200-character string is rejected against the input schema instead. Other values are possible when a failure originates below the handler.", "examples": [ "invalid_feature_input" ], "type": "string" }, "recovery": { "additionalProperties": {}, "description": "Actionable next step for the caller.", "properties": { "hint": { "type": "string" } }, "required": [ "hint" ], "type": "object" }, "retryable": { "description": "Whether retrying may succeed.", "type": "boolean" } }, "type": "object" }, "message": { "description": "Human-readable description of what went wrong.", "type": "string" } }, "required": [ "code", "message" ], "type": "object" }, "found": { "description": "True when the feature string resolved to a tracked entry.", "type": "boolean" }, "guidance": { "description": "What to do next on a miss or with no compat data.", "type": "string" }, "limiting_browser": { "additionalProperties": false, "description": "Among the Baseline core browsers, the one requiring the newest release. Present only when every core browser has full, unprefixed, unflagged support at a resolvable added release.", "properties": { "browser_id": { "description": "browser-compat-data browser id.", "type": "string" }, "name": { "description": "Human-readable browser name.", "type": "string" }, "version": { "description": "Release of that browser the feature requires.", "type": "string" } }, "required": [ "browser_id", "name", "version" ], "type": "object" }, "mdn_url": { "description": "MDN reference page for the resolved key.", "type": "string" }, "name": { "description": "web-features display name for the feature.", "type": "string" }, "outcome": { "description": "found when per-feature data was returned, no_compat_data when the entry is tracked but owns no browser-compat-data keys, miss when nothing matched.", "enum": [ "found", "no_compat_data", "miss" ], "type": "string" }, "resolved_as": { "anyOf": [ { "additionalProperties": false, "properties": { "baseline_id": { "description": "The web-features id this resolved to, or null when no web-features entry covers the key.", "type": [ "string", "null" ] }, "bcd_key": { "description": "The single browser-compat-data key this resolved to, or null when the web-features id spans more than one key.", "type": [ "string", "null" ] }, "input": { "description": "The feature string as the caller sent it, trimmed.", "type": "string" }, "resolved_via": { "description": "Which step of the resolution order matched: bcd_key or web_features_id for an exact match, web_features_id_normalized when it matched only after lowercasing, redirect when the input pointed to a browser-compat-data entry that has moved or split, or search when resolve was true and the best exact matches in the search index all named one feature or key — treat a search match as a best guess, not a confirmed key.", "enum": [ "bcd_key", "web_features_id", "web_features_id_normalized", "redirect", "search" ], "type": "string" } }, "required": [ "input", "bcd_key", "baseline_id", "resolved_via" ], "type": "object" }, { "type": "null" } ], "description": "How the feature string was matched, or null on a miss." }, "runtimesExcluded": { "description": "Notes that the feature carries server-runtime or XR data that was left out.", "type": "string" }, "spec_urls": { "description": "Specification URLs for the resolved key, always an array.", "items": { "type": "string" }, "type": "array" }, "status": { "additionalProperties": false, "description": "Standards status for the resolved key. Absent for webextensions keys, which record none, and when the id spans more than one key.", "properties": { "deprecated": { "description": "True when browser-compat-data marks the feature deprecated.", "type": "boolean" }, "discouraged": { "additionalProperties": false, "description": "Present when web-features records that the feature is discouraged.", "properties": { "according_to": { "description": "URLs of the bodies that discourage the feature.", "items": { "type": "string" }, "type": "array" }, "reason": { "description": "Why the feature is discouraged, as web-features states it.", "type": "string" } }, "required": [ "reason", "according_to" ], "type": "object" }, "experimental": { "description": "True when browser-compat-data marks the feature experimental.", "type": "boolean" }, "standard_track": { "description": "True when the feature is part of an active specification process.", "type": "boolean" } }, "required": [ "deprecated", "experimental", "standard_track" ], "type": "object" }, "subkeys": { "additionalProperties": false, "description": "Direct child compat records of the resolved BCD key. Absent for childless keys and resolutions without a single key.", "properties": { "keys": { "description": "At most 100 direct child keys, in BCD traversal order. Call browsercompat_get_feature for one, or browsercompat_check_baseline for up to 20.", "items": { "type": "string" }, "type": "array" }, "next_offset": { "description": "Offset for the next page; absent at or past the end.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "total": { "description": "Total direct callable child keys, before paging.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "truncated": { "description": "True when more direct children remain after this page.", "type": "boolean" } }, "required": [ "total", "keys", "truncated" ], "type": "object" }, "support": { "description": "One row per reported browser. Absent when the id spans more than one browser-compat-data key.", "items": { "additionalProperties": false, "description": "Support for one reported browser.", "properties": { "alternative_name": { "description": "Entirely different name the feature is implemented under.", "type": "string" }, "browser_id": { "description": "browser-compat-data browser id.", "type": "string" }, "browser_name": { "description": "Human-readable browser name.", "type": "string" }, "flags": { "description": "Flags gating support in this browser.", "items": { "additionalProperties": false, "description": "A flag that must be configured for support.", "properties": { "name": { "description": "Name of the flag or preference to configure.", "type": "string" }, "type": { "description": "Whether the gate is a user preference or a runtime flag.", "enum": [ "preference", "runtime_flag" ], "type": "string" }, "value_to_set": { "description": "Value the flag must be set to.", "type": "string" } }, "required": [ "name", "type" ], "type": "object" }, "type": "array" }, "impl_url": { "description": "Links to bugs or issues tracking the implementation, always an array.", "items": { "type": "string" }, "type": "array" }, "notes": { "description": "Notes from browser-compat-data about this support, always an array.", "items": { "type": "string" }, "type": "array" }, "partial": { "description": "True when the implementation does not meet the mandatory specified behavior.", "type": "boolean" }, "prefix": { "description": "Vendor prefix the feature ships under.", "type": "string" }, "verdict": { "description": "supported means full support with no flags, prefix, or partial implementation; partial means the implementation does not meet the mandatory specified behavior; prefixed means it ships under a vendor prefix or an entirely different name; flagged means it only works behind a preference or runtime flag; removed means it shipped and was later removed; unsupported means it was never added; preview_only means it only works in a preview channel; unknown means the browser is absent from the data or support predates a ≤ bound — unknown never means unsupported.", "enum": [ "supported", "partial", "prefixed", "flagged", "removed", "unsupported", "preview_only", "unknown" ], "type": "string" }, "version_added": { "description": "Release that added support.", "type": "string" }, "version_added_is_upper_bound": { "description": "True when the data says support arrived at or before version_added, not exactly at it.", "type": "boolean" }, "version_last": { "description": "Last release that still supported the feature.", "type": "string" }, "version_removed": { "description": "Release that removed support.", "type": "string" } }, "required": [ "browser_id", "browser_name", "verdict" ], "type": "object" }, "type": "array" } }, "type": "object" } }, { "description": "Enumerate the reference vocabulary this server uses: BCD namespaces, BCD browser ids, browserslist agent ids and their BCD counterparts, Baseline states, web-features groups, and ECMAScript snapshots. Use it to build valid inputs for the other tools and to see which target browsers can be evaluated.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "topic": { "description": "Which vocabulary to list: bcd_namespaces for the 12 top-level browser-compat-data namespaces, bcd_browsers for the 17 tracked browsers, browserslist_agents for the 19 browserslist ids mapped to browser-compat-data browsers, baseline_states for the 4 Baseline states, groups for the 104 web-features groups, or snapshots for the 11 ECMAScript snapshots.", "enum": [ "bcd_namespaces", "bcd_browsers", "browserslist_agents", "baseline_states", "groups", "snapshots" ], "type": "string" } }, "required": [ "topic" ], "type": "object" }, "name": "browsercompat_list_reference", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "anyOf": [ { "not": { "required": [ "error" ] }, "required": [ "topic", "entries", "data_version" ] }, { "required": [ "error" ] } ], "properties": { "attribution": { "description": "Required attribution for the caniuse-derived usage figures in this response.", "type": "string" }, "data_version": { "additionalProperties": false, "description": "Vintage of each bundled dataset behind this answer.", "properties": { "bcd": { "description": "Version of the bundled @mdn/browser-compat-data snapshot.", "type": "string" }, "bcd_generated": { "description": "ISO 8601 timestamp the browser-compat-data snapshot was generated at.", "type": "string" }, "browserslist": { "description": "Version of the bundled browserslist query resolver.", "type": "string" }, "caniuse_lite": { "description": "Version of the bundled caniuse-lite snapshot.", "type": "string" }, "web_features": { "description": "Version of the bundled web-features snapshot.", "type": "string" } }, "required": [ "bcd", "bcd_generated", "web_features", "caniuse_lite", "browserslist" ], "type": "object" }, "entries": { "description": "Every entry in the requested vocabulary.", "items": { "additionalProperties": false, "description": "One vocabulary entry.", "properties": { "bcd_browser": { "description": "browser-compat-data browser this browserslist agent maps to, or null when none exists.", "type": [ "string", "null" ] }, "count": { "description": "How many items the entry covers — compat keys for a namespace or Baseline state.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "detail": { "description": "One line explaining what the entry covers.", "type": "string" }, "id": { "description": "Identifier callers pass to the other tools, or filter results by.", "type": "string" }, "label": { "description": "Human-readable name for this entry.", "type": "string" }, "maps_from": { "anyOf": [ { "const": "high", "type": "string" }, { "const": "low", "type": "string" }, { "const": false, "type": "boolean" }, { "const": null, "type": "null" } ], "description": "Raw web-features status.baseline value this reported state maps from; null for not_mapped, which has none." }, "reported": { "description": "True when this browser is in the reported set (desktop or mobile). Runtimes are added only by include_runtimes.", "type": "boolean" }, "spec_url": { "description": "Specification URL for this ECMAScript snapshot.", "type": "string" }, "usage_percent": { "description": "Share of tracked global traffic attributed to this browserslist agent.", "type": "number" } }, "required": [ "id", "label", "detail" ], "type": "object" }, "type": "array" }, "error": { "additionalProperties": {}, "description": "Present when the call failed. Absent on success.", "properties": { "code": { "description": "JSON-RPC error code for this failure.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "data": { "additionalProperties": {}, "properties": { "reason": { "description": "Machine-readable failure mode.", "type": "string" }, "recovery": { "additionalProperties": {}, "description": "Actionable next step for the caller.", "properties": { "hint": { "type": "string" } }, "required": [ "hint" ], "type": "object" }, "retryable": { "description": "Whether retrying may succeed.", "type": "boolean" } }, "type": "object" }, "message": { "description": "Human-readable description of what went wrong.", "type": "string" } }, "required": [ "code", "message" ], "type": "object" }, "topic": { "description": "The topic that was listed.", "type": "string" } }, "type": "object" } }, { "description": "Find web features by plain name or keyword when the canonical key is unknown, across CSS, JavaScript, HTML, Web APIs, SVG, MathML, WebAssembly, and HTTP headers. Returns ranked matches with the BCD key, the web-features id, the Baseline state, a one-line support summary, and which field matched. Feed a result key into browsercompat_get_feature for the full record.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "baseline": { "description": "Restrict results to one Baseline state.", "enum": [ "widely", "newly", "limited", "not_mapped" ], "type": "string" }, "group": { "description": "Restrict results to features in one web-features group or any group nested under it, for example \"selectors\" or \"css\". Keys with no web-features mapping never match. Call browsercompat_list_reference with topic groups for valid ids.", "maxLength": 100, "minLength": 1, "type": "string" }, "limit": { "default": 10, "description": "Maximum results to return, from 1 to 50.", "maximum": 50, "minimum": 1, "type": "integer" }, "namespace": { "description": "Restrict results to one top-level browser-compat-data namespace.", "enum": [ "api", "css", "html", "http", "javascript", "manifests", "mathml", "mediatypes", "svg", "webassembly", "webdriver", "webextensions" ], "type": "string" }, "offset": { "default": 0, "description": "Number of ranked matches to skip before returning results, for paging past limit. Pass the nextOffset from the previous response.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "query": { "description": "Plain-language name, keyword, or code notation, for example \"container query\", \"fromAsync\", \"Array.prototype.at\", \"display: grid\", or \"<dialog>\".", "maxLength": 100, "minLength": 1, "type": "string" }, "snapshot": { "description": "Restrict results to features in one ECMAScript snapshot, for example \"ecmascript-2023\". Call browsercompat_list_reference with topic snapshots for valid ids.", "maxLength": 100, "minLength": 1, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "browsercompat_search_features", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "anyOf": [ { "not": { "required": [ "error" ] }, "required": [ "results", "data_version", "totalCount" ] }, { "required": [ "error" ] } ], "properties": { "appliedFilters": { "additionalProperties": false, "description": "Filters the server applied to this search.", "properties": { "baseline": { "description": "Baseline filter the search applied.", "type": "string" }, "group": { "description": "web-features group filter the search applied, nested groups included.", "type": "string" }, "namespace": { "description": "Namespace filter the search applied.", "type": "string" }, "snapshot": { "description": "ECMAScript snapshot filter the search applied.", "type": "string" } }, "type": "object" }, "cap": { "description": "The limit that was applied.", "type": "number" }, "data_version": { "additionalProperties": false, "description": "Vintage of each bundled dataset behind this answer.", "properties": { "bcd": { "description": "Version of the bundled @mdn/browser-compat-data snapshot.", "type": "string" }, "bcd_generated": { "description": "ISO 8601 timestamp the browser-compat-data snapshot was generated at.", "type": "string" }, "browserslist": { "description": "Version of the bundled browserslist query resolver.", "type": "string" }, "caniuse_lite": { "description": "Version of the bundled caniuse-lite snapshot.", "type": "string" }, "web_features": { "description": "Version of the bundled web-features snapshot.", "type": "string" } }, "required": [ "bcd", "bcd_generated", "web_features", "caniuse_lite", "browserslist" ], "type": "object" }, "error": { "additionalProperties": {}, "description": "Present when the call failed. Absent on success.", "properties": { "code": { "description": "JSON-RPC error code for this failure.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "data": { "additionalProperties": {}, "properties": { "reason": { "description": "Machine-readable failure mode. Declared by this tool: `invalid_query`: query is whitespace-only after normalization, or normalizes to zero tokens. `unknown_group`: group names no web-features group in the bundled data. `unknown_snapshot`: snapshot names no ECMAScript snapshot in the bundled data. Other values are possible when a failure originates below the handler.", "examples": [ "invalid_query", "unknown_group", "unknown_snapshot" ], "type": "string" }, "recovery": { "additionalProperties": {}, "description": "Actionable next step for the caller.", "properties": { "hint": { "type": "string" } }, "required": [ "hint" ], "type": "object" }, "retryable": { "description": "Whether retrying may succeed.", "type": "boolean" } }, "type": "object" }, "message": { "description": "Human-readable description of what went wrong.", "type": "string" } }, "required": [ "code", "message" ], "type": "object" }, "nextOffset": { "description": "The offset of the next page. Present only while matches remain past this page.", "type": "number" }, "noMatchNotice": { "description": "How to broaden a search that matched nothing.", "type": "string" }, "offsetNotice": { "description": "Why a page came back empty although the search matched.", "type": "string" }, "results": { "description": "Ranked matches, best first. An empty array is a successful search with no hits.", "items": { "additionalProperties": false, "description": "One ranked match.", "properties": { "baseline_id": { "description": "web-features id covering this entry.", "type": "string" }, "baseline_state": { "description": "Baseline state for this entry, reported per browser-compat-data key.", "enum": [ "widely", "newly", "limited", "not_mapped" ], "type": "string" }, "bcd_key": { "description": "browser-compat-data key. Absent for entries that own no compat keys.", "type": "string" }, "description": { "description": "One-line description of the feature.", "type": "string" }, "matched_on": { "description": "Which field matched the query, so the ranking can be inspected. path_suffix means the key ends in the dotted or property-value notation the query used, such as Element.animate or display: grid.", "enum": [ "bcd_key", "baseline_id", "name", "caniuse_title", "path_suffix", "path_segment", "description", "path_tokens" ], "type": "string" }, "mdn_url": { "description": "MDN reference page for this key.", "type": "string" }, "name": { "description": "web-features display name.", "type": "string" }, "support_summary": { "description": "One line over the Baseline core browsers, with — for unsupported and ? for unknown.", "type": "string" } }, "required": [ "baseline_state", "matched_on", "support_summary" ], "type": "object" }, "type": "array" }, "shown": { "description": "Number of results on this page.", "type": "number" }, "totalCount": { "description": "Matches across every page, before offset and limit apply.", "type": "number" }, "truncated": { "description": "True when more matches remain past this page.", "type": "boolean" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:f19e6722838453ea5e908f146e2764e58fe2369be3b590d705c208647e56a498 | sha256sum