mcpField
R
Region Fetch

Region Fetch

本地服务
regionfetch.dev浏览器自动化08 周前更新

关于 Region Fetch

Region Fetch 是面向 MCP 客户端的服务,可按指定国家视角抓取公开 HTTPS URL。它返回带 Ed25519 签名的来源凭证,并在交给模型前验证凭证和响应内容。

主要功能

  1. 01按指定国家抓取公开 HTTPS URL
  2. 02支持 HTTP 与浏览器模式
  3. 03生成 Ed25519 签名凭证
  4. 04验证凭证签名和响应正文

适用场景

  1. 01检查网站在不同国家的呈现内容
  2. 02验证一次抓取结果的来源和内容完整性

MCP 相关

MCP 服务通过 stdio 提供一个 `regionfetch` 工具,用于指定国家抓取 URL 并返回经过验证的凭证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dev-regionfetch": {
"command": "npx",
"args": [
"-y",
"regionfetch-mcp"
],
"env": {
"REGION_FETCH_WALLET_PRIVATE_KEY": "<REGION_FETCH_WALLET_PRIVATE_KEY>",
"REGION_FETCH_MAX_PAYMENT": "<REGION_FETCH_MAX_PAYMENT>",
"REGION_FETCH_BASE_URL": "<REGION_FETCH_BASE_URL>",
"REGION_FETCH_PAYMENT_SIGNATURE": "<REGION_FETCH_PAYMENT_SIGNATURE>"
}
}
}
}
启动命令npx -y regionfetch-mcp
需要配置的环境变量
REGION_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmregionfetch-mcp0.1.1

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是要获取的公共 HTTPS URL。
modeenum否http 表示轻量级请求;browser 表示渲染 JavaScript。默认为 http。http | browser
countryenum是请求应从哪个国家/地区发出。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_URLhttps://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_MS120000单次请求超时时间。
REGION_FETCH_ALLOW_INSECURE_HTTP0允许使用 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

评论

支持 Markdown

第一次接触 MCP?

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

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