readfetch について
readfetchは、x402の支払い署名を付けられないホスト向けのstdio MCPプロキシです。ツール呼び出しをReadFetchに転送し、402応答時の支払いと署名付き再試行を処理します。有料呼び出しにはUSDCを保有するBaseメインネットのウォレットが必要です。
主な機能
- 01無料のURLプローブツール
- 02ReadFetchツールの一覧取得と転送
- 03x402支払いと自動再試行
- 04支払い上限の設定
- 05無料の連携フィードバックツール
活用シーン
- 01テキスト取得前にURLを調査
- 02ReadFetchの有料ツールでページを取得
- 03支払いヘッダー非対応ホストからx402ツールを利用
- 04連携に関する問題を報告
MCP 対応
stdio MCPサーバーとして動作し、https://readfetch.com/mcpからツール一覧を取得して、tools/callを対応する/v1/{endpoint}へ送ります。HTTP 402の場合は@x402/fetchで支払い、再試行します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @readfetch/mcp-x402-proxyEVM_PRIVATE_KEYシークレットBase mainnet wallet for paid tools; omit for readfetch_probe and tools/list onlyREADFETCH_MAX_PAYMENT_USDMaximum USD per x402 authorization (default 1, max 100)READFETCH_MCP_URLUpstream MCP URL for tools/list (default https://readfetch.com/mcp)READFETCH_DEVSet to 1 for localhost/Sepolia dev only; never with production READFETCH_MCP_URLローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
readfetch MCP + x402 署名プロキシ
ほとんどの MCP ホスト(Cursor、Claude Desktop など)は、tools/call に PAYMENT-SIGNATURE を付加できません。
この stdio MCP サーバーは、https://readfetch.com/mcp からツールを一覧表示し、同じホスト上の /v1/{endpoint} に対して tools/call を実行します(そのため、HTTP 402 が発生すると @x402/fetch による支払いがトリガーされます)。再試行の署名も自動で行います。
要件
- Node.js 20+
- Base mainnet 上のウォレットと、有料ツール(
readfetch_textなど)用の少額の USDC。tools/listはキーを読み込みません。最初のtools/callで読み込みます。 - 環境変数に設定した秘密鍵 — 絶対にコミットしないでください
Cursor / Claude MCP の設定
{
"mcpServers": {
"readfetch": {
"command": "npx",
"args": ["-y", "@readfetch/[email protected]"],
"env": {
"EVM_PRIVATE_KEY": "0xYOUR_KEY"
}
}
}
}
チェックアウトから実行する場合:
{
"mcpServers": {
"readfetch": {
"command": "node",
"args": ["/absolute/path/to/readfetch/tools/mcp-x402-proxy/index.mjs"],
"env": {
"EVM_PRIVATE_KEY": "0xYOUR_KEY"
}
}
}
}
任意の設定:READFETCH_MCP_URL(デフォルトは https://readfetch.com/mcp。readfetch.com / www.readfetch.com の場合は https のみ。または、READFETCH_DEV=1 の場合は localhost / 127.0.0.1 / [::1])。上流からの リダイレクトは拒否されます。READFETCH_MAX_PAYMENT_USD(デフォルトは 1、最大 100)は、x402 の各認証額の上限を設定します。上流が readfetch.com の場合、支払い先は READFETCH_EXPECTED_PAYTO(デフォルトはカタログの受取人)と一致する必要があります。READFETCH_DEV=1 はローカル MCP URL 専用で、そこで Sepolia を有効にします。READFETCH_MCP_URL が本番環境を指している場合は、絶対に設定しないでください。
**ウォレットのリスク:**モデルが呼び出すツール(readfetch_crawl、バッチなど)は、ウォレットの残高がなくなるまでキーから USDC を支払う可能性があります(支払いごとの上限が適用されます)。残高の少ない専用ウォレットを使用してください。
チェックアウトからインストールする場合:
cd tools/mcp-x402-proxy
npm ci
git チェックアウト内での npm ci は、コミット済みの package-lock.json を使用します。npx @readfetch/mcp-x402-proxy は、package.json で固定された依存関係の正確なバージョンをインストールします(npm は公開 tarball にロックファイルを含めません)。
ローカルでのスモークテスト(チェックアウト)
npm ci && npm test
npm run smoke # readfetch_probe (free)
SMOKE_TOOL=readfetch_text npm run smoke # paid REST path; needs Base USDC
このディレクトリから実行してください — リポジトリのルートではありません:
cd tools/mcp-x402-proxy
npm login # user must own or belong to npm org @readfetch
npm publish --access public # first publish of a scoped package
誤り:ReadFetch/ からの npm publish @readfetch/mcp-x402-proxy(404 — ここには公開するものがありません)。
@readfetch org が npmjs.com に存在しない場合は、作成するか、package.json の name を一時的に自分が管理するスコープなしの名前に変更してください。
デフォルトのツール利用手順
{ "url": "…" }を指定してreadfetch_probeを実行します(無料。HTML の場合、ボットによるブロックページではなければ約 400 文字のpreviewが含まれることがあります)- 同じ
urlを指定してreadfetch_textを実行します - probe が
challenge: trueを報告した場合は、readfetch_scrapeを使用します(必要に応じて、その後readfetch_scrape_residentialを使用します)
フィードバック(統合に関する問題)
わかりにくい 402、MCP の結果、またはドキュメントとの不一致があった場合は、readfetch_feedback を呼び出してください(無料 — EVM_PRIVATE_KEY は不要です)。
{ "request_id": "<X-Request-Id from that call>", "category": "integration", "message": "…" }
有料コンテンツの提供に関する異議申し立てには、feedback ではなく POST /v1/claims を使用してください。詳細:readfetch.com/docs#feedback。
このプロキシを使用しない場合
- REST:
awal x402 pay https://readfetch.com/v1/text -d '{"url":"…"}'またはアプリ内の@x402/fetch - 直接 MCP URL: ホストが
/mcpへの HTTP リクエストに支払いヘッダーを設定できる場合に限り動作します
readfetch の統合方法 と SKILL.md も参照してください。
ディレクトリ: Official MCP Registry io.github.readfetch/mcp-x402-proxy · Glama への掲載手順は readfetch/readfetch docs/GLAMA.md を参照してください(運営者向け)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。