mcpField
A
AntFeed

AntFeed

ローカル
antfeed.orgAI・エージェント214 週間前に更新

AntFeed について

AntFeedは、AntSeed P2P AIネットワークを探索・利用するエージェント向けのMCPサーバーです。プロバイダー検索、価格や購入者・決済チャネルの確認に加え、ローカル購入者経由でセッションを開始できます。

主な機能

  1. 01アドレス、名前、サービス名でプロバイダーを検索
  2. 02価格や活動状況を含むプロバイダー一覧
  3. 03最新のサービス価格と決済チャネルの確認
  4. 04購入者履歴とネットワーク統計の確認
  5. 05検出されたローカル購入者経由でセッションを開始

活用シーン

  1. 01特定のサービスを提供するAntSeedセラーの検索
  2. 02取引前にプロバイダーの現行価格を確認
  3. 03購入者履歴やチャネルの決済状況を確認
  4. 04ローカルAntSeed購入者を使ってセッションを開始

MCP 対応

AntFeed Explorerのデータと購入者操作をMCPツールとして提供します。セッション作成ツールは起動時にローカルのAntSeed購入者が検出された場合のみ使え、未検出時は設定診断ツールが提供されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"augustas11-antfeed": {
"command": "npx",
"args": [
"-y",
"@antfeed/mcp"
],
"env": {
"ANTFEED_EXPLORER_URL": "<ANTFEED_EXPLORER_URL>",
"ANTSEED_BUYER_URL": "<ANTSEED_BUYER_URL>",
"ANTSEED_MAX_DEPOSIT_USDC": "<ANTSEED_MAX_DEPOSIT_USDC>",
"ANTSEED_BUYER_STRICT": "<ANTSEED_BUYER_STRICT>"
}
}
}
}
起動コマンドnpx -y @antfeed/mcp
設定が必要な環境変数
ANTFEED_EXPLORER_URLBase URL for the AntFeed Explorer REST API.
ANTSEED_BUYER_URLLocal AntSeed buyer RPC URL. Required only for the transactional `create_session` tool; omit for read-only use.
ANTSEED_MAX_DEPOSIT_USDCDefense-in-depth ceiling on `create_session` deposits, in USDC. Hard-capped at 10000.
ANTSEED_BUYER_STRICTSet to 1 to require the local buyer to identify itself via /health. Recommended on shared dev boxes.

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

パッケージ
npm@antfeed/mcp0.2.3

ツール

8

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

パラメーター型必須説明
limitintegerいいえページごとの最大一致数(デフォルト 50、最大 200)。
querystringはいaddress、displayName、またはいずれかのサービス名に対する部分文字列検索(大文字と小文字を区別しません)
cursorstringいいえ前回の呼び出しで返された不透明なページネーショントークン。最初のページでは省略します。

詳細

@antfeed/mcp

あらゆる MCP 対応 AI エージェントから AntSeed P2P AI ネットワークを検索し、取引できます。

Model Context Protocol サーバーです。AntFeed Explorer を、Claude Code、Cursor、Claude Desktop、その他あらゆる MCP ホストから利用できる、検索のためのワンラインの入り口にします。エージェント内から販売者の一覧表示、プロバイダーアドレスの検索、オンチェーン決済チャネルの確認ができ、ローカルで AntSeed buyer が実行中の場合は、新しいセッションを開始できます。


インストール

以下のブロックを ~/.claude.json(Claude Code)、claude_desktop_config.json(Claude Desktop)、または IDE の MCP 設定に追加してください。

{
  "mcpServers": {
    "antfeed": {
      "command": "npx",
      "args": ["-y", "@antfeed/mcp"],
      "env": {
        "ANTFEED_EXPLORER_URL": "https://www.antfeed.org",
        "ANTSEED_BUYER_URL": "http://localhost:8377"
      }
    }
  }
}

MCP ホストを再起動してください。サーバーは stdio 経由で起動し、以下のツールを公開します。


ツール

すべてのツールは、宣言された outputSchema に一致する型付きオブジェクト structuredContent と、古い MCP クライアント向けに同じペイロードを JSON としてシリアライズした content[0].text の両方を返します。アノテーション(readOnlyHint、destructiveHint、idempotentHint、openWorldHint)が公開されるため、Claude Desktop や Cursor などのホストは、破壊的な呼び出しの前に確認ダイアログを表示できます。

ツール入力出力アノテーションローカルの buyer が必要か?
lookupquery、limit?(1–200、デフォルト 50)、cursor?{ query, matches[], matched, totalMatched, searchedOver, explorerTotal, truncated, nextCursor? } — アドレス、表示名、サービス名に一致する検索結果読み取り専用、冪等いいえ
list_providerslimit?(1–200、デフォルト 50)、cursor?、sort?(score|recent){ providers[], total, sort, nextCursor? } — 各プロバイダーには displayName、region、services、pricingSummary、sessionCount、獲得した USDC、ghost rate が含まれます読み取り専用、冪等いいえ
get_pricingpeerId、service{ peerId, service, status, currency, inputUsdPerMillion, outputUsdPerMillion, displayName, region, lastUpdated } — AntFeed ディレクトリの最新の料金情報読み取り専用、冪等いいえ
get_session_statussessionId(channel_id、bytes32 hex){ sessionId, buyer, seller, status, channelBalance, settledAmountUsdc, totalDeltaUsdc, eventCount, settled, openedAt, closedAt }読み取り専用いいえ
network_stats(なし){ revenueUsdc, dau, drift, gasGwei, asOf, partialFailures[] } — ある時点のスナップショット(今日の /api/stats、/api/gas、/api/metrics/dau を並列取得します。エンドポイントごとの障害が発生した場合、そのフィールドは null になり、partialFailures に記録されます)読み取り専用いいえ
get_buyeraddress{ address, qualified, trustScore{…}, sessions{total, settledUsdc, monthlyVolume[]}, recentSessions[≤20], topSellers[] }読み取り専用、冪等いいえ
dau_trendfrom?(ISO 日付)、to?(ISO 日付)、granularity?(day){ from, to, granularity, series[{date, dau, dauBuyers, dauSellers, newUsers}] } — デフォルトの期間:過去 30 日間読み取り専用いいえ
create_sessionproviderPeerId、service、initialDepositUsdc、initialMessage?ローカル buyer からの { sessionId, status, channelAddress?, txHash? }破壊的はい
buyer_setup(なし)ローカルの AntSeed buyer をインストールするための診断手順読み取り専用起動時に buyer が検出されない場合、create_session の_代わりに_公開されます
例:上位プロバイダーを一覧表示する
// tool call
{ "name": "list_providers", "arguments": { "limit": 3, "sort": "score" } }

獲得した USDC の合計でランク付けした上位 3 人の seller を返します。ページネーションするには、返された nextCursor を次の呼び出しの cursor として渡します。

データソース

MCP は、以下の AntFeed Explorer エンドポイントをラップします。

  • GET /api/providers — プロバイダーディレクトリ(displayName、サービス、サービスごとの料金、リージョン、オンチェーン集計)。network.antseed.com から毎時更新されます。list_providers と lookup の基盤です。
  • GET /api/sellers/{address}/services — 1 つの販売者のサービスカタログと最新の料金。get_pricing の基盤です。
  • GET /api/channels — オンチェーン決済チャネルの記録。get_session_status の基盤です。
  • GET /api/stats — ネットワーク全体の集計(収益、セッション、ドリフト)。network_stats の基盤です。
  • GET /api/gas — 現在の Base ガス価格。network_stats の基盤です。
  • GET /api/buyers/{address} + GET /api/score/{address} — 購入者の詳細、セッション履歴、上位販売者、信頼スコアの内訳。get_buyer の基盤です。
  • GET /api/metrics/dau — UTC 日単位のデイリーアクティブユーザー。dau_trend と network_stats の DAU フィールドの基盤です。

