can-i-use

Browser support for web features, live from caniuse. From which version, and is it safe to ship?

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
100%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,288Tokens (tool definitions)
~4.5 KBTypical response size
Moderate attention impact (1.01% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "can-i-use": {
      "url": "https://api.kaiv.ai/api/bridge/mcp/can-i-use-5446c68b"
    }
  }
}

Remote endpoints

https://api.kaiv.ai/api/bridge/mcp/can-i-use-5446c68bstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_feature_support(feature)

Can I use this feature, and from which browser version? Accepts a loose name (":has()", "container queries", "css-grid") and resolves it to a caniuse feature, then returns the earliest continuously-supported version per major browser, global usage percentage, and a conservative safe_to_use flag. Use this first; it answers the whole question in one call.

Input Schema

{
  "type": "object",
  "properties": {
    "feature": {
      "type": "string",
      "x-in": "query",
      "description": "Feature name or caniuse id. Loose names are resolved, e.g. \"has selector\" finds \"css-has\"."
    }
  },
  "required": [
    "feature"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "spec": {
      "type": "string",
      "nullable": true
    },
    "title": {
      "type": "string"
    },
    "feature": {
      "type": "string",
      "description": "Resolved caniuse feature id."
    },
    "meaning": {
      "type": "string",
      "description": "One sentence, safe to show a user verbatim."
    },
    "support": {
      "type": "object",
      "description": "Per-browser detail, keyed by caniuse browser id.",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "since": {
            "type": "string",
            "nullable": true,
            "description": "Earliest version from which support has held continuously to the newest release. Null when never supported."
          },
          "browser": {
            "type": "string",
            "description": "Human browser name."
          },
          "current": {
            "type": "string",
            "description": "State in the newest release: supported, partial support, not supported, supported behind a vendor prefix, disabled by default."
          },
          "supported_now": {
            "type": "boolean",
            "description": "Whether the newest released version supports it."
          },
          "latest_version": {
            "type": "string",
            "nullable": true,
            "description": "Newest released version caniuse tracks for this browser."
          }
        }
      }
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "safe_to_use": {
      "type": "boolean",
      "description": "True only when global support is at least 90% AND no major browser is missing it. A conservative single answer."
    },
    "other_matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "description": "Other features the query could have meant."
    },
    "resolved_from": {
      "type": "string",
      "description": "The query that was matched, so a caller can see what it actually asked about."
    },
    "unsupported_in": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Major browsers whose newest release still does not support it."
    },
    "global_partial_percent": {
      "type": "number",
      "nullable": true
    },
    "global_support_percent": {
      "type": "number",
      "nullable": true,
      "description": "Percentage of tracked global users on a browser version that fully supports it."
    }
  },
  "required": [
    "feature",
    "title",
    "meaning",
    "support"
  ]
}
🟢get_feature_by_id(id)

Support table for an exact caniuse feature id. Use when the id is already known, for example from a previous search. No fuzzy matching is applied.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "x-in": "query",
      "description": "Exact caniuse feature id, e.g. \"css-has\"."
    }
  },
  "required": [
    "id"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "spec": {
      "type": "string",
      "nullable": true
    },
    "title": {
      "type": "string"
    },
    "feature": {
      "type": "string",
      "description": "Resolved caniuse feature id."
    },
    "meaning": {
      "type": "string",
      "description": "One sentence, safe to show a user verbatim."
    },
    "support": {
      "type": "object",
      "description": "Per-browser detail, keyed by caniuse browser id.",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "since": {
            "type": "string",
            "nullable": true,
            "description": "Earliest version from which support has held continuously to the newest release. Null when never supported."
          },
          "browser": {
            "type": "string",
            "description": "Human browser name."
          },
          "current": {
            "type": "string",
            "description": "State in the newest release: supported, partial support, not supported, supported behind a vendor prefix, disabled by default."
          },
          "supported_now": {
            "type": "boolean",
            "description": "Whether the newest released version supports it."
          },
          "latest_version": {
            "type": "string",
            "nullable": true,
            "description": "Newest released version caniuse tracks for this browser."
          }
        }
      }
    },
    "description": {
      "type": "string",
      "nullable": true
    },
    "safe_to_use": {
      "type": "boolean",
      "description": "True only when global support is at least 90% AND no major browser is missing it. A conservative single answer."
    },
    "other_matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "description": "Other features the query could have meant."
    },
    "resolved_from": {
      "type": "string",
      "description": "The query that was matched, so a caller can see what it actually asked about."
    },
    "unsupported_in": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Major browsers whose newest release still does not support it."
    },
    "global_partial_percent": {
      "type": "number",
      "nullable": true
    },
    "global_support_percent": {
      "type": "number",
      "nullable": true,
      "description": "Percentage of tracked global users on a browser version that fully supports it."
    }
  },
  "required": [
    "feature",
    "title",
    "meaning",
    "support"
  ]
}
🟢search_features(q)

Find the caniuse feature id for a loose query. Use when a query is ambiguous and you want to choose between candidates before checking support.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "x-in": "query",
      "description": "Free-text query, e.g. \"grid\" or \"web share\"."
    }
  },
  "required": [
    "q"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "count": {
      "type": "integer"
    },
    "query": {
      "type": "string"
    },
    "matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      }
    }
  }
}

Recommended Prompts

search_research
Search for information about [topic] using can-i-use
Expected tools: search_features
find_specific
Find [specific item] using can-i-use
Expected tools: search_features
retrieve_data
Get details about [item] from can-i-use
Expected tools: get_feature_by_id
fetch_info
Fetch [information type] using can-i-use
Expected tools: get_feature_by_id
research_workflow
Search for [topic], then get detailed information about the top results using can-i-use
Expected tools: search_featuresget_feature_by_id

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools