プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。プロトタイプ · 30分ごとに更新
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

AgentBadge

作者:spreadzpバージョン 0.3.1i★ 0iパソコンで動く
レジストリ名io.github.spreadzp/agentbadge

インストール方法

What it does

AgentBadge MCP — agent-readiness scan, passport, discovery, marketplace and circle-payments tools

  • Connects パソコンで動く
  • Account or key No key needed
  • Category ネットショップ・決済

インストール

使っているAIアプリを選んで、設定をコピーしてください。

チェック 3/3 合格 · あなたのパソコンで動きます · ✓ コマンド確認済み 2026年11月14日

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげますが、先に準備が必要です

先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません

AI にインストールしてもらう

このメッセージを Claude のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。

このパソコンの Claude に MCP server AgentBadge を入れてください。順番に:1) node -v で Node.js があるか確認。なければ https://nodejs.org/en/download から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "mcpServers": { "agentbadge": { "command": "npx", "args": [ "-y", "@agentbadge/mcp" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、AgentBadge のツールが本当に表示されるか確認する。

このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。

  1. Node.js を入れる(まだなければ)

    もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter

    node -v
    • バージョン番号(例 v26.13.1)が出る = 入っています。この手順は飛ばせます
    • "command not found"(Windows では "is not recognized")が出る = まだ入っていないか、入れた直後でターミナルを開き直す必要があります
    ターミナルの開き方

    Mac:⌘ + Space を押し、Terminal と入力して Enter

    Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」

    まだ入っていない場合: 公式ダウンロードページで LTS 版と、クリックで進むインストーラーを選びます:Mac は .pkg、Windows は .msi。ダブルクリックして最後まで進めるだけで、curl コマンドは不要です

    Node.js のダウンロードページを開く ↗

    入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: node -v

    一度入れれば、Node.js を使うすべてのツールで使えます

  2. パソコン版 Claude アプリの設定ファイルを開く

    SettingsDeveloperEdit Config

  3. この設定を貼り付けて保存

    {
      "mcpServers": {
        "agentbadge": {
          "command": "npx",
          "args": [
            "-y",
            "@agentbadge/mcp"
          ]
        }
      }
    }
  4. Claude を終了してもう一度開く

  5. 試してみる

    AgentBadge を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が AgentBadge を使っていると言うか、回答に AgentBadge のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT はまだ AgentBadge につなげません

AgentBadge はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません

代わりにできること

A · AgentBadge につなげるアプリを使う

  • 先にパソコンへ Node.js を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
  • 先にパソコンへ Node.js を入れてください(1 回だけ)
  • 先にパソコンへ Node.js を入れてください(1 回だけ)
  • 先にパソコンへ Node.js を入れてください(1 回だけ)

B · ネットショップ・決済 の中で ChatGPT につなげる別のサーバー

同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました

Claude Code につなげますが、先に準備が必要です

先にパソコンへ Node.js を入れてください(1 回だけ)

AI にインストールしてもらう

このメッセージを Claude Code のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。

このパソコンの Claude Code に MCP server AgentBadge を入れてください。順番に:1) node -v で Node.js があるか確認。なければ https://nodejs.org/en/download から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):claude mcp add --scope user agentbadge -- npx -y @agentbadge/mcp 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、AgentBadge のツールが本当に表示されるか確認する。

このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。

  1. Node.js を入れる(まだなければ)

    もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter

    node -v
    • バージョン番号(例 v26.13.1)が出る = 入っています。この手順は飛ばせます
    • "command not found"(Windows では "is not recognized")が出る = まだ入っていないか、入れた直後でターミナルを開き直す必要があります
    ターミナルの開き方

    Mac:⌘ + Space を押し、Terminal と入力して Enter

    Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」

    まだ入っていない場合: 公式ダウンロードページで LTS 版と、クリックで進むインストーラーを選びます:Mac は .pkg、Windows は .msi。ダブルクリックして最後まで進めるだけで、curl コマンドは不要です

    Node.js のダウンロードページを開く ↗

    入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: node -v

    一度入れれば、Node.js を使うすべてのツールで使えます

  2. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  3. このコマンドを貼り付けて Enter

    claude mcp add --scope user agentbadge -- npx -y @agentbadge/mcp
  4. Claude Code で /mcp と入力

    AgentBadge が一覧にあり、接続済みと表示されれば OK です

  5. 試してみる

    AgentBadge を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が AgentBadge を使っていると言うか、回答に AgentBadge のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげますが、先に準備が必要です

先にパソコンへ Node.js を入れてください(1 回だけ)

AI にインストールしてもらう

このメッセージを Cursor のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。

このパソコンの Cursor に MCP server AgentBadge を入れてください。順番に:1) node -v で Node.js があるか確認。なければ https://nodejs.org/en/download から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "mcpServers": { "agentbadge": { "command": "npx", "args": [ "-y", "@agentbadge/mcp" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、AgentBadge のツールが本当に表示されるか確認する。

このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。

  1. Node.js を入れる(まだなければ)

    もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter

    node -v
    • バージョン番号(例 v26.13.1)が出る = 入っています。この手順は飛ばせます
    • "command not found"(Windows では "is not recognized")が出る = まだ入っていないか、入れた直後でターミナルを開き直す必要があります
    ターミナルの開き方

    Mac:⌘ + Space を押し、Terminal と入力して Enter

    Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」

    まだ入っていない場合: 公式ダウンロードページで LTS 版と、クリックで進むインストーラーを選びます:Mac は .pkg、Windows は .msi。ダブルクリックして最後まで進めるだけで、curl コマンドは不要です

    Node.js のダウンロードページを開く ↗

    入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: node -v

    一度入れれば、Node.js を使うすべてのツールで使えます

  2. このボタンで Cursor を開く

    Cursor で開く

    Cursor がインストールの確認をするので Install を押します

  3. Cursor の AI チャットを Agent モードで開く

  4. 試してみる

    AgentBadge を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が AgentBadge を使っていると言うか、回答に AgentBadge のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげますが、先に準備が必要です

先にパソコンへ Node.js を入れてください(1 回だけ)

AI にインストールしてもらう

このメッセージを VS Code のチャットに貼り付けます。AI がパソコンを確認し、変更するファイルを伝え、毎回あなたの了承を待ちます。

このパソコンの VS Code に MCP server AgentBadge を入れてください。順番に:1) node -v で Node.js があるか確認。なければ https://nodejs.org/en/download から入れるよう私に伝え、自分では入れない。2) この設定だけを使う(PopNx MCP の確認済み):{ "servers": { "agentbadge": { "type": "stdio", "command": "npx", "args": [ "-y", "@agentbadge/mcp" ] } } } 3) 変更するファイルのフルパスか実行するコマンドを伝えて、私の了承を待つ。4) キーは不要。5) 了承した内容を実行し、AgentBadge のツールが本当に表示されるか確認する。

このメッセージにあなたのキーは含まれません。キーが必要な場合は、AI がファイルやアプリの入力欄にご自身で貼るよう案内します。

  1. Node.js を入れる(まだなければ)

    もう入っていますか?先に確認 · ターミナルを開き、このコマンドを入力して Enter

    node -v
    • バージョン番号(例 v26.13.1)が出る = 入っています。この手順は飛ばせます
    • "command not found"(Windows では "is not recognized")が出る = まだ入っていないか、入れた直後でターミナルを開き直す必要があります
    ターミナルの開き方

    Mac:⌘ + Space を押し、Terminal と入力して Enter

    Windows:スタートメニューを開き、Windows PowerShell と入力して「開く」

    まだ入っていない場合: 公式ダウンロードページで LTS 版と、クリックで進むインストーラーを選びます:Mac は .pkg、Windows は .msi。ダブルクリックして最後まで進めるだけで、curl コマンドは不要です

    Node.js のダウンロードページを開く ↗

    入れ終わったらターミナルを閉じて開き直し、同じコマンドをもう一度実行します。バージョン番号が出れば完了です: node -v

    一度入れれば、Node.js を使うすべてのツールで使えます

  2. このボタンで VS Code を開く

    VS Code で開く

    VS Code がインストールの確認をするので Install を押します

  3. VS Code の AI チャットを Agent モードで開く

  4. 試してみる

    AgentBadge を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が AgentBadge を使っていると言うか、回答に AgentBadge のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

JSON 設定は下の「開発者向け」にあります

つまずいたら?AgentBadge を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

パソコンにインストール

Claude Code

claude mcp add --scope user agentbadge -- npx -y @agentbadge/mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "agentbadge": {
      "command": "npx",
      "args": [
        "-y",
        "@agentbadge/mcp"
      ]
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "agentbadge": {
      "command": "npx",
      "args": [
        "-y",
        "@agentbadge/mcp"
      ]
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "agentbadge": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@agentbadge/mcp"
      ]
    }
  }
}

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

ひと目でわかる

週あたりのダウンロードi
107/週
接続方法
パソコンで動く
最新バージョンi
0.3.1
レジストリ公開日i
2026年9月25日
コードの最終更新i
2026年11月14日
作者
spreadzp
パッケージ
npm: @agentbadge/mcp
ウェブサイト
agentbadge.xyz
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

パソコン上で動かせるアプリ

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

すべてのアプリと長所・短所 →

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月15日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント spreadzp で確認済みです

  • ✓ 合格

    今もメンテナンスされている

    コードの最終更新:昨日

  • ✓ 合格

    ライセンスがある

    Apache-2.0を使用

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

公開済みの脆弱性(OSV.dev)

まだ確認していません

確認していること → · JSON

作者の方へ:再確認の依頼・情報の誤りの報告

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

ログインして投稿

ユーザーレビュー

まだレビューはありません

ログインしてレビューを書く

ネットショップ・決済のほかのサーバーとの比較i

  • このカテゴリのほかの2804件のうち0%よりスターが多い
  • このカテゴリのほかの2804件のうち35%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの2804件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

AgentBadgeは安全ですか?

当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は昨日、最新バージョン(0.3.1)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Stripe MCP, flightclaw, Trade It, Vaaya, Marketplace Ad Pros: Amazon Ads & Seller Central

似た働きのほかの候補

同じカテゴリでほかの作者のもの。コマンドは確認済み。公式を先に、次にスター順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Stripe MCP

MCP server integrating with Stripe - tools for customers, products, payments, and more.

作者:stripe広く使われている★ 206113 か月前更新

クラウドで動く✓ 提供元 · stripe.com

flightclaw

Search ~300 airlines and book flights with a checkout link. OAuth sign-in by email code.

作者:flightclaw成長中★ 852 か月前更新

クラウドで動く✓ 提供元 · flightclaw.com

Trade It

Connect brokerage accounts to AI assistants: holdings, orders, asset lookup, and approved trading.

作者:trade-it-inc成長中★ 6230 日前更新

クラウドで動く✓ 提供元 · tradeit.app

Vaaya

Paid APIs and tokenized shares for agents. Prepaid funding, including authorized Instinct checkout.

作者:vaaya-ai初期↓ 127/週★ 442 か月前更新

パソコンでもクラウドでも✓ 提供元 · vaaya.ai
  • Stripe MCP — クラウドで動き、インストール不要 · キー不要 · Claude のディレクトリに掲載
  • flightclaw — クラウドで動き、インストール不要 · キー不要
  • Trade It — クラウドで動き、インストール不要 · キー不要
  • Vaaya — クラウドでもパソコンにインストールでも使える · キー不要
  • Marketplace Ad Pros: Amazon Ads & Seller Central — クラウドで動き、インストール不要 · キー不要

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

AgentBadge — Agent Marketplace on Arc

Trust & settlement layer for agentic economic activity. Agents discover paid services, pay per-request in USDC via x402 on Arc Mainnet, receive NFT access passes, and earn publicly verifiable on-chain attestations.

Live: agentbadge.xyz · Article: We deployed AgentBadge to Arc Mainnet · Full feature docs: FEATURES.md


What is this?

AgentBadge is a marketplace where AI agents are the customers. Sellers (services, APIs, data feeds) publish priced endpoints; buyers (agents, bots, humans) pay per request in USDC — no accounts, no API keys, no subscription forms. Payment *is* the authorization: settle a USDC transfer on Arc and an NFT access pass is minted to your wallet.