クライアント側に残っている小規模な対応がいくつかあります。

  • サーバー側の /api/search はまだありません → lookup は /api/providers の最初のページに対して、クライアント側で部分文字列検索を実行します(アドレス、displayName、サービス名を対象に検索)。将来サーバー側エンドポイントが導入されれば、lookup は 1000 件を超えるプロバイダーにも対応できるようになります。MCP はクライアント側の変更なしで切り替わります。
  • チャネル単位の /api/channels/{id} はまだありません → get_session_status は /api/channels をページネーションし(last_activity desc でソート)、クライアント側で絞り込みます。5000 件より後のチャネルでは、SESSION_OUT_OF_RANGE が返される場合があります。

設定

すべての値は任意です。解決順序:--config file.json → 環境変数 → 組み込みのデフォルト値。

変数デフォルト値目的
ANTFEED_EXPLORER_URLhttps://www.antfeed.orgAntFeed Explorer REST API のベース URL。
ANTSEED_BUYER_URLhttp://localhost:8377ローカル AntSeed CLI 購入者 RPC。AntStation Desktop の場合は http://localhost:8378 を使用します。
ANTFEED_MCP_TIMEOUT_MS8000Explorer および購入者への呼び出しごとのタイムアウト。
ANTFEED_MCP_LOG_LEVELinfodebug、info、warn、error のいずれか。ログは stderr に出力されます(stdout は MCP stdio 用に確保されています)。
ANTSEED_BUYER_STRICT01 に設定すると、ローカル購入者の /health 応答で {"service":"antseed-buyer"} または {"service":"antstation"} と識別されることが必須になります。未設定の場合、MCP は任意の 200 応答を受け入れ、stderr に一度だけ警告を出します。共有開発環境では有効にすることを推奨します。
ANTSEED_MAX_DEPOSIT_USDC10create_session の initialDepositUsdc に対する上限値です。プロンプトインジェクションを受けたエージェントが大きな金額を動かすことを防ぐ、多層防御の一環です。購入者側でも独自の認証を適用します。これは MCP 側の追加上限です。

同じキー(camelCase:explorerUrl、buyerUrl、timeoutMs、logLevel、buyerStrict、maxDepositUsdc)を含む --config path/to/config.json を渡すこともできます。


購入者の自動検出

起動時、サーバーは 500 ms のタイムアウトで GET <ANTSEED_BUYER_URL>/health を確認します。

  • 到達可能 → create_session を登録します。
  • 到達不能 → 代わりに、インストール手順を案内する診断ツール buyer_setup を登録し、ツール一覧から create_session を除外します。

検出は起動時に一度だけ実行されます。購入者をインストールまたは起動した後は、MCP ホストを再起動してください。


エラーモデル

各ツールは、成功時には構造化ペイロードを返し、エラー時には isError: true と次の形式の構造化本文を含む MCP エラー結果を返します。

{ "error": { "code": "EXPLORER_DOWN", "message": "..." } }
コード意味
INVALID_INPUTツール引数の Zod 検証に失敗しました。
EXPLORER_DOWNエクスプローラーへの呼び出しでネットワークエラーまたはタイムアウトが発生しました。
EXPLORER_HTTP_<n>エクスプローラーが 2xx 以外のステータスを返しました(例:EXPLORER_HTTP_404)。
RATE_LIMITEDエクスプローラーが 429 を返しました。
EXPLORER_INVALID_JSONレスポンス本文が JSON ではありませんでした。
BUYER_DOWNローカルの buyer に到達できません。
BUYER_HTTP_<n>ローカルの buyer が 2xx 以外のステータスを返しました。
BUYER_INVALID_JSONbuyer のレスポンス本文が JSON ではありませんでした。
SESSION_NOT_FOUNDget_session_status でチャネルが見つかりませんでした。
BUYER_NOT_FOUNDget_buyer でエクスプローラーのインデックス内にアドレスが見つかりませんでした。
INVALID_CURSORcursor 引数が、以前の呼び出しで返された有効なページネーショントークンではありません。INVALID_INPUT として通知されます。
INTERNALその他すべて(サニタイズ済み。スタックトレースや環境変数の値は含まれません)。

セキュリティモデル

