# io.github.Dempty-glitch/z-zero-mcp (npm · z-zero-mcp-server)

Payments for AI agents: gasless USDC on Base + JIT single-use virtual cards, PAN never in context.

- Trust score: 70/100 (medium)
- Change this week: +17
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `z-zero-mcp-server`: 70/100 (this document), [markdown](https://verifymcp.io/servers/dempty-glitch-z-zero-mcp/z-zero-mcp-server.md), [page](https://verifymcp.io/servers/dempty-glitch-z-zero-mcp/z-zero-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `z-zero-mcp-server`
- Version: `1.7.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 4 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 84/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1630 tokens (~116/item across 14 items; 13 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability check failed: the tool surface changed between 1.3.5 and 1.7.0: 0 tool removals, 1 breaking changes, 1 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add dempty-glitch-z-zero-mcp -- npx -y z-zero-mcp-server
```

### Codex

```bash
codex mcp add dempty-glitch-z-zero-mcp -- npx -y z-zero-mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dempty-glitch-z-zero-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "z-zero-mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dempty-glitch-z-zero-mcp --command npx --arg -y --arg z-zero-mcp-server
```

### Hermes

```yaml
mcp_servers:
  dempty-glitch-z-zero-mcp:
    command: "npx"
    args: ["-y", "z-zero-mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "dempty-glitch-z-zero-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "z-zero-mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 70, +65)

- [security regression] Provenance: unverified → fail
- [security regression] Stability: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional regression] Schema quality: pass → fail
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional] Licence: MIT

### 2026-07-31 (score 5, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 6, 0)

- [functional regression] Security disclosure: unverified → fail
- [functional] Package version: 1.6.1 → 1.7.0

### 2026-07-29 (score 6, 0)

- [functional regression] Security disclosure: fail → unverified
- [functional] Package version: 1.6.0 → 1.6.1

### 2026-07-28 (score 6, −47)

- [security regression] Malware scan: pass → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] Package version: 1.3.5 → 1.6.0

### 2026-07-27 (score 53)

First indexed and scored.

## MCP tools (13)

### `list_cards` (~24 tokens)

List all available virtual card aliases and their balances. No sensitive data is returned.

### `check_balance` (~51 tokens)

Check spendable USD balance for a card alias. For active token limits, use list_cards instead.

Input parameters:

- `card_alias` (string, required): The alias of the card to check, e.g. 'Card_01'

### `get_deposit_addresses` (~32 tokens)

Get your Base deposit address to top up your wallet with USDC (or any supported stablecoin on Base).

### `request_payment_token` (~311 tokens)

Request a single-use JIT virtual card ($1–$100) locked to one amount + merchant. ⚠️ Read mcp://resources/sop first. Only call once the FINAL total is visible — for physical goods that is AFTER shipping is submitted (use get_merchant_hints to navigate there). For digital goods with the price already visible, prefer auto_pay_checkout instead. BEFORE requesting: look at the checkout page one more time and compare it against what the user actually asked for — same items, same quantity, same variant, same destination? If anything differs, do NOT request a token; fix the cart or check with the user first. A mismatch you catch here costs nothing; after this point it costs a card. If you pass `cart`, the server signs your declared intent and binds the card to it — the user gets cryptographic proof of what this card was authorized for.

Input parameters:

- `amount` (number, required): Amount in USD to authorize (min: $1, max: $100)
- `card_alias` (string, required): Which card to charge, e.g. 'Card_01'
- `cart` (array): RECOMMENDED: the items you are buying, as the USER agreed to them. This becomes a signed intent bound to the card — proof of what was authorized.
- `merchant` (string, required): Name or URL of the merchant/service being purchased
- `ship_to` (string): Shipping destination as a single string (only a hash is stored, never the raw address).

### `get_merchant_hints` (~87 tokens)

Get merchant navigation flow for a domain or platform key (e.g. '_platform_etsy'). Returns pre_steps (how to navigate checkout) and platform notes. Call BEFORE starting checkout to understand the multi-step flow.

Input parameters:

- `domain` (string, required): The main domain of the checkout page, e.g. 'amazon.com' or 'shopify.com'. Strip 'www.' prefix.

### `execute_payment` (~260 tokens)

Execute a payment with a one-time token: Z-Zero opens a headless browser, injects the card (you NEVER see the PAN), clicks Pay, then watches for a REAL confirmation before reporting success. Returns a `status`: `confirmed` (order placed → token burned, receipt_id may hold a real order #), `declined` (merchant rejected → token kept for refund), `unconfirmed` (submitted but no confirmation seen → do NOT retry blindly, verify first), `not_submitted` (no Pay button → supply a submit_selector hint), or `no_fields`. ALWAYS pass actual_amount so overcharges are blocked and underspend refunded.

Input parameters:

- `actual_amount` (number): STRONGLY RECOMMENDED. The final total shown on the checkout page (incl. shipping + tax). Enables the overcharge block and the underspend refund — omit only if it is genuinely unreadable.
- `checkout_url` (string, required): The full URL of the checkout/payment page
- `hints` (object): Optional hints from get_merchant_hints — selectors and pre-steps to guide Playwright. Use when default selectors fail or for complex multi-step checkouts.
- `token` (string, required): The temporary payment token from request_payment_token

### `cancel_payment_token` (~70 tokens)

Cancel unused token and refund instantly. Use when user cancels the purchase or to free up a card slot.

Input parameters:

- `reason` (string, required): Reason for cancellation, e.g. 'Price mismatch: checkout shows $20 but token is $15'
- `token` (string, required): The payment token to cancel

### `request_human_approval` (~124 tokens)

Pause and ask the user for approval before risky actions (price mismatch, large amount, unusual request).

Input parameters:

- `alternative_action` (string): Alternative option if available
- `current_token` (string): Current active token ID if any
- `recommended_action` (string, required): What the bot recommends doing, e.g. 'Cancel current $15 token and issue a new $20 token'
- `situation` (string, required): Clear description of what the bot found, e.g. 'Checkout shows $20 total (includes $3 tax) but current token is only $15'

### `set_api_key` (~68 tokens)

Activate a new Passport Key instantly, no restart needed. Only call when user explicitly provides a key.

Input parameters:

- `api_key` (string, required): The new Passport Key to activate. Must start with 'zk_live_' or 'zk_test_'. Get from: https://z-zero.xyz/dashboard/agents

### `show_api_key_status` (~24 tokens)

Check if Passport Key is configured. Shows prefix only, for debugging.

### `auto_pay_checkout` (~108 tokens)

⚠️ MANDATORY: Read mcp://resources/sop first. Only use on PAYMENT pages where final total is visible. Auto-detects Web3 or Fiat and completes payment. For physical goods (Shopify, Etsy), get_merchant_hints first.

Input parameters:

- `card_alias` (string, required): Card alias to charge for JIT Fiat fallback, e.g. 'Card_01'.
- `checkout_url` (string, required): Full URL of the checkout/payment page to analyze and pay.

### `report_checkout_fail` (~344 tokens)

Report a checkout you could not complete. Pick the failure_class that best matches what you saw — this feeds Z-ZERO's self-healing loop (labeled failures become better merchant hints for the next run). If nothing fits, use 'unknown' and describe what happened in error_message.

Input parameters:

- `error_message` (string): Brief description of what you saw, e.g. 'Card number field is inside a new iframe' or 'Page redirected to CAPTCHA'. NEVER include card numbers.
- `failure_class` (string, required): Fixed failure class: 'card_declined_issuer' (card rejected by bank), 'card_declined_bin_block' (merchant refuses prepaid/virtual cards), 'avs_mismatch' (billing address rejected), '3ds_required' (ext…
- `remediation_tried` (string): What you already tried before giving up, e.g. 'retried with submit_selector from hints'.
- `step` (string): Where it failed: 'navigate' (page load), 'pre_steps' (shipping/navigation steps), 'fill_form' (card fields), 'submit' (Pay button), 'confirm' (after submitting).
- `url` (string, required): The checkout/payment page URL where the purchase failed.

### `verify_receipt` (~91 tokens)

Verify a Z-Zero signed receipt by id. Returns the receipt (what was authorized vs what actually settled, and any diff) plus signature validity. Use this to PROVE to the user that a purchase really happened — never claim a purchase succeeded from memory when a receipt exists.

Input parameters:

- `receipt_id` (string, required): The receipt_id returned by execute_payment / auto_pay_checkout (signed_receipt.receipt_id).

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/dempty-glitch-z-zero-mcp/z-zero-mcp-server#diagnostics

## Score history

- 2026-08-03: 70
- 2026-08-02: 70
- 2026-08-01: 5
- 2026-07-31: 5
- 2026-07-30: 6
- 2026-07-29: 6
- 2026-07-28: 6
- 2026-07-27: 53

## Links

- npm package: https://www.npmjs.com/package/z-zero-mcp-server
- Socket report: https://socket.dev/npm/package/z-zero-mcp-server
- Repository: https://github.com/Dempty-glitch/Z-Zero-mcp
- Website: https://z-zero.xyz/
- Changelog RSS feed: https://verifymcp.io/servers/dempty-glitch-z-zero-mcp/z-zero-mcp-server/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/dempty-glitch-z-zero-mcp/z-zero-mcp-server/changelog.json
- HTML version of this page: https://verifymcp.io/servers/dempty-glitch-z-zero-mcp/z-zero-mcp-server
