# io.github.sF1nX/x402station (npm · x402station-mcp)

x402station.io: independent risk-signal layer for x402 endpoints before agents pay.

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

## Components

- npm · `x402station-mcp`: 68/100 (this document), [markdown](https://verifymcp.io/servers/sf1nx-x402station/x402station-mcp.md), [page](https://verifymcp.io/servers/sf1nx-x402station/x402station-mcp)

## Channel facts

- Registry: `npm`
- Package: `x402station-mcp`
- Version: `1.0.11`
- 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 (113 of 117), 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 (113 of 117), 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 62 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1057 tokens (~105/item across 10 items; 10 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **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 sf1nx-x402station -- npx -y x402station-mcp
```

### Codex

```bash
codex mcp add sf1nx-x402station -- npx -y x402station-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sf1nx-x402station": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "x402station-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sf1nx-x402station --command npx --arg -y --arg x402station-mcp
```

### Hermes

```yaml
mcp_servers:
  sf1nx-x402station:
    command: "npx"
    args: ["-y", "x402station-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "sf1nx-x402station": {
      "command": "npx",
      "args": [
        "-y",
        "x402station-mcp"
      ]
    }
  }
}
```

## 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-03 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 67, +46)

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

### 2026-08-01 (score 21, +14)

- [functional regression] Dependency health: partial → unverified
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-31 (score 7, −21)

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

### 2026-07-30 (score 28, −18)

- [security regression] Malware scan: pass → unverified

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

First indexed and scored.

## MCP tools (10)

### `preflight` (~66 tokens)

Preflight risk check

Preflight x402 scam check: endpoint risk before you pay — decoy / zombie / price-trap / never-paid? Trust verdict in ~200ms before PAYMENT-SIGNATURE.

Input parameters:

- `url` (string, required): The full URL of the x402 endpoint the agent is about to pay.

### `forensics` (~51 tokens)

7-day forensics report

Forensic x402 scam/risk report for a suspicious endpoint: probe history, signatures, decoy / price-trap patterns.

Input parameters:

- `url` (string, required): The full URL of the x402 endpoint to analyse.

### `catalog_decoys` (~32 tokens)

Full decoy / zombie blacklist

Searchable catalog of x402 endpoint risk signals; scam-like decoys, zombies, and price-traps flagged.

### `buy_credits` (~50 tokens)

Buy prepaid preflight credits

Prepaid credit pack for high-frequency x402 scam checks, preflight, and verified calls. Returns { creditId, balance, expiresAt }; use X-Credit-Id on subsequent preflight calls.

### `credits_status` (~107 tokens)

Read a credit's current balance + expiry

Free, no payment required. Returns { creditId, balance, initialBalance, used, paidAmount, createdAt, expiresAt, expired, paymentTx, paymentNetwork }. UUID-only access — anyone holding the creditId can read state, same as decrement. 404 covers both 'malformed UUID' and 'no such credit' (same body so an attacker scraping random UUIDs can't tell them apart).

Input parameters:

- `creditId` (string, required): The creditId UUID returned by buy_credits.

### `whats_new` (~195 tokens)

Catalog diff polling — added / removed endpoints since `since`

Polling-friendly catalog diff. Body { since?, limit? } (default since=now-24h, limit=200, max 500). Returns added_endpoints[] (first_seen_at >= since AND is_active=true), removed_endpoints[] (flipped to is_active=false since), service-level counts, polls_in_window, and current active totals. Cheap ($0.001 USDC) so hourly polling stays under $1/month — perfect for aggregator agents that need a fresh delta without re-pulling the whole catalog. Internal ingest cron runs every 5 min, so polling more often than that returns identical data.

Input parameters:

- `limit` (integer): Per-list cap (1..500, default 200). Applied independently to added_endpoints and removed_endpoints.
- `since` (string): ISO 8601 timestamp. Default = now() - 24h. Cannot be older than 30 days or in the future.

### `alternatives` (~124 tokens)

Routing fallback — siblings to a flagged endpoint

Avoid paying unsafe x402 endpoints: ranked safe alternatives for the same capability.

Input parameters:

- `limit` (integer): Max alternatives to return (1..10, default 5).
- `taskClass` (string): Service category hint (e.g. 'llm-completions', 'Inference'). Used as a fallback match key when `url` is unknown to the catalog, OR alone for category-only discovery.
- `url` (string): URL flagged by preflight (or otherwise rejected). Looked up in the catalog to extract provider / domain / category / price band as match keys.

### `watch_subscribe` (~234 tokens)

Subscribe to webhook alerts on x402 endpoint state changes

Monitor x402 endpoint risk; webhook on scam-like decoy / zombie / price-trap status changes. Returns watchId + secret; x402station.io posts HMAC-SHA256-signed JSON when subscribed signals fire or clear.

Input parameters:

- `signals` (array): Signal names to alert on. Defaults to ['dead', 'zombie', 'decoy_price_extreme']. Full vocabulary covers preflight + forensics signals.
- `url` (string, required): The x402 endpoint URL to watch.
- `webhookUrl` (string, required): Where x402station should POST alert payloads. Must be HTTPS, reachable from the public internet, and contain no userinfo (no user:pass@host). Loopback (127.0.0.1, ::1, localhost), private (RFC1918, l…

### `watch_status` (~102 tokens)

Check watch subscription status + recent alerts

Returns the current state of a watch: active/expired, alerts remaining (out of 100 prepaid), last 10 alert deliveries with their delivery_status, and the last computed signal snapshot. Free — no payment required, secret-gated. The secret is the one returned by watch_subscribe.

Input parameters:

- `secret` (string, required): The 64-char hex secret returned by watch_subscribe.
- `watchId` (string, required): The watchId UUID returned by watch_subscribe.

### `watch_unsubscribe` (~96 tokens)

Unsubscribe from a watch (deactivate)

Deactivates the watch — no further alerts will be queued or delivered. The subscription is set is_active=false but the row + alert history is retained for audit. Free — no payment required, secret-gated. There is no refund for unused prepaid alerts.

Input parameters:

- `secret` (string, required): The 64-char hex secret returned by watch_subscribe.
- `watchId` (string, required): The watchId UUID returned by watch_subscribe.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/sf1nx-x402station/x402station-mcp#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 67
- 2026-08-01: 21
- 2026-07-31: 7
- 2026-07-30: 28
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/x402station-mcp
- Socket report: https://socket.dev/npm/package/x402station-mcp
- Repository: https://github.com/sF1nX/x402station-mcp
- Changelog RSS feed: https://verifymcp.io/servers/sf1nx-x402station/x402station-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/sf1nx-x402station/x402station-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/sf1nx-x402station/x402station-mcp
