Skip to content

xfix

by xfix.ai · remote · no sign-in to list tools · v1.1.0 · published by ai.xfix

Check if AI assistants and shopping agents can read a website or online store

Changes · 2

7 tools: 2 change things and 5 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http xfix https://mcp.xfix.ai/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "check_store_ai_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "check_store_ai_readiness" says "store": a word for a change.

    What this check looks for
  • The server marks "check_page_visibility" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Changes things 2Claude Code: ask
  • check_page_visibilityRuns the xfix search check on one public page: fetches it without running JavaScript, checks robots.txt for 9 crawlers, measures mobile speed and reviews text, headings and title.1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "check_page_visibility" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Runs the xfix search check on one public page: fetches it without running JavaScript, checks robots.txt for 9 crawlers, measures mobile speed and reviews text, headings and title. Returns a score out of 100, a grade, coverage, any failed gates and the 5 biggest point losses with fixes. Takes about a minute; if not finished within about 25 seconds, returns a check_id to fetch the result later.

    Annotations the server declares

    • title: Run xfix search visibility check
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_store_ai_readinessChecks whether AI assistants and shopping agents can read an online store.1 finding

    Why it is in this group

    • The name "check_store_ai_readiness" says "store": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "check_store_ai_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "check_store_ai_readiness" says "store": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Checks whether AI assistants and shopping agents can read an online store. Fetches the public store pages the user names, without running JavaScript. Returns the store's AI Shopping Readiness Index score if the store is in the Index, which AI crawlers its robots.txt allows, and whether one product page shows price, stock and product structured data in its HTML. Use when the user asks if AI can find, read or shop their store. Does not test checkout or log in. Use when the user gives a store or domain.

    Annotations the server declares

    • title: Check store AI shopping readiness
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
Only reads 5Claude Code: allow
  • check_ai_crawler_accessReads a site's robots.txt the way 9 crawlers do (Googlebot, Bingbot, Applebot, OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User) and retur…No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Reads a site's robots.txt the way 9 crawlers do (Googlebot, Bingbot, Applebot, OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User) and returns which may fetch the given page and the rule that blocks each one. Does not see CDN or firewall rules. Use when the user asks which bots or crawlers can access, crawl or read a site, or asks about robots.txt.

    Annotations the server declares

    • title: Check AI crawler access
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_page_readabilityFetches the public page at the given URL without running JavaScript and reports whether its main text is present in the HTML.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetches the public page at the given URL without running JavaScript and reports whether its main text is present in the HTML. Checks one page only. Use when the user asks whether a page's content can be read without JavaScript.

    Annotations the server declares

    • title: Check page text without JavaScript
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_product_pageFetches one public product page without running JavaScript and reports whether the price and stock are in the HTML and which of six product structured data fields are present: pric…No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetches one public product page without running JavaScript and reports whether the price and stock are in the HTML and which of six product structured data fields are present: price, availability, brand, identifier (gtin or sku), shipping details and aggregate rating. Use when the user gives a product page URL.

    Annotations the server declares

    • title: Check product page price and schema
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • get_page_visibility_resultReturns the result of an xfix search check started earlier, or its progress if it is still running.No findings

    Why it is in this group

    • The name "get_page_visibility_result" says "get": a word for reading.
    Description, as the server wrote it
    Returns the result of an xfix search check started earlier, or its progress if it is still running.

    Annotations the server declares

    • title: Get xfix search result
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • lookup_index_scoreLooks up a store domain in the xfix AI Shopping Readiness Index and returns its published score and the fields shown on the public Index page, or says the store is not in the Index…No findings

    Why it is in this group

    • The name "lookup_index_score" says "lookup": a word for reading.
    Description, as the server wrote it
    Looks up a store domain in the xfix AI Shopping Readiness Index and returns its published score and the fields shown on the public Index page, or says the store is not in the Index. Does not fetch the store.

    Annotations the server declares

    • title: Look up AI Shopping Readiness Index score
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http xfix https://mcp.xfix.ai/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__xfix__check_ai_crawler_access",
      "mcp__xfix__check_page_readability",
      "mcp__xfix__check_product_page",
      "mcp__xfix__get_page_visibility_result",
      "mcp__xfix__lookup_index_score"
    ],
    "ask": [
      "mcp__xfix__check_store_ai_readiness",
      "mcp__xfix__check_page_visibility"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as xfix. Review it before you use it.