关于 Region Fetch
Region Fetch 是面向 MCP 客户端的服务,可按指定国家视角抓取公开 HTTPS URL。它返回带 Ed25519 签名的来源凭证,并在交给模型前验证凭证和响应内容。
主要功能
- 01按指定国家抓取公开 HTTPS URL
- 02支持 HTTP 与浏览器模式
- 03生成 Ed25519 签名凭证
- 04验证凭证签名和响应正文
适用场景
- 01检查网站在不同国家的呈现内容
- 02验证一次抓取结果的来源和内容完整性
MCP 相关
MCP 服务通过 stdio 提供一个 `regionfetch` 工具,用于指定国家抓取 URL 并返回经过验证的凭证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y regionfetch-mcpREGION_FETCH_WALLET_PRIVATE_KEY密钥Private key of a funded Base wallet. The server signs one fresh x402 authorization per tool call. Keep it in the host's env block; it is never a tool argument.REGION_FETCH_MAX_PAYMENTPer-payment ceiling, for example "$0.10". Use "off" to disable the cap.REGION_FETCH_BASE_URLDeployment origin.REGION_FETCH_PAYMENT_SIGNATURE密钥A single pre-made x402 authorization. Funds exactly one request, so this is for one-shot testing only; prefer the wallet key.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
1收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 要获取的公共 HTTPS URL。 |
| mode | enum | 否 | http 表示轻量级请求;browser 表示渲染 JavaScript。默认为 http。http | browser |
| country | enum | 是 | 请求应从哪个国家/地区发出。US | DE | JP | BR | IN |
详细介绍
regionfetch-mcp
适用于 Region Fetch 的 MCP 服务 — 以特定国家/地区访客所见的方式,获取一个公开的 HTTPS URL,并提供经过签名的 Ed25519 凭证,证明获取内容的来源。
预发布版本。 尚未发布到 npm。请从源代码构建: https://github.com/regionfetch/regionfetch
npx -y regionfetch-mcp
Node 20.11+。stdio 传输。仅公开一个工具:regionfetch。
配置
钱包模式(推荐)
{
"mcpServers": {
"regionfetch": {
"command": "npx",
"args": ["-y", "regionfetch-mcp"],
"env": {
"REGION_FETCH_BASE_URL": "https://regionfetch.dev",
"REGION_FETCH_WALLET_PRIVATE_KEY": "0x...",
"REGION_FETCH_MAX_PAYMENT": "$0.10"
}
}
}
}
每次调用工具时,服务都会签署一份全新的 x402 授权。这是唯一能在首次请求后继续正常工作的配置。
静态签名(仅用于测试)
"env": { "REGION_FETCH_PAYMENT_SIGNATURE": "<one x402 authorization>" }
一份授权只能支付一次请求,因此第二次调用工具会失败。服务启动时会在 stderr 中说明这一点。适用于一次性的兼容性检查,不适用于持续运行的服务。
同时配置两种模式时,优先使用钱包模式。
环境变量
| 变量 | 默认值 | 用途 |
|---|---|---|
REGION_FETCH_BASE_URL | https://regionfetch.dev | 部署源站。末尾的 /api 会被移除。 |
REGION_FETCH_WALLET_PRIVATE_KEY | — | 已注资的 Base 钱包密钥。启用钱包模式。 |
REGION_FETCH_MAX_PAYMENT | $0.10 | 单笔支付上限。off 可禁用此限制。 |
REGION_FETCH_PAYMENT_SIGNATURE | — | 一份预先创建的授权。 |
REGION_FETCH_RPC_URL | — | 构建支付时用于链上读取的 RPC 端点。 |
REGION_FETCH_TIMEOUT_MS | 120000 | 单次请求超时时间。 |
REGION_FETCH_ALLOW_INSECURE_HTTP | 0 | 允许使用 http:// 基础 URL。仅用于开发。 |
仍会读取旧版 GEOFETCH_BASE_URL、GEOFETCH_PAYMENT_SIGNATURE 和 PAYMENT_SIGNATURE,但规范名称优先。使用旧版变量时,会在 stderr 中报告其已弃用。
工具
regionfetch — url(https,≤ 2048 个字符)、country
(US | DE | JP | BR | IN)、mode(http | browser,默认值为 http)。
结果使用 v1 信封格式:
{
"status": 200,
"ok": true,
"response": { "data": { "...": "..." }, "receipt": { "...": "..." } },
"verification": { "valid": true, "signatureValid": true, "bodyHashMatches": true }
}
verification 是一个附加字段:在将凭证交给模型之前,服务会使用部署已发布的密钥和返回的正文验证每份凭证。仅读取 status、ok 和 response 的使用方不会受到影响。
非 2xx 响应会原样保留上游状态和 JSON 正文,并设置 isError: true。终止性付费失败(502、504)会保留其签名凭证 — 它们是付费请求已发生的证据。
安全性
- 钱包密钥和支付授权绝不会作为工具参数接收、写入 stdout 或 stderr,也不会出现在工具输出中。
- stdout 仅承载 JSON-RPC;所有诊断信息都通过会脱敏的日志记录器发送到 stderr。测试会断言这两点。
- 仅声明
tools能力。不实现也不声明任何资源、提示词或订阅。
完整文档:https://github.com/regionfetch/regionfetch
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。