ScrapeCheck MCP
MCP server that verifies scraped web data by re-fetching source pages and returning ed25519-signed pass, fail, or unverifiable verdicts, with x402 in-band payment.
README
ScrapeCheck MCP — Verify Scraped Web Data Against Reality
Verify what you scraped for the price of scraping it. This MCP server
gives any agent a verification tool in its own toolbox: send a source URL,
the scraped field values, and what was asked — ScrapeCheck re-fetches the
page itself and returns an ed25519-signed verdict: pass, fail, or
unverifiable.
Endpoint: https://scrapecheck-mcp.fly.dev/mcp (streamable HTTP)
Payment: x402 in-band (USDC on Base) — no API key, no signup. A free
allowance per client identity is served before payment is required.
Tools
| Tool | Price | What it certifies |
|---|---|---|
verify_web_field |
$0.01 | Full verification: value present on the re-fetched live page, served live, and an independent LLM judge confirms it answers what was asked. Positive verdict: pass. |
verify_presence |
$0.002 | Presence only — does NOT confirm the value answers the question. Positive verdict: present, never pass. |
get_verifier_info |
free | The trust artifact: public key, benchmark summary, scope, endpoints. |
The trust guarantee is structural, not statistical
A claim is never certified unless ScrapeCheck independently re-fetches the
page and finds the claimed value there itself — and the judge's vote is
mechanically voided if its restatement of the claim doesn't match what was
actually claimed. Absence cannot pass, and substitution cannot pass. Anything
unconfirmed — a skipped check, a failed fetch, a judge that errors —
returns unverifiable, never pass.
Corroborated by benchmark (full verification only): 0 false passes across 67 frozen labeled cases (26 held out from all calibration, including adversarial traps where the claimed value appears on the page as the wrong thing), and 0 false passes across 21 live-web cases including 9 adversarial traps. Small-N corroboration of the structural guards — not a population accuracy claim.
Why trust this server's own claims?
Because you don't have to. Every verdict is ed25519-signed over canonical
sorted-key JSON of all fields except signature; the public key is served
at /pubkey and in-band via
get_verifier_info; and every verdict carries an engine digest identifying
exactly which prompt+calibration produced it. Verify offline — no need to
trust the transport, the storefront, or us.
Live, unfiltered run stats — misses included: scrapecheck.fly.dev/stats. A verifier that only shows its passes isn't showing anything.
Payment flow (x402 in-band)
Standard @x402/mcp v2 flow: an unpaid call past the free allowance returns
a PaymentRequired challenge in the tool result; pay with any x402 v2
client (e.g. wrapMCPClientWithPaymentFromConfig from @x402/mcp with an
EVM signer) and the retried call returns the verdict plus the on-chain
settlement in _meta["x402/payment-response"]. A refused or failed payment
never yields a verdict, and a verdict that fails to produce never settles —
you are charged only for completed work.
Integrator notes
- The full signed verdict object is in
structuredContenton the wire (and byte-identical as JSON incontent[0].text). Note:@x402/mcp's paying-client convenience result forwardscontentonly — parsecontent[0].textthere, or readstructuredContentwith a plain MCP client. - Input contract (frozen):
{ url, claim, asked }—claimis an object of field values, e.g.{"price": "£51.77", "in_stock": true}. - Scope (v1): server-rendered pages. Client-rendered (JS-only) content
returns
unverifiable— never a falsefail, never a falsepass. - The same engine is also sold as a raw x402 HTTP API
(
https://scrapecheck.fly.dev/verify) and as the Scrape QA Apify actor for batch dataset verification. One engine, one signing key, one durable log.
Verify a verdict yourself (offline)
This repo ships a zero-dependency verifier — check any ScrapeCheck verdict without trusting us, the transport, or this server:
node tools/verify-verdict.mjs examples/verdict.json --pubkey key.json
Omit --pubkey to fetch the current key from
/pubkey; pass it (an ed25519:…
string or a saved /pubkey response) to verify fully offline.
examples/verdict.json is a real production verdict
— alter any field and verification fails. A verdict is valid iff its ed25519
signature verifies over the canonical (recursively key-sorted) JSON of every
field except signature. MIT licensed — vendor the ~40 relevant lines into
your own pipeline freely.
About this repository
This repo contains the thin MCP storefront only — transport, payment handling, and tool registration. The verification engine (the anchored re-fetch, the lenses, the judge, the signing key, and the benchmark fixtures) runs at the ScrapeCheck origin and is not part of this codebase.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。