mcpField
D
deadchannel

deadchannel

ローカル
github.com/plus8bitセキュリティ18 週間前に更新

deadchannel について

deadchannel は、AI エージェント向けの x402 エンドポイント検査サービスです。支払い前に到達性、価格の妥当性、安全性を判定し、リスクスコアと問題点を返します。

主な機能

  1. 01到達性と応答安定性の確認
  2. 02x402 支払い要件の解析
  3. 03価格・送金先・ネットワークの検査
  4. 04応答スキーマと検索メタデータの確認
  5. 05判定と 0~100 のリスクスコア

活用シーン

  1. 01支払い前の x402 サービス審査
  2. 02サービスカタログの一括監査
  3. 03CI で不良エンドポイントを遮断

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"plus8bit-deadchannel": {
"command": "npx",
"args": [
"-y",
"deadchannel-mcp"
],
"env": {
"DEADCHANNEL_PRIVATE_KEY": "<DEADCHANNEL_PRIVATE_KEY>",
"DEADCHANNEL_URL": "<DEADCHANNEL_URL>"
}
}
}
}
起動コマンドnpx -y deadchannel-mcp
設定が必要な環境変数
DEADCHANNEL_PRIVATE_KEYシークレットPrivate key of a wallet holding a little USDC on Base. It signs payments locally and never leaves the machine. Not needed for the free health check.
DEADCHANNEL_URLOverride the service endpoint. Defaults to https://deadchannel.vercel.app

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmdeadchannel-mcp0.1.1

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
urlstringはい確認する x402 リソース URL
methodstringいいえリソースが想定する HTTP メソッド(判明している場合)
samplesnumberいいえプローブ回数。1~5(デフォルトは 2)

詳細

deadchannel と Hosaka

x402 経由で AI エージェントにサービスを販売し、呼び出しごとに USDC で支払います。サインアップも、API キーも、サブスクリプションも不要です。エージェントが呼び出して支払い、回答を受け取ります。

販売内容価格
Hosaka企業が利用しているサードパーティベンダーを、自社の DNS から証明した情報と連絡先$0.005 – $0.40
deadchannelx402 エンドポイントが稼働しているか、価格が適正か、安全に呼び出せるか$0.005

エージェントは Hosaka をスキルとしてインストールできます。スキルは、何のためのものか、いつ使うべきかをエージェントに伝えます。

npx skills add plus8bit/deadchannel/skills/hosaka --yes

Hosaka — エージェント向け企業データ

MCP サーバーとして利用できるため、どの MCP クライアントからでも直接購入できます。

npx -y hosaka-mcp
{
  "mcpServers": {
    "hosaka": {
      "command": "npx",
      "args": ["-y", "hosaka-mcp"],
      "env": { "HOSAKA_PRIVATE_KEY": "0x…" }
    }
  }
}

HOSAKA_PRIVATE_KEY は、Base 上で少量の USDC を保有するウォレットです。4 つの価格帯で 4 つのツールを提供するため、簡単な質問に高額な回答の料金を支払う必要はありません。

ツール価格得られる情報
hosaka_lookup$0.005ドメインの取得時期、レジストラ、メールおよび DNS プロバイダー、DMARC、HTTPS、ベンダー数
hosaka_contacts$0.02企業の概要に加え、企業自身が公開しているメールアドレスと電話番号
hosaka_dossier$0.02企業が利用していると証明できるすべてのサードパーティベンダーと、それぞれの証拠
hosaka_people$0.35企業の概要に加え、そこで働く実名の人物

企業の概要に価値がある理由。 企業は購入する SaaS 製品ごとに DNS 検証レコードを設定してドメインの所有権を証明し、利用するすべての送信元を SPF レコードで承認します。この 2 つのリストは、企業自身が公開した購入履歴です。

figma.com を問い合わせると、Anthropic、OpenAI、Adobe、Atlassian、MongoDB Atlas、Greenhouse、Docusign、Stripe、Notion、Dropbox、Zendesk が返されます。それぞれに、それを証明する正確なレコードが付いているため、購入者は信頼するだけでなく、自分で確認できます。

ページのフィンガープリントには、読み込まれたスクリプトまたは CDN ホストが必要です。単に言及されているだけでは不十分です。ベンダーのロゴを連携サービス一覧に掲載しているサイトは、そのベンダーを利用しているサイトではありません。

hosaka-agents.vercel.app で公開中です。

deadchannel — x402 エンドポイントのリスクオラクル

URL を渡すと、そのエンドポイントが稼働しているか、価格が適正か、安全に呼び出せるかを、1 セントも使わずにエージェントに伝えます。

調査した x402 エンドポイントの約 17% は停止しているか、罠です。さらに、Bazaar のディスカバリーレイヤーは、独自の説明によればランキング、品質、評判のシグナルを提供していません。そのカタログから選ぶエージェントは、実際のお金を使って推測することになります。

チェック項目