Who it's for:

  • Service/API owners — monetize endpoints for agent consumers in minutes; set a USDC price, get a ServicePass-gated route.
  • Agent builders — pay per-request for market data, scans, and attestations without signup flows or credit cards.
  • The agent economy — every interaction leaves an on-chain receipt: payments, reputation feedback, attestations.

How the marketplace works:

  1. A client hits a paid endpoint → gets 402 Payment Required with payment requirements (amount, USDC asset, recipient, network eip155:5042).
  2. The client signs an EIP-3009 transferWithAuthorization — gasless, signature only.
  3. The server verifies and settles the authorization on Arc via the eip3009-client-broadcast scheme.
  4. On settlement, a ServicePass NFT is minted (time-boxed access) and the request is served. Subsequent calls check hasAccess on-chain.
  5. Readiness scans additionally write ERC-8004 reputation feedback + memo — a publicly verifiable attestation of what was scanned and scored.

Architecture

flowchart TD

A[Client agent / human] -->|HTTPS| B[Hono server agentbadge.xyz] B --> C{bstock-freemium gate} C -->|free tier / valid pass| D[API resource] C -->|no access| E[402 + payment requirements] E -->|PAYMENT-SIGNATURE| F[Arc facilitator] F -->|verify + settle| G[Arc Mainnet USDC EIP-3009] F -->|on success| H[MarketplacePassNFT mintServicePass] H --> D D -->|scan results| I[ERC-8004 reputation + memo]

Agent ↔ platform interaction

sequenceDiagram

autonumber participant A as Agent participant S as Paid endpoint participant G as x402 gate participant F as Facilitator participant C as Arc Mainnet participant N as ServicePass NFT

A->>S: Request (no payment) S->>G: Check free bucket / hasAccess G-->>A: 402 + requirements ($5 USDC, eip155:5042) A->>A: Sign EIP-3009 transferWithAuthorization A->>S: Retry + PAYMENT-SIGNATURE S->>F: verify + settle F->>C: Broadcast authorization (gasless) C-->>F: tx confirmed F->>N: mintServicePass(payer, serviceId, 30d) N-->>F: minted S-->>A: 200 + PAYMENT-RESPONSE + data Note over A,N: Next requests pass hasAccess — no payment until pass expires

Why EIP-3009 self-settle?

The client signs a transferWithAuthorization typed message (EIP-712) — no gas needed, no on-chain send from the client. Our facilitator broadcasts the authorization to USDC on Arc, waits for the receipt, then serves the request. Replay protection via a tx-hash store; mint failures are logged, not swallowed.


Live on Arc Mainnet (chainId 5042)

Not a testnet demo — every link resolves on the live explorer.

Real x402 paymentAmountTx
Readiness attestation scan$0.25 USDCtx
bstock ServicePass mint$0.05 USDCtx
ERC-8004 attestation write (prod)—tx

Full transaction log: docs/arc-mainnet-links.md


Try it

# 1) Free scan — first request is free

curl -X POST https://agentbadge.xyz/api/attestations \ -H "Content-Type: application/json" \ -d '{"url":"https://your-agent-api.com"}'

2) Second request → HTTP 402 with PAYMENT-REQUIRED header

scheme: eip3009-client-broadcast, network: eip155:5042, asset: USDC

3) Pay: sign EIP-3009 transferWithAuthorization → retry with

PAYMENT-SIGNATURE header → 200 + PAYMENT-RESPONSE + attestation on-chain

Product surface

