mcpField
S
SiteCheck

SiteCheck

远程服务
api.sitecheck-api.workers.dev开发工具03 周前更新

关于 SiteCheck

SiteCheck 是面向 AI Agent 的按次付费 API 和 MCP 服务,提供网页、文档、企业、Solana 与预测市场数据及 AI 工具。调用通过 x402 使用 Base、Solana 或 Arc 上的 USDC 结算,无需账户或 API 密钥。

主要功能

  1. 01通过 x402 按次付费调用
  2. 02提取网页与 PDF 文本
  3. 03企业与合规信息核查
  4. 04Solana 代币、钱包和市场数据
  5. 05聊天、图像、语音与翻译工具

适用场景

  1. 01提取网页或 PDF 的纯文本
  2. 02核查企业标识与合规记录
  3. 03查看 Solana 代币和钱包信息
  4. 04查找预测市场并准备未签名买入交易

MCP 相关

通过 `/mcp` 端点向 MCP 客户端提供 API 工具。调用使用 x402 按次以 Base、Solana 或 Arc 上的 USDC 结算。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.sitecheck-api.workers.dev/mcp?ref=registry
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

225
参数类型必填说明
stepsinteger否1-8,默认值为 4
promptstring是最多 2048 个字符

详细介绍

SiteCheck:面向 AI Agent 的按次付费工具(Base、Solana 和 Arc 上的 x402)

已在 mcpservers.org 上列出

在线服务: https://api.sitecheck-api.workers.dev · 已列入 x402scan、官方 MCP 注册表(io.github.bck-stack/sitecheck)、Smithery 和 mcpservers.org · MCP:/mcp · 发现端点:/.well-known/x402、/openapi.json

SiteCheck 是一个小型 API,AI Agent 无需账号或 API 密钥即可使用:共提供 29 种按次付费工具。除了 AI 和网络工具(包括将网页转换为 Markdown 的读取工具),它还提供 PDF 转文本、翻译、技术栈检测、站点地图 URL、汇率、电子邮件、域名和 Solana 代币与钱包数据、商业与合规数据(欧盟增值税、IBAN、LEI、美国召回信息、OSHA/EPA 执法信息、英国破产通知)、预测市场数据,以及由 Panta 提供支持的未签名交易。每次调用均通过 x402 协议以 USDC 按请求付费,可选择 Base、Solana 或 Arc(Circle 的 L1),具体取决于买家在哪个网络上持有 USDC。发起调用后会收到 402 Payment Required,其中列出各网络的价格;签署付款后即可获取结果。它运行在 Cloudflare Workers 和 Workers AI 上。

端点价格功能
GET /api/audit?url=$0.02网站审计:WCAG 2.2 无障碍问题及修复建议和评分(《欧洲无障碍法案》)、SEO 基础检查、安全标头、技术栈
GET /api/contacts?url=$0.01根据域名补充公司联系信息:电子邮件、电话、社交媒体、技术信息
GET /api/hiring?q=&remote=$0.01搜索 Hacker News 当前的“Who is hiring?”主题帖
POST /api/chat$0.004Llama 3.3 70B 聊天补全
POST /api/image$0.005FLUX.1 schnell 文本生成图像
POST /api/transcribe$0.01Whisper large-v3-turbo 语音转文本
POST /api/tts$0.02Deepgram Aura-2 文本转语音
POST /api/embed$0.001BGE-M3 嵌入(1024 维,多语言)
GET /api/vat?number=$0.002欧盟增值税号检查:在本地检查格式和校验和,然后查询官方 VIES 服务(27 个欧盟国家/地区 + 北爱尔兰)
GET /api/iban?iban=$0.001IBAN 验证,无需网络请求:检查注册表结构和长度、mod-97、国家校验位、银行/分行/账户拆分;ibans= 最多支持 50 个
GET /api/lei?q=$0.005按 LEI 或公司名称查询 GLEIF:状态、注册信息、母公司、子公司,以及单行 kycSummary
GET /api/recalls?q=&source=&since=&classification=&limit=$0.003通过统一的数据结构查询 openFDA 和 CPSC 的美国产品召回信息,并标注高/中/低严重程度
GET /api/violations?company=&state=&since=&minPenalty=&source=&limit=$0.005美国执法案件:OSHA(DOL API,部署时需要密钥)和 EPA ECHO,并附官方记录链接
GET /api/uk-insolvency?since=&q=&postcode=&type=&limit=$0.003The Gazette 发布的英国公司破产通知(我们每晚缓存最近 8 天的数据),可选补充 Companies House 信息
GET /api/read?url=&format=&maxChars=&links=$0.002将单个网页提取为适用于大模型的简洁 Markdown 或文本:仅含主要内容、标题、描述、作者、日期、语言、规范链接;遵守 robots.txt
GET /api/email-check?email=$0.001SMTP 预检查电子邮件地址:语法、邮件 DNS、一次性邮箱域名、角色账户、免费服务提供商、拼写建议;emails= 最多支持 50 个
GET /api/domain?domain=$0.002RDAP(WHOIS 的后继协议)和 DNS:已注册或可注册、注册商、创建/到期日期、状态、DNSSEC、名称服务器、IP、MX
GET /api/solana/token?address=$0.002Solana 代币检查:价格、市值、流动性、持有者、24 小时交易、自然度评分、最大持有者占比、链上铸造/冻结权限和 Token-2022 扩展,以及风险标记
GET /api/solana/trending?mode=&interval=&minLiquidityUsd=$0.003查询 Solana 上的热门、新发布、交易量最高或自然度最高的代币,返回相同字段和标记
GET /api/solana/wallet?address=$0.003Solana 钱包持仓:SOL 和所有代币的符号、美元价格和价值,以及美元总值
GET /api/tech?url=$0.003网站技术检测(CMS、电商、分析、CDN、托管、聊天、支付、电子邮件服务提供商),并提供版本、置信度和证据
POST /api/pdf$0.003将 PDF 转换为文本,可通过 URL 或 base64 输入(最大 15 MB),逐页提取,并提供标题、作者和日期;仅支持文本 PDF
GET /api/sitemap?url=&pathPrefix=&since=$0.002获取网站 XML 站点地图中的所有 URL,包含 lastmod,按时间从新到旧排序
GET /api/fx?from=&to=&amount=&date=$0.001ECB 汇率(最新汇率、过去某日汇率或时间序列),支持金额换算
POST /api/translate$0.002使用 Llama 3.1 8B 进行翻译,最多 6,000 个字符,并保留格式

预测市场(Panta)

Agent 可以按次购买市场情报和可直接签署的交易,既无需账户,也无需 API 密钥。研究某个事件的 Agent 只需支付不到一美分,即可查找相关市场;支付一美分,即可获取某个市场的赔率和中立简报。希望采取行动的 Agent 可以购买一笔未签名的 Panta 买入交易,并用自己的钱包签名。Panta 在 Solana 上运行 USDC 预测市场。

端点价格功能
GET /api/markets?q=&status=&category=&limit=$0.002搜索 Panta 的市场。精简字段:ID、问题、YES/NO 价格及隐含概率、交易量、关闭和结算时间、结算来源
GET /api/markets/brief?id=$0.01单个市场:当前赔率、近期交易活动,以及简短的中立 AI 摘要,介绍市场提出的问题、结算依据和价格所反映的信息
POST /api/markets/quote$0.005请求体 { id, side: "yes"|"no", amountUsdc, wallet }。返回 Panta 报价:预期份额、平均价格、费用,以及相对于现货价格的价格影响
POST /api/markets/build-buy$0.01相同请求体,另可选填 maxSlippageBps。返回未签名的交易(Solana v0,base64)、Panta 提供的指引,供 Agent 自行签名并广播,以及交易报告所需字段
POST /api/markets/report免费广播后,发送 { signature, orderId, quoteId, id, wallet }。SiteCheck 会将其转发给 Panta,由 Panta 确认交易并记录归属
  • 不托管资产。 SiteCheck 从不签名、持有密钥或托管资金。build-buy 返回一笔未签名交易,唯一的签署方是 Agent 的钱包。
  • 仅提供信息,不构成财务建议。 每个响应都会说明这一点(disclaimer),简报也绝不会推荐交易。如果模型生成的文本看起来像建议,则会改为返回事实性模板。
  • 由 Panta 提供支持。 每个响应都包含 poweredBy: { text: "Powered by Panta", url: "https://panta.market" },这是 Panta 使用条款的要求。
  • 与所有工具一样,仅为结果付费:如果 Panta 拒绝或调用失败,该调用会返回错误,不会结算任何费用。市场目录缓存 45 秒,价格缓存 15 秒,响应会说明数据的时效。
  • 只有设置了 PANTA_API_KEY 密钥后,才会启用这些工具。否则这些工具会被隐藏,GET /health 会说明原因。端点、数据结构、归属说明及未决问题:docs/PANTA.md。
node scripts/demo-markets.mjs --q bitcoin            # search, brief and quote, paid on Solana (~0.017 USDC)
node scripts/demo-markets.mjs --q bitcoin --build    # also builds the unsigned transaction (+0.01); never signs or sends it

网络、文档、电子邮件、域名和 Solana 数据

工具来源说明
/api/read页面本身,使用 SiteCheckReader User-Agent 抓取一次遵循 robots.txt(禁止访问的页面会返回 403,且不收费)。不会运行 JavaScript,因此仅在浏览器中呈现的页面会返回空内容(422,且不收费)。PDF 和其他二进制文件会返回 415。内容归其发布者所有。
/api/email-checkDNS over HTTPS(Cloudflare、Google)和 disposable-email-domains 列表(CC0)不会建立 SMTP 连接:unknown 表示地址或其域名没有问题,并不代表邮箱存在。
/api/domainIANA RDAP 引导文件和各注册局的 RDAP 服务;DNS over HTTPSavailable 表示注册局没有相关记录;高级或保留名称仍可能无法购买。对于没有 RDAP 的顶级域名,会根据 DNS 推断。
/api/solana/token、/api/solana/trending、/api/solana/walletJupiter 代币、价格和持仓 API,Solana 主网 JSON-RPC(铸币账户),池信息来自 GeckoTerminal(尽力提供)仅供参考,不构成财务建议。不会签名或发送任何内容。若链上铸币权限和冻结权限信息均可用,则以链上信息为准,而非 API 的审计结果。
/api/tech网站首页、标头、Cookie 和 DNS(MX、TXT);231 条自有指纹(MIT,非基于 Wappalyzer)不会运行 JavaScript;遭遇机器人验证的网站会返回其标头和 DNS 所显示的信息。
/api/pdfPDF 的文本层,使用 unpdf(PDF.js)读取不进行 OCR:扫描版 PDF 会返回 422,且不收费。
/api/sitemap网站的 robots.txt 和 XML 站点地图每次调用最多跟进 25 个子站点地图。
/api/fx欧洲央行参考汇率,经由 Frankfurter 提供在工作日 CET 16:00 左右发布;周末返回最近的已发布日期的数据。
/api/translateWorkers AI @cf/meta/llama-3.1-8b-instruct-fast机器翻译:重要文本请务必审核。

商业与合规数据

适用于需要在交易前核查交易对手的 Agent 的 6 个工具。所有工具读取免费的官方来源(或我们自己的缓存),调用方无需提供密钥,并遵循此处所有路由的相同规则:调用失败(输入无效、上游服务不可用、超时)会返回 4xx/5xx,且不会结算,因此买方不会被收费。

工具来源条款
/api/vat欧盟委员会 VIES REST API欧盟委员会的公共服务。成员国服务不可用时会返回 HTTP 503,并附带 viesStatus,例如 MS_UNAVAILABLE,因此未知结果绝不会被报告为“无效”。部分国家(例如 DE、ES)会确认有效性,但不披露名称和地址:这些字段为 null。
/api/iban根据 SWIFT IBAN 注册结构(第 101 版)在本地计算不访问网络,不查询银行名称或 BIC(未捆绑任何开放数据集;响应中会注明 bankLookup: false)。仅在存在公开算法时才会应用国家校验位(FR、ES、IT、BE、NL 的 ABNA/INGB/RABO、NO、FI、PL、PT、RS、ME、MK、XK、SI);其他国家会报告 not-available。德国没有通用的国家级算法。
/api/leiGLEIF 全球 LEI 索引CC0 公共领域数据。无需密钥。
/api/recallsopenFDA 执法报告(食品、药品、器械)和 CPSC SaferProducts.gov 召回 APIopenFDA 数据根据其使用条款属于公共领域(不可用于医疗决策)。CPSC 不对召回分类:其严重程度根据危害文本推导,FDA 的 Class I/II/III 分别对应高/中/低。
/api/violations美国劳工部 Data API v4(OSHA)和 EPA ECHO美国政府作品。OSHA 需要可选的 DOL_API_KEY 密钥:未设置时,该路由只返回 EPA 数据,并注明 OSHA 已关闭。记录按名称匹配,显示检查和案件,而非定罪结果。
/api/uk-insolvencyThe Gazette,通过我们自己的每晚缓存(gazette-cache.sitecheck-api.workers.dev,覆盖最近 8 个英国日期)。不会直接调用 The Gazette。Open Government Licence v3.0。答案附带缓存的 dataTimestamp 和任何 missingDays。设置 COMPANIES_HOUSE_API_KEY 时,可选补充 Companies House 数据(状态、注册日期、SIC 代码、地址;每次调用最多 10 条)。

遵守 Workers 限制:每次上游调用都有超时(最多 10 秒)和 SiteCheck/1.x User-Agent;每个工具的子请求数都远低于 50;每次请求不会解析大型内容(会扫描 The Gazette 文本,只解析匹配的公告)。在适用的情况下,稳定的上游答案会通过 Cache API 缓存。

curl -s "https://api.sitecheck-api.workers.dev/api/vat?number=DE811907980"        # 402 first: pay with any x402 client

MCP 服务

https://api.sitecheck-api.workers.dev/mcp 是远程 MCP 服务(Streamable HTTP、无状态、以 JSON 格式返回答案)。每个付费端点都是一个 MCP 工具,使用相同的输入架构(read、pdf、tech、email_check、domain、solana_token、vat、lei 等),价格也相同。

付款使用 x402 MCP 传输:不带付款信息的 tools/call 会返回 isError,并在 structuredContent 中包含 x402 PaymentRequired 对象;客户端为一个选项签名,然后在 params._meta["x402/payment"] 中附上 PaymentPayload,再次调用;答案会在 result._meta["x402/payment-response"] 中包含结算信息。失败的工具调用不会结算。每次调用都会在 Worker 内部通过相应的 /api 路由重放,因此 MCP 和 HTTP 买家会经过相同的付款检查。

import { createx402MCPClient } from "@x402/mcp";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const client = createx402MCPClient({
  name: "my-agent", version: "1.0.0",
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }], // a viem account holding USDC on Base
  autoPayment: true,
});
await client.connect(new StreamableHTTPClientTransport(new URL("https://api.sitecheck-api.workers.dev/mcp")));
const page = await client.callTool("read", { url: "https://docs.x402.org/introduction" }); // pays $0.002

不支持 x402 的 MCP 客户端(例如普通远程连接器)可以列出工具并查看各自的价格,但调用时会返回付款要求,而不是结果。

网络

网络CAIP-2USDCFacilitator
Baseeip155:84530x8335…2913PayAI
Solanasolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpEPjF…Dt1vPayAI
Arceip155:50420x3600…0000Circle Facilitator Service

所有网络上的价格都相同。买家只需准备 USDC:EVM 付款使用 EIP-3009 签名,gas 和 Solana 手续费由 facilitator 支付。来源和设计决策:docs/NETWORKS.md。

试用

curl -si "https://api.sitecheck-api.workers.dev/api/audit?url=example.com" \
  | grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 -d
# {"x402Version":2,"error":"Payment required", ..., "accepts":[{ "network":"eip155:8453", "amount":"20000", ... }, ...]}

使用任意 x402 客户端付款。使用 @x402/fetch 和 viem 账户在 Base 或 Arc 上付款:

import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.EVM_PRIVATE_KEY);  // holds a little USDC
const client = x402Client.fromConfig({
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],   // Arc: "eip155:5042"
  // Arc only: its USDC is not in @x402/evm's built-in asset list yet, so opt in (cap: $0.10 per call).
  // spendControls: { allowedAssets: [{ network: "eip155:5042", asset: "0x3600000000000000000000000000000000000000", maxAmountPerPayment: "100000" }] },
});
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://api.sitecheck-api.workers.dev/api/audit?url=example.com");
console.log(await res.json());

使用 @x402/svm 和 @solana/kit 签名者在 Solana 上付款:

import { readFileSync } from "node:fs";
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { ExactSvmScheme } from "@x402/svm/exact/client";
import { createKeyPairSignerFromBytes } from "@solana/kit";

const signer = await createKeyPairSignerFromBytes(Uint8Array.from(JSON.parse(readFileSync("buyer.json", "utf8"))));
const client = new x402Client().register("solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp", new ExactSvmScheme(signer));
const pay = wrapFetchWithPayment(fetch, client);
console.log(await (await pay("https://api.sitecheck-api.workers.dev/api/audit?url=example.com")).json());

每个端点都会通过 x402 Bazaar 发现扩展声明其输入架构和输出示例,因此 Agent 无需阅读文档即可发现并调用它。

演示 Agent

scripts/demo-agent.mjs 会通过 /.well-known/x402 发现 API,在你选择的网络上支付一次审计费用,并打印结果和交易链接:

node scripts/demo-agent.mjs --network base     # or arc, solana

首次运行时,它会在 Git 忽略的文件中创建一个一次性钱包(Base 和 Arc 使用 .env.evm,Solana 使用 .env.solana),并打印钱包地址。请在相应网络上为其充值约 0.10 USDC;一次审计费用为 0.02 USDC,无需 ETH 或 SOL。--dry-run 会在付款前停止,--url 可将其指向其他部署。

设计说明

  • 只为结果付费。 结算在处理程序运行后进行。如果模型或上游服务失败,处理程序会返回错误状态且付款不会结算,因此买家不会被扣费。这适用于所有三个网络,并由测试覆盖。
  • 一个路由,多个网络。 每个路由都会为每个已配置的网络列出一个 x402 accepts 条目。Base 和 Solana 通过 PayAI 结算。Arc 在其无需密钥的试用模式下通过 Circle 的 Facilitator Service 结算:每个请求都附带由 Arc 收款钱包密钥签名的卖家证明(见下文)。每个 facilitator 客户端只会报告分配给它的网络(lib/payments.js)。
  • 兼容 Workers 的 x402 中间件。 Worker 无法等待由另一个请求创建的 promise,而 x402 中间件采用延迟初始化。每个请求都会构建并初始化自己的中间件,直到其中一个完成;随后会复用该中间件(lib/app.js)。
  • 仓库中不存放密钥。 收款地址位于 wrangler.toml 的 [vars] 中(默认为空)。Arc 卖家密钥(或备用的 Circle API 密钥)是 Worker Secret。辅助脚本会将钱包保存在 Git 忽略的 .env.* 文件中。
Arc:Circle 的免密试用与热钱包