すべての判定は、支払いを伴わない 402 応答に基づいています。そのため、カタログ全体を調べられるほど低コストです。

シグナル検出する内容
reachableエンドポイントが一貫して応答するか
bot-gateブラウザーには正常な 402 が返る一方、エージェントにはボット用の遮断画面が返るか — インデクサーからエンドポイントが見えなくなります
speaks-402解釈可能な支払い要件を返すか(v1 の本文と v2 の payment-required ヘッダーの両方)
gate-closed表示価格を実際には適用していないか — 誰でもコンテンツを無料で取得できます
price-sane価格が $0.0001–$5 の範囲内か。上限を超えると、1 回の呼び出しで予算を使い果たす可能性があります
price-stable数秒間隔のプローブ間で見積価格が変動しないか
pay-to-valid支払先アドレスがそのチェーンで正しい形式であり、バーンアドレスではないか
network-mainnetテストネットのみではなく、実際の価値を保有できるネットワークで決済するか
network-knownチェーン識別子を認識できるか(CAIP-2 または一般名)
schema-advertised支払い前にエージェントが応答の形式を把握できるか
bazaar-metadataトピック検索で見つけられるよう、serviceName / tags を公開しているか
latencyp99 が、エージェントが通常許容する 5 秒以内か
spec-cleanペイロードがドキュメントに記載された形式と一致するか。不一致は報告され、無視されません

判定結果は live、degraded、trap、testnet、dead、unknown と、上限と下限のある 0–100 のリスクスコアです。

使用方法

Node 22+ が必要です。ランタイム依存関係はありません。型はネイティブに削除されるため、ビルド手順も、このリポジトリ以外に監査するものもありません。

node src/cli.ts https://x402.org/protected
node src/cli.ts --quiet --samples 5 url-a url-b url-c
node src/cli.ts --json url > verdict.json

対象のいずれかが trap または dead の場合、終了コードはゼロ以外になります。そのため、問題のあるエンドポイントを指定したエージェントをリリースしないためのガードとして CI に組み込めます。

TESTNET   risk 80   $0.01  355ms p99  https://x402.org/protected
  x network-mainnet   Only testnet networks offered (base-sepolia, solana-devnet).
                      This endpoint cannot accept real value.
  ! schema-advertised No input or output schema. An agent has to pay before it
                      can find out what it gets back.

初回の全カタログスキャン — 2026 年 8 月 20 日

node src/scan.ts --live 150 は、公開されている Bazaar のファシリテーターが公開するすべてのリソースを取得し、監査します。14,979 件を超えるリソースの結果:

上位 3 つの支払いアドレスが保有するカタログ18.4%。受け取る呼び出しは 80 回に 1 回
検索用タグを付けずに公開40.9% — トピックで検索するエージェントには見つかりません
すべてのチェックに合格56.8%
最も利用されている 150 件のうち、現在稼働中91.3%
最も利用されているリソースのうち、本当に停止しているもの2.0%

価格の中央値は 0.01 ドル、範囲は 0~1,000 ドル、過去 30 日間の有料呼び出しは 316,927 件です。

カタログは、よく語られる噂よりも良好な状態です。ただし、均等に分布しているわけではありません。3 つのアドレスが合わせて 2,750 件のリソースを掲載している一方で、受け取る呼び出しは 80 回に 1 回であり、提供する需要に対して約 15 倍も過剰に掲載されています。カタログの規模は、カタログの充実度を意味しません。

カタログ監査

訂正と、同じ誤りを繰り返さないためのガード

この表の以前のバージョンでは、カタログの 89.8% がタグを付けずに公開されていると記載していました。これは誤りでした。ローダーが extensions.bazaar.tags しか読み込んでいなかった一方で、ほとんどの公開者はアイテムのルートにタグを付けていました。実際の数値は 40.9% です。

存在する件数を確認していなかったため、このバグはレビューをすり抜けました。不足しているものだけを数えるチェックでは、「公開者がこれを省略している」のか、「こちらが間違った場所を見ている」のかを見分けられません。現在は test/catalog.test.ts が、ライブカタログから取得した 200 件のスライスについて、既知の 3 つの場所すべてにあるタグを手作業で数え、ローダーが両方向で正確に一致することを確認しています。

実環境での知見