SurfaceWhat it isStatus
Attestation oracleScan any URL → readiness score → ERC-8004 feedback + memo on ArcLive on mainnet
x402 paid endpointsAttestation ($0.25), bstock feed ($5) — self-settle USDCLive on mainnet
ServicePass NFTsMarketplacePassNFT — time-boxed access, hasAccess gateLive on mainnet
PassportsAgentPassportNFT — ERC-8004-compatible agent identityLive on mainnet
bstock feedRealtime market data namespace (/mcp/bstock/*)Live
Venue / jobs boardERC-8183 escrow jobs, provider offers (ERC-8004 gated), reputation feedback, attestations — /market hub with live stats; public API GET /api/venue/{stats,jobs,offers,providers}Live on mainnet

Roadmap

  1. ~~Public venue~~ ✅ shipped — /market hub: services, jobs board, attestations, passes tabs. Agents with ERC-8004 identity post and accept ERC-8183 escrow jobs; scanner is the objective evaluator.
  2. Business venues — AccessPassNFT-gated private marketplaces per company.
  3. Article series C1–C8 — build-log of the Arc integration.

Repo layout

src/server/               ← Hono app: routes, middleware (bstock-freemium, x402 gate), SSR views

src/agent-readiness/ ← 138-rule agent-readiness scanner engine src/mcp/ ← MCP namespaces (/mcp/bstock, /mcp/*) src/verifiers/ ← payment + attestation verifiers docs/diagrams/ ← D2 → SVG animated diagrams docs/arc-mainnet-links.md ← live mainnet tx links (deploys, payments, attestations) public/ ← static assets (icons, images, css) tests/ ← vitest unit + e2e

Related packages (published on npm as @agentbadge/*): circle-payments (x402 facilitator + EIP-3009 handle), bstock-tracker (market-data feed), agent-readiness-scanner (shared engine). Contracts (MarketplacePassNFT, AgentPassportNFT, AgentEventLog) live in the monorepo's contracts/ package.

Stack

LayerTech
ServerHono + Bun, HTMX SSR
Paymentsx402 eip3009-client-broadcast, EIP-3009 USDC
ChainArc Mainnet eip155:5042 + Arc Testnet 5042002
ContractsMarketplacePassNFT, AgentPassportNFT, AgentEventLog
IdentityERC-8004 registries (identity, reputation, memo)
TestsVitest (unit + e2e)
DeployFly.io → agentbadge.xyz

MCP abuse guard

/mcp and /mcp/* run behind a layered rate limiter (default ON — protective infrastructure, not a feature flag). Lanes: signature-verified DID → did: (passport-tier RPM), keyed agent → agent: (keyedRpm floor), otherwise per-IP (anonRpm). Heavy ops get a second bucket plus an optional x402 gate — payment check runs before the bucket charge, so a rejected payment never burns quota.

Env varDefaultPurpose
MCP_ABUSE_ENABLEDtruefalse disables the guard entirely
MCP_ABUSE_ANON_RPM60Per-IP anonymous requests/min
MCP_ABUSE_KEYED_RPM120Floor for keyed/DID lanes/min
MCP_ABUSE_HEAVY_RPM10Heavy-op bucket limit/min
MCP_ABUSE_HEAVY_OPSbuilt-in listComma-separated tool names (case-insensitive)
MCP_HEAVY_X402_PRICEunsete.g. $0.05 — arms gate only with PAYTO
MCP_HEAVY_X402_PAYTOunsetPayee address — arms gate only with PRICE

Passport-tier RPM (bronze 240 / silver 480 / gold 960 / platinum 1920) applies only to signature-verified DIDs; self-declared or absent DID headers never elevate.

Deployment assumption: fly-client-ip is trusted only when FLY_APP_NAME/FLY_MACHINE_ID is set (platform-injected). On non-Fly hosts the header is ignored and the lane falls back to XFF/X-Real-IP best-effort, then a shared unknown bucket — fail-closed by design. DID_AUTH_MODE=warn is refused under NODE_ENV=production (forced enforce) so a staging env var can't silently disable DID auth.

Agent-first contract

Paid surfaces are declared machine-readably — agents never scrape docs:

  • `openapi/openapi.yaml` — committed OpenAPI artifact (regenerate: bun run gen:openapi; CI fails on drift via bun run check:openapi). Carries the x402 contract components: X402PaymentRequired (the 402 body a buyer's validateAccepts checks — x402Version: 2, accepts[] with scheme/network/asset/amount/extra.decimals: 6), X402HonestRefusal (charged: false on every refusal).
  • `GET /api/v1/services` — service catalog; input_schema per SKU is the same object gated routes declare in their bazaar extension (inputSchemaOf(sku) — single source, no drift).
  • Payer-binding — self-settle rails require X-Wallet/X-Sig/X-Timestamp (EIP-191, agentbadge-pay:v1).

License

Apache-2.0 — see LICENSE.

Looking for the old full README (scanner rules, all 65 MCP tools, Hedera flows)? → [FEATURES.md](FEATURES.md)