WebsiteIQ

Robots-aware website audits, pre-crawl quotes, and structured evidence for people and agents.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,335Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (1.04% 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": {
    "websiteiq": {
      "url": "https://websiteiq.xyz/mcp"
    }
  }
}

Remote endpoints

https://websiteiq.xyz/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒estimate_audit(url, whiteLabel, branding)

Before audit crawling, reads robots.txt and a bounded same-host sitemap treeβ€”including namespaced, WordPress, and Yoast-style indexesβ€”then returns page scope plus standard and white-label USDC quotes. Up to 10 pages cost $0.01 standard or $0.02 white-label; each additional page costs $0.001 or $0.002. A payable quote includes the quoteId required by start_paid_audit.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public website URL whose robots-permitted sitemap should be counted."
    },
    "whiteLabel": {
      "type": "boolean",
      "default": false,
      "description": "Return the white-label quote as selectedQuote."
    },
    "branding": {
      "type": "object",
      "description": "Required when whiteLabel is true.",
      "properties": {
        "agencyName": {
          "type": "string"
        },
        "presenterName": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "email": {
          "type": "string",
          "format": "email"
        },
        "ctaLabel": {
          "type": "string"
        },
        "ctaUrl": {
          "type": "string",
          "format": "uri"
        },
        "marketingMessage": {
          "type": "string"
        },
        "contactConsent": {
          "type": "boolean",
          "const": true
        }
      },
      "required": [
        "agencyName",
        "presenterName",
        "phone",
        "email",
        "contactConsent"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "url": {
      "type": "string"
    },
    "estimatedPages": {
      "type": "integer"
    },
    "estimateComplete": {
      "type": "boolean"
    },
    "quoteStatus": {
      "type": "string"
    },
    "standardQuote": {
      "type": "object"
    },
    "whiteLabelQuote": {
      "type": "object"
    },
    "selectedQuote": {
      "type": "object"
    },
    "pricingStatus": {
      "type": "string"
    },
    "pricingNotice": {
      "type": "string"
    },
    "paymentStatus": {
      "type": "string"
    },
    "quoteId": {
      "type": [
        "string",
        "null"
      ]
    },
    "quotePayable": {
      "type": "boolean"
    },
    "quoteExpiresAt": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "ok",
    "url",
    "estimatedPages",
    "estimateComplete",
    "quoteStatus",
    "standardQuote",
    "whiteLabelQuote",
    "selectedQuote",
    "pricingStatus",
    "pricingNotice",
    "paymentStatus",
    "quoteId",
    "quotePayable"
  ]
}
βšͺstart_paid_audit(quoteId)

Starts the exact robots-aware whole-site scope represented by a current quoteId. If payment is absent, returns an x402 v2 PaymentRequired result. A compatible MCP client retries with _meta['x402/payment']; WebsiteIQ verifies the required payment identifier, settles exact USDC, and returns the existing job on safe replay.

Input Schema

{
  "type": "object",
  "properties": {
    "quoteId": {
      "type": "string",
      "pattern": "^wiq_quote_[a-f0-9]{32}$"
    }
  },
  "required": [
    "quoteId"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "quoteId": {
      "type": "string"
    },
    "pageCap": {
      "type": "integer"
    },
    "statusUrl": {
      "type": "string"
    },
    "reportUrl": {
      "type": "string"
    },
    "payment": {
      "type": "object"
    }
  },
  "required": [
    "ok",
    "id",
    "status",
    "quoteId",
    "pageCap",
    "statusUrl",
    "reportUrl",
    "payment"
  ]
}
βšͺaudit_url(url)

Starts the free bounded, robots-compliant audit of one public HTTP(S) page. No account, email, or contact consent is required. One free audit is allowed per requester IP and per target website each day. When payment is available, an abuse-limited call returns the exact sitemap-priced x402 PaymentRequired result and accepts a compatible retry through _meta['x402/payment']; otherwise it returns a quote preview. WebsiteIQ never pays target sites and never bypasses robots.txt.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Public website URL to audit."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "pageCap": {
      "type": "integer"
    },
    "statusUrl": {
      "type": "string"
    },
    "reportUrl": {
      "type": "string"
    },
    "retentionPolicy": {
      "type": "string"
    }
  },
  "required": [
    "ok",
    "id",
    "status",
    "pageCap",
    "statusUrl",
    "reportUrl"
  ]
}
🟒get_audit_status(id, accessToken)

Returns the privacy-filtered status of an audit. The access token returned by audit_url is required.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "accessToken": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "accessToken"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "reportUrl": {
      "type": "string"
    }
  },
  "required": [
    "ok",
    "id",
    "status"
  ]
}
πŸ”΄delete_audit(id, accessToken)

Deletes the retained request metadata, generated report, and delivery record.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "accessToken": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "accessToken"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "deleted": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "deleted"
  ]
}
🟒list_checks

Returns the current public audit categories and scoring caveat.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "checks": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "scoringNote": {
      "type": "string"
    }
  },
  "required": [
    "checks",
    "scoringNote"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools