Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Payments for AI agents: gasless USDC on Base + JIT single-use virtual cards, PAN never in context.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
Z_ZERO_API_KEY「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"z-zero": {
"command": "npx",
"args": [
"-y",
"z-zero-mcp-server"
],
"env": {
"Z_ZERO_API_KEY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add z-zero --env Z_ZERO_API_KEY=your-value -- npx -y z-zero-mcp-server動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"z-zero": {
"command": "npx",
"args": [
"-y",
"z-zero-mcp-server"
],
"env": {
"Z_ZERO_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"z-zero": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"z-zero-mcp-server"
],
"env": {
"Z_ZERO_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月10日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Dempty-glitch で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:Z_ZERO_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.10.4)がレジストリに届いたのは18 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Lium GPU Cloud
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Rent NVIDIA GPU pods on Lium, run commands on them and remove them, billed per second.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
AI Agents today can plan, reason, and code — but they are financially blind. They cannot hold money, make payments, or prove their trustworthiness. Every purchase still requires a human to copy-paste a credit card number.
Z-ZERO fixes that. One MCP server gives your agent (Claude, Cursor, any MCP-compatible client) two payment rails — gasless USDC on Base for crypto-native checkouts, and JIT single-use virtual cards for the 99% of the web that only takes cards — while the model never sees a real card number.
npx z-zero-mcp-server
What makes it different:
Z_ZERO_ENABLE_WEB3_PAY=1, because an on-chain send to an address read off a web page cannot be reversed.get_merchant_hints serves platform-specific checkout playbooks (Shopify, Etsy, WooCommerce…).execute_payment hands those criteria back and requires a second call with go or pause; a confirmed purchase seals the answer into the signed receipt. The record is inspectable without pretending the platform judged whether the agent told the truth.failure_class (automatically, not only when an agent remembers to report) and stored as evidence for the merchant knowledge base. Facts are promoted into shared hints only after a later outcome or review verifies them.0xdfd1f2f8…5d7a User AI Agent MCP Tools Z-ZERO API
│ │ │ │ │ "Buy me this │ │ │ │ Shopify item" │ │ │ ├─────────────────▶│ │ │ │ │ read mcp://resources/sop (MANDATORY) │ │ ├─────────────────────▶│ │ │ │◀── platform rules ───┤ │ │ │ + payment SOP │ │ │ │ │ │ │ │ get_merchant_hints("_platform_shopify") │ │ ├─────────────────────▶│ GET /checkout-hints │ │ │ ├─────────────────────▶│ │ │◀── pre_steps+notes ──┤◀──── hints data ─────┤ │ │ │ │ │ │ (fills shipping form, reaches payment page) │ │ │ │ │ │ │ request_payment_token(amount, cart, criteria)│ │ ├─────────────────────▶│ │ │ │◀── temp_auth token ──┤ (1-hour TTL) │ │ │ │ │ │ │ execute_payment(token, checkout_url) │ │ ├─────────────────────▶│ │ │ │◀── purpose_check ────┤ (nothing charged) │ │ │ compare locked criteria with final page │ │ │ │ │ │ │ execute_payment(..., recheck: go | pause) │ │ ├─────────────────────▶│ │ │ │ pause → no card is filled │ │ │ go → Playwright fills + submits, │ │ │ then burns token if confirmed 🔥 │ │ │◀──── ✅ success ─────┤ │ │ "Done! Your item │ │ │ │ is ordered." │ │ │ │◀─────────────────┤ │ │
*The AI agent never touches card data — it only handles single-use tokens. Real card details are injected by Playwright at the last step and wiped from RAM.*
Crypto checkout branch: when
auto_pay_checkoutdetects a crypto-native checkout (EIP-681), it skips the card flow entirely and settles as a gasless USDC transfer on Base — see above. Off by default; enable withZ_ZERO_ENABLE_WEB3_PAY=1.
Z-ZERO is not a checkout bot — it's payment infrastructure for the agentic-commerce era (agentic transactions are projected to reach $1.5T by 2030 — Juniper Research).
Today, the web is built for humans: agents must fill forms and click buttons, and every purchase still needs a human's card. Z-ZERO solves that now — JIT single-use virtual cards + gasless USDC on Base, with card data isolated from the model. Tomorrow, agent payments become a standardized protocol — and what we build along the way is the long-term value:
📖 Full vision & architecture: The Z-Zero Whitebook
npx z-zero-mcp-server
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": { "z-zero": { "command": "npx", "args": ["-y", "z-zero-mcp-server@latest"], "env": { "Z_ZERO_API_KEY": "zk_live_your_passport_key_here" } } } }
Get your Passport Key at: [z-zero.xyz/dashboard/agents](https://z-zero.xyz/dashboard/agents)
The key you copy from the dashboard (or paste into a chat) is only a one-time bootstrap ticket. The moment your agent connects with it, the MCP server silently swaps it for a fresh key:
~/.z-zero/credentials (mode 0600). It never appears in any LLM conversation, tool result, or config file.~/.z-zero/credentials first; the Z_ZERO_API_KEY env var is only a bootstrap fallback.One key = one machine. All agents on the same machine (Claude Desktop, Claude Code, Cursor, …) share the same MCP install and the same credentials file — install once, every agent can pay. Connecting a *different* machine with a copied key rotates it, which instantly disconnects the original machine. That is deliberate: it blocks key sharing and doubles as an intrusion alarm — if your agent suddenly fails auth, someone else used your key; go to the dashboard and revoke.
Older self-hosted backends without the rotate endpoint keep working — the pasted key simply stays active as before.
zk_live_, get it from the dashboard above| Tool | Description |
|---|---|
list_cards | List all virtual card aliases and balances |
check_balance | Check spendable USD balance for a card alias |
get_deposit_addresses | Get your Base deposit address to top up with USDC (stablecoin on Base) |
set_api_key | Activate a new Passport Key instantly, no restart needed |
show_api_key_status | Check if a Passport Key is currently loaded (prefix only) |
| Tool | Description | |
|---|---|---|
request_payment_token | Issue a JIT single-use virtual-card token for a specific amount (1hr TTL). Pass cart, criteria, and ship_to to create the signed issuance record | |
execute_payment | Two calls required: first without recheck returns the locked criteria and charges nothing; second supplies `recheck: { page_shows, decision: go\ | pause }. pause does not fill the card; confirmed go` returns a signed receipt |
cancel_payment_token | Cancel an unused token and refund to wallet | |
request_human_approval | Pause and request human confirmation before proceeding |
| Tool | Description |
|---|---|
auto_pay_checkout | Fully autonomous checkout — issues a JIT card and completes payment (crypto checkout only with Z_ZERO_ENABLE_WEB3_PAY=1) |
get_merchant_hints | Fetch platform-specific checkout playbook (pre-steps + selectors) from Knowledge Base |
report_checkout_fail | Report a failed checkout with a structured `failure_class` (14-class enum) — feeds the self-healing loop |
verify_receipt | Verify a signed receipt by id — prove a purchase happened instead of claiming it |
📖 Note: Version checking is handled automatically in each API call. No separate tool needed.
Four linked records and controls an agent can use here that it cannot get from a normal virtual card alone.
Pass the cart when you request a token:
request_payment_token({
card_alias: "Card_01", amount: 44.00, merchant: "etsy.com", cart: [{ title: "Ceramic mug — matte white", qty: 2, unit_price: 18.50 }], ship_to: "12 Nguyen Hue, District 1, Ho Chi Minh City, VN", criteria: { source: "user_described", items: [ { key: "item", stated: "two matte-white ceramic mugs" }, { key: "max_total", stated: "no more than $44 delivered" } ] } })
Z-ZERO signs that statement (EIP-191) during issuance. It is a tamper-evident record of the criteria the agent supplied as the owner's instruction — not an independent proof that the human personally approved every line. The shipping address is stored as a hash, never raw.
Before you request a token, compare the checkout page with what the user actually asked for — same items, same quantity, same variant, same destination. A mismatch you catch there costs nothing. After the token, it costs a card.
go or pauseexecute_payment is deliberately a two-call tool:
// Call 1 — omit recheck. No browser, PAN, or charge.
execute_payment({ token, checkout_url, actual_amount: 44.00 }) // → { status: "purpose_check", nothing_charged: true, owner_asked_for: ... }
// Call 2 — describe the final page and make an explicit decision. execute
冒頭だけを表示しています。続きはリポジトリで読めます