GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者による説明(英語の原文)
x402 HTTP 402 + MCP paywall: charge USDC per agent call. Self-host via npx or Docker.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
CDP_API_KEY_ID, CDP_API_KEY_SECRET, X402_PAY_TO, UPSTREAM_URL, PRICE, NETWORK, X402_ENVIRONMENT「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
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/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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .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に保存されます。アカウントは不要です。
X402_PAY_TO envUPSTREAM_URL envPRICE envNETWORK envX402_ENVIRONMENT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント kevin2003050666-coder で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:CDP_API_KEY_ID, CDP_API_KEY_SECRET
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.3.3)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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”).
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.
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.
| Network | CAIP-2 | USDC | USDT | Status | Facilitator / notes |
|---|---|---|---|---|---|
| Base | eip155:8453 | native Circle | bridged | live | CDP exact. FeeSplitterFactory live (deployments/base.json) |
| Base Sepolia | eip155:84532 | test USDC | — | live | CDP testnet |
| Optimism | eip155:10 | native | bridged | config-ready | Addresses wired; not on current CDP matrix |
| Arbitrum One | eip155:42161 | native | bridged | live | CDP exact; factory stub |
| Polygon PoS | eip155:137 | native (not USDC.e) | PoS USDT | live | CDP exact; factory stub |
| BNB Smart Chain | eip155:56 | peg 18 dec | peg 18 dec | config-ready | Not on CDP list |
| Ethereum | eip155:1 | native | Tether | config-ready | Facilitator-dependent |
| Avalanche C-Chain | eip155:43114 | native | USDT | config-ready | In @x402/evm defaults |
| Celo / Sei | eip155:42220 / 1329 | USDC | — | config-ready | Catalog extras |
| Solana | solana:5eykt… | SPL USDC | SPL USDT | experimental | CDP lists Solana; gateway stubs + optional SVM paywall (SOLANA_PAY_TO) |
| TRON | tron:mainnet | — | TRC-20 | planned | No 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/.
| Wallet | Role |
|---|---|
| Coinbase Smart Wallet (Passkey) | Primary CTA |
| MetaMask | Via wagmi injected target |
| Injected | Other browser wallets |
| WalletConnect | When WALLETCONNECT_PROJECT_ID set |
| Solana paywall | Experimental, behind Solana accepts / PAYWALL_SVM |
| TronLink | Not offered (TRON planned only) |
No protocol monthly fee. Monetization is the toll — like interchange on card rails.
Requires Node.js 22+.
git clone https://github.com/kevin2003050666-coder/x402-micro-tollgate
cd x402-micro-tollgate && cp .env.example .env
npm i && npm start
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.)
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.
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.
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
npm run poc:buyer-agent
| Env | Default | Notes |
|---|---|---|
BUYER_PRIVATE_KEY | _(required)_ | 0x… EOA used to sign EIP-3009 |
TARGET_URL | https://x402-micro-tollgate.onrender.com/v1/quote | Paid route to hit |
MAX_SINGLE_USDC | 0.05 | Per-call cap (maxSingleSpendUsdc) |
MAX_TOTAL_USDC | 1.00 | Session cap / human B_max |
ROUNDS | 3 | Stop 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.
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).
| Variable | Default | Notes |
|---|---|---|
PORT | 8402 | HTTP 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_USDC | 10000000 | Atomic 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_URL | CDP default | Optional alternate facilitator base URL for MCP (createCdpFacilitatorClient({ baseUrl })). Single-vendor; no multi-facilitator routing yet |
PRICE | $0.001 | Network default USDC/USDT price tag |
NETWORK / X402_NETWORK | eip155:84532 / 8453 | Primary CAIP-2 (aliases: base, optimism, …) |
NETWORKS / X402_NETWORKS | _(primary only)_ | Comma/JSON list of networks for multi-accept |
ASSETS / X402_ASSETS | USDC | Cross 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_SVM | false | Force @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
冒頭だけを表示しています。続きはリポジトリで読めます