仕様だけでなく、ライブエンドポイントを使って構築しています。

  • v2 では支払い要件が base64 の payment-required ヘッダーに移され、本文は {} のままです。本文しか読み取らないパーサーは、公式リファレンスエンドポイントを停止中と判定します。
  • v2 では CAIP-2 ネットワーク ID(eip155:84532、solana:EtWTRA…)が送信されます。v1 では分かりやすい名前が使われていました。両方が同時に稼働しています。
  • v2 では maxAmountRequired が amount に改名され、共通の resource メタデータがペイロードのルートに移されています。
  • 一部のサーバーは、リファレンス実装ではすべて送信されるトップレベルの x402Version を省略しており、また一部では、ドキュメントに記載されているよりも 1 階層深い位置に accepts[] がネストされています。どちらも拒否せずに解析し、警告として報告します。
  • ほとんどのリソースは POST です。 GET でプローブすると 404/405 が返され、停止中のエンドポイントとまったく同じように見えます。このため、最初のライブプローブでは停止率が 25% になりましたが、実際の数値は 2.7% です。現在はカタログから HTTP メソッドを取得し、不明な場合は POST で再試行します。停止率が高いと報告する x402 インデックスは、これが原因でないか確認する価値があります。
  • 検索メタデータは分散しています。 仕様では serviceName/tags は ResourceInfo オブジェクトにありますが、CDP カタログではアイテムのルートにフラット化され、少数の項目では extensions.bazaar の下にネストされています。1 か所だけ読むと、件数を半分ほどしか数えられません。
  • ブローカー経由の決済レールも存在します。 AWS Marketplace のリソースでは、チェーンアドレスではなく、aws:base ネットワーク上の URN で支払い先を指定します。これは正当な形式ですが、資金はブローカーに送られるため、無効な支払い先として採点せず、警告として報告します。

販売

このサービスは x402 経由で独自のチェックを販売します。src/server/ は v2 HTTP トランスポートの販売者側を実装しています。認可フローでは、PAYMENT-REQUIRED を送信し、PAYMENT-SIGNATURE を受信し、PAYMENT-RESPONSE を返してから、検証、リソースの実行、決済へと進みます。

秘密鍵は不要です。 販売者は決済の受け取り先を指定し、購入者が署名してファシリテーターがブロードキャストします。そのため、受取アドレスは公開情報であり、誰も監査できないダッシュボードではなく、誰でも監査できる deadchannel.config.json に保存されています。

決済はプローブが結果を返した後にのみ実行されるため、こちら側で障害が発生しても購入者に費用はかかりません。

GET  /             service card, free
GET  /health       liveness, free
GET  /facilitator  proves credentials are accepted, free, moves no money
POST /probe        the check, $0.005 in USDC on Base

GET /facilitator があるのは、認証情報の誤りがあると、誰かが支払いを試みるまで気づけず、最初にそれを発見するのが顧客になってしまうためです。

稼働状況

このサービスは https://deadchannel.vercel.app にデプロイされており、Base メインネットで 1 回あたり $0.005 で販売し、Coinbase ファシリテーターを通じて決済しています。

初回の決済完了取引:0x6ac4a22c、ブロック 50230005、2026 年 8 月 20 日。ガス代を支払ったのは購入者ではなくファシリテーターです。x402 では購入者は署名するだけなので、USDC しか保有していないウォレットでも支払えます。

npm run validate を実行すると、Bazaar がリソースのインデックス登録前に適用する 25 件の事前チェックが再実行され、リスティングが現在有効かどうかが報告されます。キーは不要で、資金も移動しません。

resource : https://deadchannel.vercel.app/probe
valid    : true
accepted : accepted
checks   : 25/25 passed
indexed  : active=true

Hosaka

同じ受取アドレスを使い、企業情報をエージェントに販売する 2 つ目のショップです。

POST /lookup    $0.005  domain age, registrar, mail and DNS provider, DMARC, HTTPS
POST /dossier   $0.02   every third-party vendor we can prove, with the proof

https://hosaka-agents.vercel.app で稼働しており、Base メインネットで決済しています。

プロフィールは、キーもサプライヤーも不要な 4 つの情報源から作成されます。HTTPS 経由の DNS、RDAP レジストリ、TLS ハンドシェイク、ホームページです。プロフィールあたりのコストはゼロで、利益は情報の集約によって生まれます。

興味深いのは、ベンダーの検出です。企業は、購入した各 SaaS 製品に DNS 検証レコードを配置して所有権を証明し、SPF レコードで使用する各送信者を承認します。この 2 つのリストは、企業自身が公開した購入履歴です。各主張には、それを証明するレコードが付いているため、購入者は信頼するだけでなく、自分で確認できます。

Claude または ChatGPT からの利用

Bazaar の検索はクエリを無視し、ユニークな支払者数で順位を付けるため、品質にかかわらず新しいショップはそこで見つかりません。初日から機能する経路は MCP です。エージェントはすでに、MCP に対応したクライアント内にいるためです。

{
  "mcpServers": {
    "hosaka": {
      "command": "node",
      "args": ["/absolute/path/to/src/hosaka/mcp/server.ts"],
      "env": { "HOSAKA_PRIVATE_KEY": "0x…" }
    }
  }
}

購入者は自分のウォレットを用意します。キーはローカルで支払いに署名し、マシンの外に出ることはありません。キーがない場合、会話の途中で失敗するのではなく、不足しているものをツールが伝えます。

開発

npm install     # typescript only, for typechecking
npm test        # 18 tests, no network required
npm run typecheck

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。