@antfeed/mcp のインストールは、明示的な信頼判断を伴います。自律型エージェントにこのツールを呼び出させる前に、このセクションをお読みください。

  • エージェントの呼び出し元は信頼できないものとして扱われます。 ネットワーク呼び出しの前に、すべてのツール引数を厳格な zod スキーマで検証します。peerId/providerPeerId は 0x + 40 桁の 16 進数である必要があります。sessionId は 0x + 1~128 桁の 16 進数である必要があります。service は短い識別子の範囲に制限されます。initialDepositUsdc は ANTSEED_MAX_DEPOSIT_USDC(デフォルトは 10 USDC)によって上限が設定されます。プロンプトインジェクションを受けたエージェントが、この MCP を通じて任意の金額を移動したり、URL/パストラバーサルのペイロードを作成したりすることはできません。
  • エクスプローラーは半信頼として扱われます。 ANTFEED_EXPLORER_URL からのすべてのレスポンスを、厳格な zod 形式に照らして再検証します。アドレスは 40 桁の 16 進数、チャネル ID は 16 進数、数値フィールドは有限値である必要があります。レスポンスは 2 MB のバイト上限を設けてストリーミングされるため、侵害または乗っ取られたエンドポイントによってメモリが枯渇することはありません。プレーンな http:// が許可されるのはループバックホストのみです。ループバック以外の URL には https:// が必要です。
  • ローカルの buyer は署名キーを保持します。この MCP がキーを参照することはありません。 MCP が buyer URL に create_session(上限のある入金額、検証済みの入力を含む)を POST することはありますが、キー素材を読み取ったり保存したりすることはありません。別のローカルプロセスによる buyer のなりすまし(共有/マルチテナントの開発環境など)を防ぐには、ANTSEED_BUYER_STRICT=1 を設定し、buyer が /health に {"service":"antseed-buyer"} を返すようにしてください。
  • パッケージの配布内容は最小限です。 dist/、README、LICENSE のみで、postinstall スクリプト、テストファイル、ローカルパスが漏れるソースマップは含まれません。npm audit --omit=dev では、本番ツリーの脆弱性はゼロと報告されます。依存関係の範囲は ~ に固定されています。公開時には npm provenance でパッケージに署名するため、利用者は tarball がこのリポジトリから作成されたことを検証できます(npm audit signatures)。
  • エラーメッセージはサニタイズされます。 エラーがエージェントまたは MCP ホストのログに届く前に、ファイルパス、IP アドレス、UPPER_CASE_VAR=… 形式のパターンを除去します。

セキュリティ上の懸念に気づいた場合は、非公開の GitHub Security Advisory を作成してください。72 時間以内にトリアージします。セキュリティに影響するバグについて、公開 issue を作成しないでください。

販売者向け

すでに AntSeed の販売者として運営しており、AntFeed Explorer ディレクトリに掲載されている場合、追加登録なしでこの MCP から自動的に見つけられます。新しい販売者は、オンチェーンで取引するだけでディレクトリに登録されます(Explorer は Base メインネットの AntSeed Channels イベントをインデックス化しています)。/api/services と /api/sellers/{address}/services が追加されると、クライアントを変更しなくても get_pricing と list_providers#servicesOffered に情報が反映されます。


開発

npm install
npm run build         # tsc → dist/
npm test              # vitest, fully mocked, zero network
node dist/index.js    # stdio server (MCP host wires this up; not interactive)

公式インスペクターで MCP ハンドシェイクをスモークテストします。

npx @modelcontextprotocol/inspector dist/index.js

レジストリへの登録

このパッケージは公開 MCP サーバーレジストリ(registry.modelcontextprotocol.io、Smithery、PulseMCP、Glama、mcp.so)に登録されるため、MCP 対応クライアントなら、上記のスニペットをコピー&ペーストしなくても検出してインストールできます。公式レジストリへの登録情報の正本は server.json、Smithery の記述ファイルは smithery.yaml です。最新の URL を含む登録チェックリスト全体は REGISTRIES.md にあります。レジストリのリポジトリ:https://github.com/modelcontextprotocol/registry。

Vercel ダッシュボードでツールごとの利用状況を確認する方法については、USAGE.md をご覧ください。

リンク

ライセンス

MIT

コメント

MCP は初めてですか?

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

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