原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

x402 Micro Tollgate

作者:kevin2003050666-coder版本 0.3.3i★ –i在你的电脑上运行
注册名称io.github.kevin2003050666-coder/x402-micro-tollgate

安装

概览

作者提供的说明(英文原文)

x402 HTTP 402 + MCP paywall: charge USDC per agent call. Self-host via npx or Docker.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 开发者工具
  • 你需要填写:CDP_API_KEY_ID, CDP_API_KEY_SECRET

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: CDP_API_KEY_ID, CDP_API_KEY_SECRET, X402_PAY_TO, UPSTREAM_URL, PRICE, NETWORK, X402_ENVIRONMENT

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "x402-micro-tollgate": {
      "command": "npx",
      "args": [
        "-y",
        "x402-micro-tollgate",
        "--stdio"
      ],
      "env": {
        "CDP_API_KEY_ID": "your-value",
        "CDP_API_KEY_SECRET": "your-value",
        "X402_PAY_TO": "your-value",
        "UPSTREAM_URL": "your-value",
        "PRICE": "your-value",
        "NETWORK": "your-value",
        "X402_ENVIRONMENT": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add x402-micro-tollgate --env CDP_API_KEY_ID=your-value --env CDP_API_KEY_SECRET=your-value --env X402_PAY_TO=your-value --env UPSTREAM_URL=your-value --env PRICE=your-value --env NETWORK=your-value --env X402_ENVIRONMENT=your-value -- npx -y x402-micro-tollgate --stdio

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "x402-micro-tollgate": {
      "command": "npx",
      "args": [
        "-y",
        "x402-micro-tollgate",
        "--stdio"
      ],
      "env": {
        "CDP_API_KEY_ID": "your-value",
        "CDP_API_KEY_SECRET": "your-value",
        "X402_PAY_TO": "your-value",
        "UPSTREAM_URL": "your-value",
        "PRICE": "your-value",
        "NETWORK": "your-value",
        "X402_ENVIRONMENT": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "x402-micro-tollgate": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "x402-micro-tollgate",
        "--stdio"
      ],
      "env": {
        "CDP_API_KEY_ID": "your-value",
        "CDP_API_KEY_SECRET": "your-value",
        "X402_PAY_TO": "your-value",
        "UPSTREAM_URL": "your-value",
        "PRICE": "your-value",
        "NETWORK": "your-value",
        "X402_ENVIRONMENT": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • CDP_API_KEY_ID 机密 env
    Coinbase CDP API key ID for the x402 facilitator
  • CDP_API_KEY_SECRET 机密 env
    Coinbase CDP API key secret for the x402 facilitator
  • X402_PAY_TO env
    EVM address that receives USDC settlements
  • UPSTREAM_URL env
    Upstream HTTP API to proxy after payment (omit for built-in mock)
  • PRICE env
    Dollar price per paid call, e.g. $0.001
  • NETWORK env
    CAIP-2 network id (eip155:84532 Base Sepolia or eip155:8453 Base)
  • X402_ENVIRONMENT env
    development or production

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 kevin2003050666-coder 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“开发者工具”中的其他服务器比较i

  • 星标数多于此分类中其他 4924 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 4924 个服务器的 39% 更新
  • 基础检查结果等于或优于此分类中其他 4924 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

x402 Micro Tollgate 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:CDP_API_KEY_ID, CDP_API_KEY_SECRET

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.3.3)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:GitHub, Desktop Commander, Cloudflare MCP

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

电脑或云端★ 34,245MIT5天前更新
安装

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

在你的电脑上运行★ 10,225MIT17天前更新
安装

Cloudflare MCP

作者:cloudflare

Cloudflare MCP servers

在云端运行★ 4,446Apache-2.014个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

x402-micro-tollgate

Visa for AI agents that can’t hold a card.

Second-scale settlement bridge for agent traffic — the Web3 tollbooth that clears USDC micropayments and takes 0.1%.

为千万级无支付能力的 AI Agent 提供秒级过桥清算,抽成 0.1% 的 Web3 版 Visa 收费站

Security backed by Coinbase CDP. We don't touch your keys or settle payments on custom cryptography — EIP-3009 authorization nonces are single-use at the CDP facilitator (source of truth for on-chain uniqueness). The gateway hardens four buyer/seller trust surfaces: payment-proof replay/race, SSRF on URL fetch, upstream bypass (shared-secret trust header), and Base congestion / settle-latency (pending + retry same proof — never treat HTTP timeout alone as “payment failed”).

What it is

A thin self-hosted tollgate in front of your API or MCP tools. When an agent calls a paid route, it gets HTTP 402 as a price tag (not a hard deny). It pays a small USDC (or configured USDT) amount; you deliver. Default clearing is Base + USDC via Coinbase CDP; multi-network accepts are env-driven (see matrix below). Humans can still hit a free path; agents convert at the booth.

Self-host is free (MIT). Repo: github.com/kevin2003050666-coder/x402-micro-tollgate · Questions: 2767111713@qq.com

Not an official Coinbase product. Not a full agent marketplace. Not a billing SaaS. A sharp Visa-style tollbooth. Not fiat custody.

Why this exists: MANIFESTO.md — pain, engineering, on-chain proof, MIT.

Network × asset matrix

Default deploy profile: Base USDC only (dev: Base Sepolia). Enable multi with NETWORKS + ASSETS or ACCEPTS_JSON / X402_* aliases. Browser HTML 402 shows a chain + asset picker when more than one accept is configured.

NetworkCAIP-2USDCUSDTStatusFacilitator / notes
Baseeip155:8453native CirclebridgedliveCDP exact. FeeSplitterFactory live (deployments/base.json)
Base Sepoliaeip155:84532test USDC—liveCDP testnet
Optimismeip155:10nativebridgedconfig-readyAddresses wired; not on current CDP matrix
Arbitrum Oneeip155:42161nativebridgedliveCDP exact; factory stub
Polygon PoSeip155:137native (not USDC.e)PoS USDTliveCDP exact; factory stub
BNB Smart Chaineip155:56peg 18 decpeg 18 decconfig-readyNot on CDP list
Ethereumeip155:1nativeTetherconfig-readyFacilitator-dependent
Avalanche C-Chaineip155:43114nativeUSDTconfig-readyIn @x402/evm defaults
Celo / Seieip155:42220 / 1329USDC—config-readyCatalog extras
Solanasolana:5eykt…SPL USDCSPL USDTexperimentalCDP lists Solana; gateway stubs + optional SVM paywall (SOLANA_PAY_TO)
TRONtron:mainnet—TRC-20plannedNo scheme in deps — never in accepts[]

USDT on EVM typically uses extra.assetTransferMethod: "permit2" (not EIP-3009). FeeSplitter production path remains Base + USDC; other chains are config stubs under contracts/deployments/.

Browser wallets
WalletRole
Coinbase Smart Wallet (Passkey)Primary CTA
MetaMaskVia wagmi injected target
InjectedOther browser wallets
WalletConnectWhen WALLETCONNECT_PROJECT_ID set
Solana paywallExperimental, behind Solana accepts / PAYWALL_SVM
TronLinkNot offered (TRON planned only)

Who it’s for

  • API sellers who want agents to pay per call — without building a billing console or selling monthly seats
  • Tool builders shipping paid MCP endpoints into Cursor / Claude
  • Operators who want Visa-like take-rate economics (0.1%), not hosting invoices

How money works

  1. Price tag — unpaid traffic gets HTTP 402 with the amount due (conversion, not rejection)
  2. Pay — the agent settles a USDC micropayment in seconds via Coinbase CDP
  3. Unlock — the tollgate proxies to your upstream; you keep ~99.9%, protocol take 0.1%

No protocol monthly fee. Monetization is the toll — like interchange on card rails.


1-minute quickstart

Requires Node.js 22+.

git clone https://github.com/kevin2003050666-coder/x402-micro-tollgate

cd x402-micro-tollgate && cp .env.example .env

set CDP_API_KEY_ID, CDP_API_KEY_SECRET, X402_PAY_TO (optional: PUBLIC_BASE_URL, UPSTREAM_URL)

npm i && npm start

curl http://127.0.0.1:8402/health → 200

curl http://127.0.0.1:8402/x402/discover → 200 (free agent yellow pages)

curl http://127.0.0.1:8402/v1/quote → 402

curl "http://127.0.0.1:8402/v1/fetch-md?url=https://example.com" → 402 (paid HTML→Markdown demo)

npx one-liners (no clone):

npx x402-micro-tollgate@0.3.3

npx x402-micro-tollgate@0.3.3 --seller 0xYourReceivingAddress --stdio

--seller / -s sets X402_PAY_TO before boot (env vars still work). Default without --stdio is HTTP + /mcp on port 8402.

Agent / crawler docs: llms.txt (also GET /llms.txt and GET /.well-known/llms.txt) · OpenAPI 3.1: docs/openapi.yaml · well-known: GET /.well-known/x402.json, GET /.well-known/agent-card.json

Alternative one-liner: docker compose up --build

Without CDP keys the process runs in demo mode (protocol-shaped 402 / MCP PaymentRequired, no on-chain settle).

Cursor mcp.json:

{

"mcpServers": { "x402-micro-tollgate": { "url": "http://127.0.0.1:8402/mcp" } } }

Stdio:

{

"mcpServers": { "x402-micro-tollgate": { "command": "npx", "args": [ "x402-micro-tollgate@0.3.3", "--seller", "0xYourReceivingAddress", "--stdio" ], "env": { "CDP_API_KEY_ID": "...", "CDP_API_KEY_SECRET": "...", "PUBLIC_BASE_URL": "https://your.public.host" } } } }

(X402_PAY_TO in env still works if you omit --seller.)

Library drop-in (permissionless seller)
import express from "express";

import { x402Tollgate } from "x402-micro-tollgate";

const app = express(); app.use("/v1", await x402Tollgate({ seller: process.env.SELLER! }));

Or set SELLER / X402_SELLER in .env and run npm start. See Environment for the $10 threshold, factory address, and fee-release details.

Buyer / Agent client

Thin TypeScript helper that wraps official @x402/fetch + @x402/evm ExactEvmScheme. On HTTP 402 it parses PAYMENT-REQUIRED, checks budgets, signs EIP-3009 once, and retries once with PAYMENT-SIGNATURE (never loops).

npm i x402-micro-tollgate@0.3.3
import { createX402Fetch } from "x402-micro-tollgate/client";

const fetch402 = createX402Fetch({ privateKey: process.env.BUYER_KEY as 0x${string} }); const res = await fetch402("https://x402-micro-tollgate.onrender.com/v1/quote");

Defaults: maxSingleSpendUsdc = 0.05, maxTotalSpendUsdc = 1.00 (clear Error if exceeded). Circuit breaker (before sign): max 10 paid 402s / 0.05 USDC per rolling 60s, plus fingerprint dead-loop halt (maxPaidRequestsPerMinute, maxSpendUsdcPerMinute, enableFingerprintBreaker). Hot-wallet warning: keep only ~$5–$10 USDC on the signing key — treat it as an agent spend faucet, not a treasury.

Human-delegated agent credit (CLI)

Thin PoC: Human sets `B_max` → Agent loops createX402Fetch against a paid URL (auto 402 → pay once → retry). Chrome / Telegram / Session Key / Passkey UI are deferred.

# SAFETY: fund BUYER_PRIVATE_KEY with ≤ $5–$10 USDC only. Never commit keys.

export BUYER_PRIVATE_KEY=0xYourHotWalletKey

optional: TARGET_URL MAX_SINGLE_USDC MAX_TOTAL_USDC ROUNDS

npm run poc:buyer-agent

or: npx tsx scripts/buyer-agent-poc.ts

EnvDefaultNotes
BUYER_PRIVATE_KEY_(required)_0x… EOA used to sign EIP-3009
TARGET_URLhttps://x402-micro-tollgate.onrender.com/v1/quotePaid route to hit
MAX_SINGLE_USDC0.05Per-call cap (maxSingleSpendUsdc)
MAX_TOTAL_USDC1.00Session cap / human B_max
ROUNDS3Stop after N calls or when budget exhausted

The script imports the local client (../src/client) so repo CI does not need a live chain pay. For a live demo against the published package, swap the import to x402-micro-tollgate/client (same API as 0.3.2+). Each round prints status, autoPaid, and sessionSpendUsdc on stdout; the safety banner goes to stderr.


Deploy

Uses render.yaml: Node 22, npm start, health /health, env names from .env.example. Set CDP_API_KEY_ID, CDP_API_KEY_SECRET, and X402_PAY_TO in the dashboard for live settlement; set PUBLIC_BASE_URL to your https://….onrender.com origin for Bazaar.

Ops bump: redeploy discover + well-known (force Render GitHub auto-deploy so production picks up GET /x402/discover, GET /.well-known/x402.json, GET /.well-known/agent-card.json, and MCP fetch_md). If auto-deploy does not fire within a few minutes after this lands on main, use the Render dashboard → Manual Deploy → Deploy latest commit.

Self-host production: Docker — docker compose up --build (see Dockerfile / docker-compose.yml).


Environment

VariableDefaultNotes
PORT8402HTTP listen port
UPSTREAM_URL_(unset → mock)_Your API origin
UPSTREAM_SHARED_SECRET / X402_UPSTREAM_SECRET—Optional. After settle, tollgate injects X-Tollgate-Secret + X-Tollgate-Paid (HMAC). Upstream must require them and reject public direct hits (not mTLS)
X402_PAY_TO—EVM receive address (live mode SDK init)
SELLER / X402_SELLER—Permissionless seller EOA (EIP-55 validated; invalid → startup fail)
FACTORY_ADDRESS—Operator-set FeeSplitterFactory for CREATE2 predict when amount ≥ threshold (Base live address in contracts/deployments/base.json; do not hardcode secrets)
FEE_FREE_BELOW_USDC / X402_FEE_FREE_BELOW_USDC10000000Atomic USDC (6 decimals). < $10 → payTo=seller; ≥ $10 → FeeSplitter
CDP_API_KEY_ID / CDP_API_KEY_SECRET—CDP facilitator (+ Onramp session tokens)
CDP_CLIENT_API_KEY—Public CDP client key for browser Smart Wallet paywall (safe in frontend). Alias: CDP_CLIENT_KEY
X402_FACILITATOR_URL / CDP_FACILITATOR_URLCDP defaultOptional alternate facilitator base URL for MCP (createCdpFacilitatorClient({ baseUrl })). Single-vendor; no multi-facilitator routing yet
PRICE$0.001Network default USDC/USDT price tag
NETWORK / X402_NETWORKeip155:84532 / 8453Primary CAIP-2 (aliases: base, optimism, …)
NETWORKS / X402_NETWORKS_(primary only)_Comma/JSON list of networks for multi-accept
ASSETS / X402_ASSETSUSDCCross with NETWORKS → accepts (USDC, USDT)
ACCEPTS_JSON / X402_ACCEPTS_JSON—Explicit accepts array (overrides NETWORKS×ASSETS)
FACTORY_ADDRESSES—JSON map caip2 → FeeSplitterFactory (Base live; others optional)
SOLANA_PAY_TO—Base58 payTo for experimental Solana accepts
PAYWALL_SVMfalseForce @x402/paywall SVM UI (also auto if Solana in accepts)
WALLETCONNECT_PROJECT_ID—Enables WalletConnect in browser paywall

| X402_MIN_PRICE_USDC | — | Optional static minimum accept amount (atomic USDC). Effect

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx