SiteVerdict — Website Audit Tools

io.github.siteverdict由 GitHub 账号 siteverdict 发布v0.2.1更新于 Oct 24, 2026

Website audits for AI agents: GDPR consent, speed, WCAG, SPF/DMARC and AI-search readiness.

发布方自己的服务:audit.domains - Domain Valuation

已验证Streamable HTTP可网页运行网页搜索与抓取安全与监控数据与分析

概览

AI 生成的概览

让助手对网站执行基于浏览器的审计,涵盖 GDPR 同意、速度、WCAG 无障碍、邮件安全和 AI 搜索就绪度,并返回按优先级排序的修复清单。

可以做什么
提供审计工具,对公开网站运行真实的浏览器检查,返回评分、摘要和按优先级排序的修复清单。工具覆盖 Cookie 同意与 GDPR/PECR 跟踪、Core Web Vitals 及慢页面造成的收入损失估算、WCAG 2.2 无障碍、域名邮件健康(MX、SPF、DKIM、DMARC、TLS),以及面向 ChatGPT、Perplexity 和 Google AI Overviews 的 AI 搜索就绪度。full_website_audit 会并行运行所有检查,get_audit_results 用于收集长时间扫描的结果。还包含提示词和 siteverdict://checks 等资源。
适用场景
当你希望助手审计公开网站并给出按优先级排序的修复计划时使用,例如上线前检查、确认 Cookie 横幅是否符合 GDPR、估算慢页面造成的收入损失,或检查邮件伪造风险和 AI 搜索可见性。
运行要求
npm 包 @siteverdict/mcp 需要 Node.js 20+,通过 npx 以 stdio 方式运行,或使用远程 streamable HTTP 端点。必须提供 Apify API 令牌,可通过 APIFY_TOKEN 环境变量或 X-Apify-Token 请求头传入,远程模式下也可通过 OAuth 登录。可选数据工具集可能需要额外的第三方密钥。需要访问被审计网站和 api.apify.com 的网络连接。
安装前请注意
审计以 Apify Actor 的形式在你自己的 Apify 账户上运行,由 Apify 按事件计费,会产生真实费用;每次运行都有花费上限(默认 2 美元,可用 maxCostUsd 调整)。必须提供 APIFY_TOKEN 密钥,且仅发送至 api.apify.com。可选的数据工具集可能还需要其他第三方密钥,通过 SITEVERDICT_SECRET_ 环境变量或 X-SiteVerdict-Secret- 请求头发送。工具为只读,并会拒绝私有或内部目标,但远程端点尚未部署。

安装

在 SourceWeft 中

  1. 打开 控制台中的 SiteVerdict — Website Audit Tools,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.siteverdict%2Fsiteverdict/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "siteverdict-website-audit-tools": {
      "type": "http",
      "url": "https://mcp.webrevenuescan.com/mcp"
    }
  }
}

README

SiteVerdict — Website Audit Tools (MCP server)

Website audit tools for AI agents. Ask Claude, ChatGPT, Cursor or any MCP client to "audit my website and tell me what to fix first". It runs real browser-based checks and returns a ranked fix plan:

ToolWhat it checks
full_website_auditRuns every check below in parallel, then returns an overall score, an executive summary and one prioritised fix list
audit_tracking_consentCookie consent and GDPR / UK GDPR / PECR: tags that fire before consent or after "Reject", tracking cookies, Google Consent Mode v2, broken GA4/GTM tags, duplicate page_views
scan_speed_and_revenueCore Web Vitals (LCP, INP, CLS, TTFB), page weight and bottlenecks, plus an estimate of revenue lost to slow pages if you give traffic and order value
audit_accessibility_wcagWCAG 2.2 A/AA/AAA (axe-core), mapped to success criteria and to the European Accessibility Act / EN 301 549
check_domain_email_healthMX, SPF, DKIM, DMARC, BIMI, MTA-STS, DNSSEC, CAA, TLS expiry, spoofing risk and Gmail/Yahoo bulk-sender gaps
check_ai_search_readinessCan ChatGPT, Perplexity and Google AI Overviews read and cite you? Covers robots.txt AI bots, llms.txt, schema.org, rendering, canonical tags and sitemap
get_audit_resultsCollects the results of a long scan that was still running, at no extra cost

Prompts: website_fix_plan, cookie_consent_check, prelaunch_check. Resources: siteverdict://checks, siteverdict://guide/scoring.

How billing works

Each check is an Apify Actor. The server runs it on your own Apify account using your APIFY_TOKEN, and Apify bills you directly at its pay-per-event price. This server has no payments, no accounts and no stored data.

  • Every run has a spend cap (maxTotalChargeUsd, default $2, configurable per call with maxCostUsd).
  • If you cancel a tool call, the Apify run is aborted, so you stop paying.
  • You can see run costs in your Apify console.

