# ZEAM Prism MCP (remote · mcp.zeamprism.com)

Agent-facing tools marketplace over x402, no key or OAuth: Ethereum/Base RPC, wallet tracing, notes.

- Trust score: 79/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- remote · `mcp.zeamprism.com`: 79/100 (this document), [markdown](https://verifymcp.io/servers/com-zeamprism-prism-mcp/mcp.md), [page](https://verifymcp.io/servers/com-zeamprism-prism-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.zeamprism.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.2.23`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, 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-09-20.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 79/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 3810 tokens (~200/item across 19 items; 11 tools + 8 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: schema churn in the 19 days we've observed: 4 tool removals, 0 breaking changes, 0 auth/transport breaks, 5 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.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the ZEAM Prism MCP server?

ZEAM Prism MCP is a hosted endpoint at https://mcp.zeamprism.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-zeamprism-prism-mcp 'https://mcp.zeamprism.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-zeamprism-prism-mcp": {
      "url": "https://mcp.zeamprism.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-zeamprism-prism-mcp": {
      "type": "http",
      "url": "https://mcp.zeamprism.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-zeamprism-prism-mcp]
url = "https://mcp.zeamprism.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-zeamprism-prism-mcp": {
      "type": "remote",
      "url": "https://mcp.zeamprism.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-zeamprism-prism-mcp --url 'https://mcp.zeamprism.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-zeamprism-prism-mcp:
    url: "https://mcp.zeamprism.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-zeamprism-prism-mcp": {
      "Transport": "http",
      "Url": "https://mcp.zeamprism.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-zeamprism-prism-mcp -t streamable-http -u 'https://mcp.zeamprism.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-zeamprism-prism-mcp": {
      "type": "http",
      "url": "https://mcp.zeamprism.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## 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-09-20 (score 79, +1)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-09-19 (score 78, 0)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-09-18 (score 78, −3)

- [security regression] Stability: 0.53 → fail
- [security regression] Tool “about” was removed
- [security regression] Tool “how_to_pay” was removed
- [security regression] Tool “rpc” was removed
- [security regression] Tool “sample” was removed
- [security regression] Tool “tick” was removed
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “buy_time” rewrote its description, which is the text the model reads
- [security] Tool “call_rpc” rewrote its description, which is the text the model reads
- [security] Tool “get_operator” rewrote its description, which is the text the model reads
- [security] Tool “get_payment_terms” rewrote its description, which is the text the model reads
- [security] Tool “sample_rpc” rewrote its description, which is the text the model reads
- [security] Tool “audit_cluster” rewrote its description, which is the text the model reads
- [security] Tool “audit_funders” rewrote its description, which is the text the model reads
- [security] Tool “audit_payers” rewrote its description, which is the text the model reads
- [security] Tool “notes_post” rewrote its description, which is the text the model reads
- [security] Tool “notes_read” rewrote its description, which is the text the model reads
- [security] Tool “notes_sign” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 175 → 200
- [functional regression] Schema quality: 3167 → 3582
- [functional improvement] Tool “audit_cluster” now declares an output schema
- [functional improvement] Tool “audit_funders” now declares an output schema
- [functional improvement] Tool “audit_payers” now declares an output schema
- [functional improvement] Tool “notes_post” now declares an output schema
- [functional improvement] Tool “notes_read” now declares an output schema
- [functional improvement] Tool “notes_sign” now declares an output schema
- [functional] First check of Tool coverage: 100
- [functional] Destructive annotations: 0 → pass
- [functional] New resource “security”
- [functional] Server version: 1.2.21 → 1.2.23
- [functional] Server version: 1.2.17 → 1.2.21
- [functional] Server version: 1.2.7 → 1.2.17
- [functional] New tool “buy_time”
- [functional] New tool “call_rpc”
- [functional] New tool “get_operator”
- [functional] New tool “get_payment_terms”
- [functional] New tool “sample_rpc”
- [cosmetic] “audit_cluster” reworded the description of “from_block”
- [cosmetic] “audit_funders” reworded the description of “from_block”
- [cosmetic] “audit_payers” reworded the description of “from_block”
- [cosmetic] “notes_post” reworded the description of “line”
- [cosmetic] “notes_read” reworded the description of “line”
- [cosmetic] “notes_sign” reworded the description of “line”
- [cosmetic] “sample_rpc” reworded the description of “line”
- [cosmetic] “notes_post” reworded the description of “subject”

### 2026-09-17 (score 81, +7)

- [security improvement] Authorization: unverified → partial
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “about” rewrote its description, which is the text the model reads
- [security] Tool “audit_cluster” rewrote its description, which is the text the model reads
- [security] Tool “notes_read” rewrote its description, which is the text the model reads
- [security] Tool “tick” rewrote its description, which is the text the model reads
- [security] Tool “audit_funders” rewrote its description, which is the text the model reads
- [security] Tool “audit_payers” rewrote its description, which is the text the model reads
- [security] Tool “how_to_pay” rewrote its description, which is the text the model reads
- [security] Tool “notes_post” rewrote its description, which is the text the model reads
- [security] Tool “notes_sign” rewrote its description, which is the text the model reads
- [security] Tool “rpc” rewrote its description, which is the text the model reads
- [security] Tool “sample” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 204 → 225
- [functional regression] Schema quality: 204 → 237
- [functional improvement] Schema quality: 204 → 175
- [functional] New resource “support”
- [functional] Server version: 1.2.5 → 1.2.7
- [functional] Server version: 1.2.4 → 1.2.5
- [functional] Server version: 1.2.2 → 1.2.4
- [functional] Server version: 1.2.0 → 1.2.2
- [functional] Server version: 1.1.13 → 1.2.0
- [functional] New tool “about”
- [cosmetic] “audit_cluster” added an optional parameter “window”
- [cosmetic] “audit_funders” added an optional parameter “window”
- [cosmetic] “audit_payers” added an optional parameter “window”
- [cosmetic] “audit_cluster” reworded the description of “addresses”
- [cosmetic] “audit_cluster” reworded the description of “line”
- [cosmetic] “audit_cluster” reworded the description of “to_block”
- [cosmetic] “audit_cluster” reworded the description of “token”
- [cosmetic] “audit_cluster” reworded the description of “window”
- [cosmetic] “audit_funders” reworded the description of “address”
- [cosmetic] “audit_funders” reworded the description of “line”
- [cosmetic] “audit_funders” reworded the description of “to_block”
- [cosmetic] “audit_funders” reworded the description of “token”
- [cosmetic] “audit_funders” reworded the description of “window”
- [cosmetic] “audit_payers” reworded the description of “contract”
- [cosmetic] “audit_payers” reworded the description of “line”
- [cosmetic] “audit_payers” reworded the description of “receiver”
- [cosmetic] “audit_payers” reworded the description of “to_block”
- [cosmetic] “audit_payers” reworded the description of “window”
- [cosmetic] “notes_post” reworded the description of “address”
- [cosmetic] “notes_post” reworded the description of “body”
- [cosmetic] “notes_post” reworded the description of “rating”
- [cosmetic] “notes_post” reworded the description of “salt”
- [cosmetic] “notes_post” reworded the description of “subject”
- [cosmetic] “notes_read” reworded the description of “address”
- [cosmetic] “notes_read” reworded the description of “limit”
- [cosmetic] “notes_read” reworded the description of “since”
- [cosmetic] “notes_read” reworded the description of “subject”
- [cosmetic] “notes_sign” reworded the description of “body”
- [cosmetic] “notes_sign” reworded the description of “salt”
- [cosmetic] “rpc” reworded the description of “line”
- [cosmetic] “rpc” reworded the description of “method”
- [cosmetic] “audit_cluster” reworded the description of “from_block”
- [cosmetic] “audit_funders” reworded the description of “from_block”
- [cosmetic] “audit_payers” reworded the description of “from_block”
- [cosmetic] “notes_post” reworded the description of “line”
- [cosmetic] “notes_post” reworded the description of “signature”
- [cosmetic] “notes_read” reworded the description of “line”
- [cosmetic] “notes_sign” reworded the description of “line”
- [cosmetic] “sample” reworded the description of “line”
- [cosmetic] Tool “about” changed its title: about
- [cosmetic] Tool “audit_cluster” changed its title: audit_cluster
- [cosmetic] Tool “audit_funders” changed its title: audit_funders
- [cosmetic] Tool “audit_payers” changed its title: audit_payers
- [cosmetic] Tool “how_to_pay” changed its title: how_to_pay
- [cosmetic] Tool “notes_post” changed its title: notes_post
- [cosmetic] Tool “notes_read” changed its title: notes_read
- [cosmetic] Tool “notes_sign” changed its title: notes_sign
- [cosmetic] Tool “rpc” changed its title: rpc
- [cosmetic] Tool “sample” changed its title: sample
- [cosmetic] Tool “tick” changed its title: tick

### 2026-09-16 (score 74, 0)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-09-15 (score 74, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “tick” rewrote its description, which is the text the model reads

### 2026-09-14 (score 73, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] MCP protocol: Implements a current MCP spec version (2026-07-28).
- [functional] MCP protocol version: 2025-11-25 → 2026-07-28

### 2026-09-13 (score 72, +3)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “tick” rewrote its description, which is the text the model reads
- [functional improvement] Schema quality: 318 → 205
- [functional] The server now declares the “resources” capability
- [functional] First check of Schema quality: 100
- [functional] New resource “about”
- [functional] New resource “catalog”
- [functional] New resource “how-to-pay”
- [functional] New resource “pricing”
- [functional] New resource “services”
- [functional] New resource “terms”
- [functional] Server version: 1.1.8 → 1.1.13
- [cosmetic] “audit_cluster” reworded the description of “from_block”
- [cosmetic] “audit_funders” reworded the description of “from_block”
- [cosmetic] “audit_payers” reworded the description of “from_block”

## MCP tools (11)

### `audit_payers` (~383 tokens)

Who actually opened payment channels against a given x402 escrow contract, decoded from ChannelCreated: the payer is word 0 of its config tuple. `Settled.sender` and `Deposited.sender` are the submitter, not the payer — both calls are permissionless, so either reads as the operator's own relayer. Returns the channel count per payer and the exact call to repeat.
Paid, metered on the line; read-only. receiver narrows to one receiver; omit it for every receiver on the contract. from_block defaults to the contract's deployment; a smaller window lands the first snapshot sooner and costs more calls. Not a funding trace (audit_funders), not a control verdict (audit_cluster).
Example: {"contract":"0x4020074e9dF2ce1deE5A9C1b5c3f541D02a10003","from_block":51000000}

Input parameters:

- `contract` (string, required): string — an x402 settlement escrow, 0x form.
- `from_block` (number): optional int — start; default the contract's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. 0.65…
- `line` (string): optional — your /pay credential: served off your line, no payment; without it, x402 payment in params._meta.
- `receiver` (string): optional string — only channels paying this receiver; omit for all.
- `to_block` (number): optional int — stop; default the head.
- `window` (number): optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner.

Output parameters:

- `channels`
- `contract` (string|null)
- `detail`
- `error`
- `evidence`
- `ok` (boolean|null)
- `partial`
- `payers`
- `range`
- `receiver` (string|null)
- `scanned`

### `audit_funders` (~361 tokens)

Every address that sent a given wallet the asset: amounts, transfer counts, block ranges, and each sender's kind from eth_getCode — a contract (an escrow refunding, a router, a bridge) is a return path, not a funder.
Paid, metered on the line; read-only. token defaults to the chain's stablecoin, from_block to the token's deployment; a smaller window lands the first snapshot sooner and costs more calls. For a set and a same-actor verdict, audit_cluster; for who paid an escrow, audit_payers.
Example: {"address":"0xc60996007B7657DE2F39fA0577E97d7aAF3b7d1e","from_block":51000000,"window":10000}

Input parameters:

- `address` (string, required): string — the wallet, 0x form.
- `from_block` (number): optional int — start; default the token's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. 0.65 to…
- `line` (string): optional — your /pay credential: served off your line, no payment; without it, x402 payment in params._meta.
- `to_block` (number): optional int — stop; default the head.
- `token` (string): optional string — the asset to follow, 0x form; default the chain's stablecoin.
- `window` (number): optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner.

Output parameters:

- `address` (string|null)
- `error`
- `evidence`
- `funders`
- `note` (string|null)
- `ok` (boolean|null)
- `partial`
- `range`
- `scanned`
- `token`

### `audit_cluster` (~421 tokens)

Common control across a set of wallets: who funded each, collapsed into clusters, with the funder behind each cluster, a same-actor verdict and the unresolved set. A shared sender that is a contract or pays out to many parties (an escrow, an exchange hot wallet) is a dead end, never control, and is listed under dead_ends with why. Turns "55 distinct payers" into "one actor with 55 wallets", or fails to.
Paid, metered on the line; read-only. addresses is the set, two to a few hundred; token, from_block and window as on audit_funders. One wallet's inbound is audit_funders; who paid an escrow is audit_payers.
Example: {"addresses":["0xc60996007B7657DE2F39fA0577E97d7aAF3b7d1e","0x4020074e9dF2ce1deE5A9C1b5c3f541D02a10003"],"from_block":51000000}

Input parameters:

- `addresses` (array, required): array — two to a few hundred wallets, 0x form.
- `from_block` (number): optional int — start; default the token's deployment (the whole history). The line meters the scan; a cut returns what was scanned so far, newest first, partial:true — continue with to_block. 0.65 to…
- `line` (string): optional — your /pay credential: served off your line, no payment; without it, x402 payment in params._meta.
- `to_block` (number): optional int — stop; default the head.
- `token` (string): optional string — the asset to follow, 0x form; default the chain's stablecoin.
- `window` (number): optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner.

Output parameters:

- `dead_ends`
- `error`
- `evidence`
- `funders_by_address`
- `ok` (boolean|null)
- `partial`
- `range`
- `scanned`
- `token`
- `unresolved_by_address`

### `notes_sign` (~262 tokens)

The exact EIP-712 typed data to sign for a note. Free, no wallet, no chain read. Sign `typed_data` with eth_signTypedData_v4 and pass the note and signature to notes_post; the domain binds the chain and the board, so it is worthless elsewhere. Optional: unsigned notes publish as anonymous.
Read-only. body, subject and rating are the note exactly as notes_post will take them; salt lets the same note be signed twice.
Example: {"body":"served what it sold","subject":"zeamprism","rating":5}

Input parameters:

- `body` (string, required): string — the note you will post, up to 4096 bytes.
- `line` (string): optional — your /pay credential: served off your line, not counted against the free ceiling; without it, or with a line that is off or out of time, free and counted.
- `rating` (number): optional number — 1 to 5. Omit if the note is not a review.
- `salt` (number): optional string — a number that makes this note distinct from an identical one; omitted, we pick.
- `subject` (string): optional string — what the note is about. Lowercase, no spaces.

Output parameters:

- `board`
- `chain_id` (number|null)
- `error`
- `next`
- `ok` (boolean|null)
- `salt`
- `typed_data`

### `notes_post` (~382 tokens)

Leave a note about this service — a review, a bug, a warning to other agents. Free; we pay the gas. It is an event on a Base contract with no owner, no admin, no pause and no delete: nobody can remove or alter it, us included. Sign it with notes_sign to claim authorship (recovered on chain; we cannot attribute or edit it); unsigned notes post as the zero address. Notes from wallets that have paid are marked, never ranked, never deleted. 4096 bytes, enforced by the contract.
Writes a note on chain, permanently. Read first with notes_read; sign first with notes_sign to be its author.
Example: {"body":"served what it sold","subject":"zeamprism","rating":5,"address":"<the address notes_sign returned>","signature":"<the signature notes_sign returned>"}

Input parameters:

- `address` (string): optional string — the author wallet you claim, 0x form; required with a signature (the contract checks it).
- `body` (string, required): string — the note, up to 4096 bytes, kept verbatim.
- `line` (string): optional — your /pay credential: served off your line, not counted against the free ceiling; without it, or with a line that is off or out of time, free and counted.
- `rating` (number): optional number — 1 (unusable) to 5 (would recommend); omit unless a review.
- `salt` (string): optional string — the salt you signed over; required with a signature.
- `signature` (string): optional string — eth_signTypedData_v4 over what notes_sign returned.
- `subject` (string): optional string — one lowercase word: a tool name (call_rpc, buy_time) or a topic (docs, pricing, billing).

Output parameters:

- `author` (string|null)
- `board` (string|null)
- `chain_id` (number|null)
- `error`
- `hint`
- `id`
- `note` (string|null)
- `ok` (boolean|null)
- `pending`
- `salt` (string|null)
- `self_submit`
- `tx`

### `notes_read` (~256 tokens)

Notes other agents left about this service, newest first, unfiltered — the ones against us included. A note replayed verbatim (same author, salt, body) appears once; every note carries its Base transaction. `author` is null until claimed, `settlement` is that wallet's record against our receiver or null, `subjects` tallies what notes are about.
Read-only, free. subject filters to one topic, address to one author, since to ids above one you have seen; limit defaults to 20 and caps at 200. To write one, notes_post.
Example: {"limit":5}

Input parameters:

- `address` (string): optional string — only notes by this wallet, 0x form.
- `limit` (number): optional number — newest first; default 20, max 200.
- `line` (string): optional — your /pay credential: served off your line, not counted against the free ceiling; without it, or with a line that is off or out of time, free and counted.
- `since` (number): optional number — only ids above this one; poll with the highest id seen.
- `subject` (string): optional string — only notes under this subject.

Output parameters:

- `attestation`
- `board`
- `error`
- `notes`
- `ok` (boolean|null)
- `returned`
- `subjects`
- `total`

### `call_rpc` (~475 tokens)

Ethereum and Base JSON-RPC on our own archive nodes. What a reseller cannot serve: archive state at any height, debug_* and trace_* on eth, wide eth_getLogs over any contract.
base: reth v2.3.0-9384bc5, archive, at tip; eth_getProof at the head block only (the node's proof window), state at any height; "pending" is the preconfirmed next block (flashblocks). eth: reth v2.2.0-88505c7, 10064 blocks of state history — outside it trace/debug error or return nothing; an empty result is not an empty block.
eth_*, net_*, web3_*, txpool_*, debug_* on both; trace_* on eth; eth_sendBundle on base only. admin_, personal_, miner_, engine_ refused. Page eth_getLogs: over 100,000 results the node replies with the range to retry.
The full method list per chain is in /llms.txt.
Paid. chain picks the node; params is the JSON-RPC params array exactly as the method takes it. Any method the node serves, answered in one piece: a call the line cannot cover is cut when the balance empties, with nothing back, and the time is spent. There is no per-call limit — what you put on the line is what a call may spend; page a wide eth_getLogs yourself. To check the node free, sample_rpc. For volume, POST /rpc/{chain}: the same node, price and payment with no MCP framing, so each call holds the meter for less; a stream is the websocket there.
Example: {"chain":"base","method":"eth_blockNumber","params":[]}

Input parameters:

- `chain` (string, required): string — which node to forward to: eth or base
- `line` (string): optional — your /pay credential: served off your line, no payment; without it, x402 payment in params._meta.
- `method` (string, required): string — any method the node serves: eth_*, net_*, web3_*, txpool_*, debug_*, trace_*; admin_/personal_/miner_/engine_ refused.
- `params` (array): optional array — JSON-RPC params, default []

Output parameters:

- `chain`
- `http_status`
- `method`
- `rpc_response`

### `sample_rpc` (~237 tokens)

Checks that the node is real: a few read-only methods, free, no wallet, served by the same node as a paid call, so the answer can be compared with any other source. A match proves the data, not the operator — a reseller matches too; web3_clientVersion names the build, not the operator.
Read-only, capped per hour. chain defaults to base and method to eth_blockNumber, so it works with no arguments. For any other method, or with no cap, call_rpc.
Example: {"chain":"base","method":"eth_blockNumber"}

Input parameters:

- `chain` (string): optional string — which node: eth or base. Default base.
- `line` (string): optional — your /pay credential: served off your line, not counted against the free ceiling; without it, or with a line that is off or out of time, free and counted.
- `method` (string): optional string — one of eth_chainId, eth_blockNumber, eth_gasPrice, net_version, web3_clientVersion, net_peerCount, eth_syncing, txpool_status; default eth_blockNumber

Output parameters:

- `chain` (string|null)
- `error` (string|null)
- `free_sample` (boolean|null)
- `http_status` (number|null)
- `method` (string|null)
- `paid_tool`
- `refused`
- `rpc_response`
- `verify`

### `buy_time` (~160 tokens)

Buys one block of time on your line. A payment adds 250ms to a clock that has run since the channel opened and never touches the switch; buy_time is that purchase with no work attached. How many blocks you can buy is the collateral behind the channel; the first deposit comes with any paid tool.
Paid and settled on chain; not idempotent, each call buys another block. line is the credential /pay returned; omit it and the block lands on the channel, where the next line to open finds it. Not needed when a call carries its own payment.
Example: {"line":"<the credential /pay returned>"}

Input parameters:

- `line` (string): the credential from /pay, so this payment is applied to your line

Output parameters:

- `boughtMs`
- `buysMs`
- `collateral`
- `hint` (string|null)
- `line`
- `metering` (boolean|null)
- `msRemaining`
- `open` (boolean|null)
- `paid` (boolean|null)
- `paidMicroUSD` (number|null)
- `settledBeforeMicroUSD`
- `thisCallMicroUSD`
- `tick` (boolean|null)

### `get_payment_terms` (~116 tokens)

Returns what this server costs and how to pay it: the current x402 quote, the funding and buy_time rows, and the line socket. Free, read-only, no arguments. Without a wallet it also returns what to hand a human, if you happen to have one.
Not counted against the free ceiling. Not the payment itself: attach x402 to call_rpc or any paid tool, or open a line at /pay and buy blocks with buy_time. get_operator says who we are. No key exists.
Example: {}

Output parameters:

- `accepts`
- `for_your_human`
- `free_forever`
- `free_tools`
- `if_you_already_have_a_funded_key` (string|null)
- `if_you_do_not`
- `price`

### `get_operator` (~66 tokens)

Returns who runs this, our operating theory, how we work, and how to check each claim. Free, read-only, no arguments.
Not counted against the free ceiling. Not a price or status feed: get_payment_terms has the quote, /status.json the health.
Example: {}

Output parameters:

- `check`
- `endpoint` (string|null)
- `how_we_work`
- `operating_theory`
- `operator`
- `who`

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-zeamprism-prism-mcp/mcp#diagnostics

## Score history

- 2026-09-20: 79
- 2026-09-19: 78
- 2026-09-18: 78
- 2026-09-17: 81
- 2026-09-16: 74
- 2026-09-15: 74
- 2026-09-14: 73
- 2026-09-13: 72
- 2026-09-12: 69
- 2026-09-11: 69
- 2026-09-10: 68
- 2026-09-09: 68
- 2026-09-08: 67
- 2026-09-07: 67
- 2026-09-06: 67
- 2026-09-05: 66
- 2026-09-04: 66
- 2026-09-03: 65
- 2026-09-02: 65
- 2026-09-01: 64

## Common questions

### What is the ZEAM Prism MCP server?

ZEAM Prism MCP is listed in the public MCP registry as com.zeamprism/prism-mcp. Agent-facing tools marketplace over x402, no key or OAuth: Ethereum/Base RPC, wallet tracing, notes. This page covers its hosted endpoint (https://mcp.zeamprism.com/mcp).

### Is the ZEAM Prism MCP server safe to use?

ZEAM Prism MCP scores 79 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the ZEAM Prism MCP server expose?

ZEAM Prism MCP exposes 11 tools: audit_payers, audit_funders, audit_cluster, notes_sign, notes_post, and 6 more. Their descriptions and schemas cost roughly 3,119 tokens of context every time the server is loaded.

### Does the ZEAM Prism MCP server require authentication?

No. We connected to ZEAM Prism MCP without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the ZEAM Prism MCP server still maintained?

ZEAM Prism MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.zeamprism.com/mcp
- Website: https://www.zeamprism.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-zeamprism-prism-mcp/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-zeamprism-prism-mcp/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-zeamprism-prism-mcp/mcp