Circle Facilitator Service 通常需要 API 密钥,而在主网上,这还需要一个已绑定信用卡的 Circle 账户。SiteCheck 改用 Circle 的免密试用。每个 /verify 和 /settle 请求都会携带 Facilitator-Seller-Proof 标头:由控制 Arc payTo 的密钥生成的 EIP-712 签名,并绑定到路由、精确的请求正文和一个新鲜 nonce(lib/sellerProof.js、lib/circle.js)。

代价是:该密钥必须保存在 Worker 中,作为机密 ARC_SELLER_KEY。因此,Arc 的 payTo 是一个专用热钱包,仅用于收款。所有者会定期将资金转入冷钱包(scripts/sweep-arc.mjs),因此即使密钥泄露,最多也只会暴露上次转账以来收到的款项。试用额度也有限,Circle 不会公布具体额度。额度用完后,Circle 会返回 403 registration_required。支付不会结算,买家也不会被收费;Worker 会记录此事,而 GET /health 会显示 arc.trialExhausted: true。此后,Arc 需要 Circle API 密钥,否则就必须关闭。详情:docs/NETWORKS.md。

运行自己的实例

npm install
npm test                    # no network needed: the facilitators and Panta are mocked
npx wrangler dev            # local

部署:在 wrangler.toml 中设置 account_id 和至少一个收款地址(或通过 --var 传入)。对于 Arc,请先创建热钱包并存储其密钥:

node scripts/new-arc-wallet.mjs            # Arc only: prints the new address; the key goes to .env.arc-seller
npx wrangler secret put ARC_SELLER_KEY     # paste the key from .env.arc-seller
npx wrangler secret put PANTA_API_KEY      # optional: a pk_live_... key switches the prediction-market tools on
npx wrangler secret put DOL_API_KEY        # optional: switches OSHA on in /api/violations
npx wrangler secret put COMPANIES_HOUSE_API_KEY   # optional: enriches /api/uk-insolvency rows
npx wrangler deploy
node scripts/sweep-arc.mjs --to 0xYourColdWallet          # later, regularly: shows what it would send
node scripts/sweep-arc.mjs --to 0xYourColdWallet --yes    # sends it
变量网络说明
PAY_TOBaseEVM 地址
PAY_TO_SOLANASolana钱包地址;必须已拥有 USDC 代币账户
ARC_SELLER_KEY (secret)Arc专用 Arc 收款钱包的私钥;启用 Arc 并设置其 payTo
PAY_TO_ARCArc与 ARC_SELLER_KEY 一起使用时为可选项(若设置,必须与密钥对应的地址一致);没有卖家密钥时,这是与 CIRCLE_API_KEY 一起使用的 Arc 地址
CIRCLE_API_KEY (secret)Arc仅作备用,在未设置 ARC_SELLER_KEY 时使用
FACILITATOR_URLBase、Solana默认值为 https://facilitator.payai.network
FACILITATOR_URL_ARCArc默认值为 https://api.circle.com/v1/facilitator/x402
PANTA_API_KEY (secret)all启用预测市场工具:npx wrangler secret put PANTA_API_KEY(参见 docs/PANTA.md)
PANTA_BASE_URLall默认值为 https://live-api.panta.market/api/v1
DOL_API_KEY (secret)all可选:在 /api/violations 中启用 OSHA:npx wrangler secret put DOL_API_KEY。不设置时,该路由仅使用 EPA
COMPANIES_HOUSE_API_KEY (secret)all可选:在 /api/uk-insolvency 中启用 Companies House 数据补充:npx wrangler secret put COMPANIES_HOUSE_API_KEY

将地址留空即可关闭相应网络。GET /health 会显示哪些网络已启用、其他网络未启用的原因,以及 Panta 工具是否已启用。对于 Arc,它还会显示身份验证模式、收款地址和试用状态。

许可证

MIT

主网交易

三个网络上的真实 x402 结算:

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。