Get a token at https://console.apify.com/settings/integrations. To try the tools without a token, set SITEVERDICT_DRY_RUN=1. Every result is then built-in sample data and is clearly labelled.

Install

Requires Node.js 20+. Replace apify_api_xxx with your token.

Claude Code

bash
claude mcp add --env APIFY_TOKEN=apify_api_xxx --transport stdio siteverdict -- npx -y @siteverdict/mcp

Claude Desktop

Go to Settings → Developer → Edit Config (claude_desktop_config.json):

json
{  "mcpServers": {    "siteverdict": {      "command": "npx",      "args": ["-y", "@siteverdict/mcp"],      "env": { "APIFY_TOKEN": "apify_api_xxx" }    }  }}

You can also install the one-click .mcpb bundle from the Releases page. Claude Desktop asks for your token and stores it securely.

Cursor

Add this to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

json
{  "mcpServers": {    "siteverdict": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@siteverdict/mcp"],      "env": { "APIFY_TOKEN": "${env:APIFY_TOKEN}" }    }  }}

VS Code (GitHub Copilot agent mode)

Add this to .vscode/mcp.json. VS Code prompts for the token once and stores it encrypted:

json
{  "inputs": [    { "type": "promptString", "id": "apify-token", "description": "Apify API token", "password": true }  ],  "servers": {    "siteverdict": {      "type": "stdio",      "command": "npx",      "args": ["-y", "@siteverdict/mcp"],      "env": { "APIFY_TOKEN": "${input:apify-token}" }    }  }}

Or run: code --add-mcp '{"name":"siteverdict","command":"npx","args":["-y","@siteverdict/mcp"],"env":{"APIFY_TOKEN":"${input:apify-token}"}}'

Windsurf / Devin Desktop

Add this to ~/.codeium/windsurf/mcp_config.json. Newer builds use ~/.config/devin/mcp_config.json, or %APPDATA%\devin\mcp_config.json on Windows:

json
{  "mcpServers": {    "siteverdict": {      "command": "npx",      "args": ["-y", "@siteverdict/mcp"],      "env": { "APIFY_TOKEN": "${env:APIFY_TOKEN}" }    }  }}

Cline

Install from the Cline MCP Marketplace once the listing is live, or add this to cline_mcp_settings.json:

json
{  "mcpServers": {    "siteverdict": {      "command": "npx",      "args": ["-y", "@siteverdict/mcp"],      "env": { "APIFY_TOKEN": "apify_api_xxx" },      "disabled": false,      "autoApprove": []    }  }}

OpenAI Codex CLI

bash
codex mcp add siteverdict --env APIFY_TOKEN=apify_api_xxx -- npx -y @siteverdict/mcp

Or add this to ~/.codex/config.toml:

toml
[mcp_servers.siteverdict]command = "npx"args = ["-y", "@siteverdict/mcp"]tool_timeout_sec = 600
[mcp_servers.siteverdict.env]APIFY_TOKEN = "apify_api_xxx"

Scans can take a few minutes, so raise tool_timeout_sec from its default of 60.

Gemini CLI

bash
gemini mcp add -e APIFY_TOKEN=apify_api_xxx siteverdict npx -y @siteverdict/mcp

ChatGPT and Claude (remote connector with OAuth)

These clients need a remote HTTPS URL. The server ships remote mode with OAuth 2.1: CIMD/DCR client registration, PKCE, and a sign-in page where you paste your own Apify token. It also has a ChatGPT/MCP Apps score-card UI. Once the owner deploys it, add https://mcp.webrevenuescan.com/mcp as a custom connector, or /mcp/<toolsets> such as /mcp/web+compliance. Design and deploy steps: docs/REMOTE.md. Not deployed yet.

Docker

bash
docker run -i --rm -e APIFY_TOKEN=apify_api_xxx mcp/siteverdict

Remote / Streamable HTTP (self-hosted)

bash
SITEVERDICT_HTTP_HOST=127.0.0.1 SITEVERDICT_HTTP_PORT=3333 npx -y @siteverdict/mcp --http# endpoint: http://127.0.0.1:3333/mcp   health: /healthz# each user sends their own token:  X-Apify-Token: apify_api_xxx   (or Authorization: Bearer apify_api_xxx)claude mcp add --transport http siteverdict http://127.0.0.1:3333/mcp --header "X-Apify-Token: apify_api_xxx"

The server binds to localhost by default and validates Host and Origin. To serve it publicly, put it behind TLS and set SITEVERDICT_ALLOWED_HOSTS and SITEVERDICT_ALLOWED_ORIGINS.

Toolsets (keep the tool list small)

The default is web: the 7 audit tools plus detect_tech_stack, monitor_website_changes, fetch_clean_markdown and get_run_results. To add more groups:

bash
npx -y @siteverdict/mcp --toolsets web,compliance        # or SITEVERDICT_TOOLSETS=allnpx -y @siteverdict/mcp --tools sanctions_screen,uk_property_data   # explicit allow-list
ToolsetTools
webfull_website_audit, audit_tracking_consent, scan_speed_and_revenue, audit_accessibility_wcag, check_domain_email_health, check_ai_search_readiness, get_audit_results, detect_tech_stack, monitor_website_changes, fetch_clean_markdown
marketingseo_rank_check, search_traffic_diagnose, google_ads_transparency, reviews_monitor
leadsfind_local_businesses, company_registry_lookup, sec_filing_watch, sec_full_text_search, find_public_tenders, detect_tech_stack
compliancesanctions_screen, validate_vat_or_company_number, extract_pdf_invoice, company_registry_lookup
travelflight_fare_scan, flight_fare_estimate, flight_deal_alerts, check_flight_compensation, visa_entry_check
propertyuk_property_data

Some data tools can use your own third-party keys:

  • stdio: SITEVERDICT_SECRET_<NAME> env vars
  • HTTP: X-SiteVerdict-Secret-<Name> headers

Examples are COMPANIES_HOUSE_API_KEY, HMRC_CLIENT_ID, GOOGLE_MAPS_API_KEY, SERPAPI_API_KEY and EPC_API_TOKEN. The siteverdict://tools resource lists them all. Keys are never tool arguments and never appear in results. Without them, the tool uses the Actor's clearly labelled sample mode or format-only checks.

Full generated table: marketplace/tools.md.

Example prompts

  • "Audit https://example.com and give me a fix plan for this week."
  • "Is my cookie banner on example.co.uk GDPR-compliant? Does anything track before consent?"
  • "How much revenue is my slow mobile site losing? I get 40k visits a month, a 2% conversion rate and a £70 average order."
  • "Check example.com against WCAG 2.2 AA and tell me what the European Accessibility Act means for us."
  • "Can people spoof email from our domain? Check SPF, DKIM and DMARC for example.com."
  • "Will ChatGPT and Perplexity cite our site? Check AI-search readiness."

Configuration

VariableDefaultPurpose
APIFY_TOKEN—Your Apify token (stdio mode)
SITEVERDICT_DRY_RUN01 returns sample data with no Apify calls
SITEVERDICT_DEFAULT_MAX_CHARGE_USD2Spend cap per Actor run
SITEVERDICT_DEFAULT_WAIT_SECS / SITEVERDICT_MAX_WAIT_SECS240 / 900How long a call waits before returning running plus a runId
SITEVERDICT_RATE_LIMIT_PER_MINUTE20Tool calls per minute per client
SITEVERDICT_MAX_CONCURRENT_RUNS6Concurrent Actor runs per client
SITEVERDICT_APIFY_USERNAMEfrom brand.jsonApify account that owns the Actors
SITEVERDICT_ACTOR_TRACKING_CONSENT, ..._SPEED_REVENUE, ..._ACCESSIBILITY, ..._DOMAIN_EMAIL, ..._AI_SEARCH<username>/siteverdict-…Override individual Actor IDs
SITEVERDICT_DNS_CHECK1Resolve hostnames and reject private addresses (SSRF guard)
SITEVERDICT_HTTP_HOST / _PORT / _PATH127.0.0.1 / 3333 / /mcpHTTP mode
SITEVERDICT_ALLOWED_HOSTS / _ORIGINSlocalhostComma lists for public HTTP deployments

Safety

  • Read-only. No tool changes your site. Every tool is annotated readOnlyHint: true, destructiveHint: false, openWorldHint: true.
  • Public targets only. Private, loopback, link-local, CGNAT, cloud-metadata and reserved IPs, internal hostnames, non-http(s) schemes, credentials in URLs and odd ports are all rejected. Hostnames that resolve to private addresses are rejected too.
  • Tokens stay with Apify. Tokens are sent only to api.apify.com in an Authorization header. They are never logged and never placed in URLs.
  • Limits. Calls are rate-limited and concurrent runs are capped per client. Every run has a spend cap. Cancelling a call aborts its run.

Development

bash
npm installnpm run typecheck && npm run lint && npm test   # unit + integration tests (mocked Apify, no network)npm run smoke                                   # builds, then drives dist/cli.js over real stdionpm run inspector                               # MCP Inspector UI against the dry-run serverSITEVERDICT_DRY_RUN=1 npm run dev               # stdio from source

To rename the brand, edit brand.json and run npm run brand:sync.

Built on the official MCP TypeScript SDK v2 (@modelcontextprotocol/server). It serves both the 2026-07-28 protocol and 2025-era clients.

Privacy & terms

See PRIVACY.md and TERMS.md. Both are drafts until reviewed. Support: GitHub issues.

来源:README.md,提交 3934572

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

2
  1. v0.2.1最新Oct 13, 2026
  2. v0.2.0Oct 13, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Audit 集成