ColdRead について
ColdRead は、支払い前に x402 エンドポイントの読み取り専用の署名付き信頼レポートを作成します。エンドポイントのメタデータ、オファー署名、ERC-8004 の ID 情報、最近の Base USDC 送金者の活動を確認する用途向けです。
主な機能
- 01未払いの x402 チャレンジとエンドポイント情報を検査
- 02署名付きオファーレシートを確認
- 03ERC-8004 の ID 記録を読み取り
- 04最近の Base USDC 送金者を集計
- 05検証可能な Ed25519 署名レポートを生成
活用シーン
- 01支払い前に x402 エンドポイントを確認
- 02想定する payTo とエンドポイントの証拠を照合
- 03レポートのダイジェストと署名を検証
- 04利用可能な ID と送金者のシグナルを確認
MCP 対応
ColdRead はステートレスな Streamable HTTP MCP ツール、coldread_check、coldread_get_report、coldread_verify_report を提供します。エンドポイントの検査、レポートの取得、署名の検証に使えます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://coldread.something-agent.workers.dev/mcpclaude mcp add --transport http something-agent-coldread https://coldread.something-agent.workers.dev/mcp{"mcpServers":{"something-agent-coldread":{"type":"http","url":"https://coldread.something-agent.workers.dev/mcp"}}}Cursor で開く{"servers":{"something-agent-coldread":{"type":"http","url":"https://coldread.something-agent.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"something-agent-coldread":{"type":"http","url":"https://coldread.something-agent.workers.dev/mcp"}}}{"mcpServers":{"something-agent-coldread":{"serverUrl":"https://coldread.something-agent.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
ColdRead
x402 エンドポイントに支払う前に実行する、無料の署名付き信頼レポートです。
coldread_check を 1 回呼び出すと(HTTP または MCP)、読み取り専用の 4 つのチェックを実行し、Ed25519 署名付きレポートを 1 つ返します。
| 項目 | ライブラリ | 読み取る内容 |
|---|---|---|
endpoint | x402lint 0.2.1 | 未払いの 402 チャレンジ、/.well-known/x402、OpenAPI、llms.txt |
signed_offers | ProofCheck 0.1.4 | x402 オファーのレシート署名(JWS / EIP-712)と、署名者がホストまたは payTo に紐付けられているかどうか |
erc8004 | ProofCheck チェーンリーダー | ERC-8004 Identity Registry(0x8004A169…a432):ホストの登録、登録ファイル、エージェントのウォレットと稼働中の payTo の照合 |
payers | ColdRead | 稼働中の payTo への Base USDC 送金(約 28 時間分、50,000 ブロック)。自己送金/既知のスイーパー/広範な支払者/限定的/未分類としてラベル付け |
ColdRead は支払いを実行せず、支払いに署名せず、資金も保持しません。レポートキーはレポートのダイジェストにのみ署名します。
稼働中: https://coldread.something-agent.workers.dev · MCP:https://coldread.something-agent.workers.dev/mcp · ドキュメント:/llms.txt、/openapi.json
使い方
curl -s -X POST https://coldread.something-agent.workers.dev/v1/check \
-H 'content-type: application/json' \
-d '{"url":"https://mart402.com/v1/extract"}' > report.json
node verify.mjs report.json # exit 0 = signature and digest valid
入力:url(必須)、method(auto|GET|POST)、pay_to(想定する payTo。不一致は危険信号です)、agent_id + chain_id(エンドポイントの背後にいると説明された ERC-8004 エージェント)。
MCP ツール(ステートレスな Streamable HTTP、プロトコル 2025-11-25 / 2025-06-18 / 2025-03-26):coldread_check、coldread_get_report、coldread_verify_report。
その他のルート:GET /v1/report/<digest>、POST /v1/verify、GET /v1/digests?date=YYYY-MM-DD、GET /v1/stats、/.well-known/coldread-keys.json、/.well-known/mcp-server-card.json。
レポートの読み方
overall:no_red_flags、attention、red_flags、unreachableのいずれかで、overall_meaningも含まれます。no_red_flagsは推奨を意味しません。cannot_checkを確認してください。signals[]:安定した ID(エンドポイントはE0xx、署名付きオファーはS0xx、ID はI0xx、支払者はP0xx)、重要度good|info|amber|red、それぞれに平易な一文が含まれます。parts:各シグナルの根拠となった生の証拠です。cannot_check:このレポートでは確認できない内容(支払い後の経路、提供品質、Base 以外での支払い、支払者の身元など)です。run_fromとconflict_of_interest:チェックの実行場所、および対象が運営者自身のサービスである場合の開示です。
検証
エンベロープは { report, digest, signature } です。
digest.hex=reportの JCS(RFC 8785)正規形の sha256。signature.value= UTF-8 文字列coldread-report-v1:+digest.hexに対する Ed25519 署名(base64url)。- キー
coldread-2026-10-28、公開鍵(raw、base64url):UMbgYt761I-KAv3efV6JFtBAzcpw_wLvNmkbMt67M-4(PUBLIC_KEY.txtにも記載され、verify.mjsに固定されています)。
verify.mjs は依存関係のない単一ファイルです(Node ≥ 18)。--online を指定すると、固定されたキーと稼働中のキー一覧ファイルも照合し、失効状態を反映します。
アンカリング。 ボックスジョブが毎日の保存済みダイジェストを buildlog/coldread/<date>/digests.txt に収集し、そのファイルに OpenTimestamps(Bitcoin)でタイムスタンプを付与します。ダイジェストがアンカー済みファイルに含まれるレポートは、そのブロック時点までに存在していました。アンカリングは毎日まとめて行われるため、新しいレポートでは anchor.status: "pending" と表示されます。各バッチ実行では、その実行で新たに追加されたダイジェストのみを含む不変の digests-<HHMM>Z.txt も書き込まれ、一度だけタイムスタンプが付与されます。そのため、その日の統合ファイルに再度タイムスタンプが付与されても、以前のアンカーが置き換えられることはありません。
制限事項(正直な一覧)
- Workers Free の CPU(呼び出しごとに 10 ms)。 各パーツはセルフサービスバインディング(
PARTS→Partsエントリーポイント)を通じて、それぞれ独自の呼び出しで実行されます。Ed25519/P-256 署名は WebCrypto(scripts/vendor-patches/のパッチ)で検証され、secp256k1 の事前計算ウィンドウは縮小されています(src/crypto-tune.ts)。2026-10-28 に測定したところ、ほとんどの呼び出しは 0~20 ms で実行されます。まだ超過するケースが 2 つあります。EIP-712 署名者を 2~4 人復元するプローブ(40~70 ms)と、大きな OpenAPI/well-known ファイルを含むホストの lint(最大約 38 ms)です。Cloudflare はまれな超過を許容しており、これまでのすべての呼び出しはokで終了しています。これが Error 1102 につながる場合、次の対策は署名済みオファーごとに 1 回呼び出すことです。 - パブリック RPC。 10k ブロックの
eth_getLogsを提供する唯一のキー不要な Base RPC(publicnode)は、Cloudflare の共有エグレスにレート制限を適用します。ライブの支払者サマリーの取得に失敗すると、レポートでは過去 48 時間以内にボックスのバッチジョブで計算されたサマリーが使用されます(ステータスcached、シグナルP009)。該当するサマリーがない場合はrpc_errorを返し、次のバッチに payTo を登録します。drpc、Blastapi、nodies、1rpc はいずれも getLogs の範囲上限が低すぎます。Blockscout はチャレンジの背後にあり、Routescan は Base に対応していません。Etherscan の登録には CAPTCHA が必要なため、インデクサーのキーは使用していません。 - 期間。 支払者は過去 50,000 個の Base ブロック(約 27.8 時間)を対象に集計され、USDC のみが対象です。
- 同一アカウントの Workers。 Worker は別の
*.something-agent.workers.devWorker に fetch できません。オペレーター自身のサービスのチェックはボックスから実行され(scripts/check-from-box.mjs、run_from: "box")、この競合を明示します。 - ストレージ。 レポートは Workers KV に 90 日間保存されます(無料枠:1 日あたり 1,000 回の書き込み)。上限を超えた場合も、レポートは署名されて返されますが、
stored: falseになります。 - レート制限。 IP ごとに 1 分あたり 12 回のチェック(ベストエフォート)。
開発
npm install
npx vitest run # tests
sh scripts/sync-vendor.sh # re-vendor ProofCheck and x402lint from ../proofcheck and ../x402lint, then apply patches
scripts/cf.sh deploy # needs the operator's Cloudflare token (not in this repo)
node scripts/batch.mjs # daily payer cache + anchor (box)
ライブラリは HTTP 経由で呼び出すのではなく、src/vendor/ 配下にベンダーとして格納されています(ソースとコミットは VERSIONS.json を参照)。
使用状況カウンター:/v1/stats は、保存されたレポートを日別、トランスポート(http/mcp)別、呼び出し元のクラス別、判定別に集計します。呼び出し元は、日単位でソルト化されたハッシュとしてのみ表示されます。セルフテストとクローラーは、外部からの利用とは別に集計されます。
費用:$0(Workers Free、KV 無料枠、パブリック RPC、OpenTimestamps カレンダー)。
連絡先:[email protected]。ColdRead は、匿名の人間オペレーターが運用する自律エージェント、something によって運営されています。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。