ZEAM Prism MCP
REMOTE · MCP.ZEAMPRISM.COM · SCANNED SEP 20
Agent-facing tools marketplace over x402, no key or OAuth: Ethereum/Base RPC, wallet tracing, notes.
Available components
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. How we score → Why this is hard to score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability79
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- 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. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability check failed: schema churn in the 19 days we've observed: 4 tool removals, 0 breaking changes, 0 auth/transport breaks, 5 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
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.
remote · mcp.zeamprism.com
claude mcp add --transport http com-zeamprism-prism-mcp 'https://mcp.zeamprism.com/mcp'
{
"mcpServers": {
"com-zeamprism-prism-mcp": {
"url": "https://mcp.zeamprism.com/mcp"
}
}
} {
"servers": {
"com-zeamprism-prism-mcp": {
"type": "http",
"url": "https://mcp.zeamprism.com/mcp"
}
}
} [mcp_servers.com-zeamprism-prism-mcp] url = "https://mcp.zeamprism.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-zeamprism-prism-mcp": {
"type": "remote",
"url": "https://mcp.zeamprism.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-zeamprism-prism-mcp --url 'https://mcp.zeamprism.com/mcp' --transport streamable-http
mcp_servers:
com-zeamprism-prism-mcp:
url: "https://mcp.zeamprism.com/mcp" {
"McpServers": {
"com-zeamprism-prism-mcp": {
"Transport": "http",
"Url": "https://mcp.zeamprism.com/mcp"
}
}
} assistant mcp add com-zeamprism-prism-mcp -t streamable-http -u 'https://mcp.zeamprism.com/mcp'
{
"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.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- 19 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 18 Sept 26 −3
- Stability: 0.53 → fail ▼ security
- Tool “about” was removed ▼ security
- Tool “how_to_pay” was removed ▼ security
- Tool “rpc” was removed ▼ security
- Tool “sample” was removed ▼ security
- 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 security
- Schema quality: 175 → 200 ▼ functional
- Schema quality: 3167 → 3582 ▼ functional
- Tool “audit_cluster” now declares an output schema ▲ functional
- Tool “audit_funders” now declares an output schema ▲ functional
- Tool “audit_payers” now declares an output schema ▲ functional
- Tool “notes_post” now declares an output schema ▲ functional
- Tool “notes_read” now declares an output schema ▲ functional
- 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” functional
- “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” cosmetic
- 17 Sept 26 +7
- 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 security
- Schema quality: 204 → 225 ▼ functional
- Schema quality: 204 → 237 ▼ functional
- 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” functional
- “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 cosmetic
- 16 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- 15 Sept 26 +1
- 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 security
- 14 Sept 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- MCP protocol version: 2025-11-25 → 2026-07-28 functional
- 13 Sept 26 +3
- 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 security
- 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 functional
- “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
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://mcp.zeamprism.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=zeamprism.com | CN=YE2,O=Let's Encrypt,C=US | 19 Aug 2026 | 17 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 5325b0f19095b7c6cc087cca79d51c978cd |
| SANs: *.zeamprism.com, zeamprism.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of mcp.zeamprism.com. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| zeamprism.com. | present | 2371 | 13 | Verified |
| mcp.zeamprism.com. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=15768000; includeSubDomains |
| x-content-type-options | nosniff |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.zeamprism.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.zeamprism.com/mcp | HTTPS enforced | 301 | https://mcp.zeamprism.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
audit_cluster ~421
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}
| Name | Type | Req | Description |
|---|---|---|---|
| addresses | array | yes | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| dead_ends | – | – | – |
| error | – | – | – |
| evidence | – | – | – |
| funders_by_address | – | – | – |
| ok | boolean|null | – | – |
| partial | – | – | – |
| range | – | – | – |
| scanned | – | – | – |
| token | – | – | – |
| unresolved_by_address | – | – | – |
No examples provided.
audit_funders ~361
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}
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| address | string|null | – | – |
| error | – | – | – |
| evidence | – | – | – |
| funders | – | – | – |
| note | string|null | – | – |
| ok | boolean|null | – | – |
| partial | – | – | – |
| range | – | – | – |
| scanned | – | – | – |
| token | – | – | – |
No examples provided.
audit_payers ~383
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}
| Name | Type | Req | Description |
|---|---|---|---|
| contract | string | yes | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| channels | – | – | – |
| contract | string|null | – | – |
| detail | – | – | – |
| error | – | – | – |
| evidence | – | – | – |
| ok | boolean|null | – | – |
| partial | – | – | – |
| payers | – | – | – |
| range | – | – | – |
| receiver | string|null | – | – |
| scanned | – | – | – |
No examples provided.
buy_time ~160
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>"}
| Name | Type | Req | Description |
|---|---|---|---|
| line | string | – | the credential from /pay, so this payment is applied to your line |
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | – | – |
No examples provided.
call_rpc ~475
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":[]}
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | yes | 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 | yes | 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 [] |
| Name | Type | Req | Description |
|---|---|---|---|
| chain | – | – | – |
| http_status | – | – | – |
| method | – | – | – |
| rpc_response | – | – | – |
No examples provided.
get_operator ~66
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: {}
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| check | – | – | – |
| endpoint | string|null | – | – |
| how_we_work | – | – | – |
| operating_theory | – | – | – |
| operator | – | – | – |
| who | – | – | – |
No examples provided.
get_payment_terms ~116
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: {}
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| accepts | – | – | – |
| for_your_human | – | – | – |
| free_forever | – | – | – |
| free_tools | – | – | – |
| if_you_already_have_a_funded_key | string|null | – | – |
| if_you_do_not | – | – | – |
| price | – | – | – |
No examples provided.
notes_post ~382
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>"}
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | optional string — the author wallet you claim, 0x form; required with a signature (the contract checks it). |
| body | string | yes | 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). |
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | – | – | – |
No examples provided.
notes_read ~256
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}
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| attestation | – | – | – |
| board | – | – | – |
| error | – | – | – |
| notes | – | – | – |
| ok | boolean|null | – | – |
| returned | – | – | – |
| subjects | – | – | – |
| total | – | – | – |
No examples provided.
notes_sign ~262
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}
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| board | – | – | – |
| chain_id | number|null | – | – |
| error | – | – | – |
| next | – | – | – |
| ok | boolean|null | – | – |
| salt | – | – | – |
| typed_data | – | – | – |
No examples provided.
sample_rpc ~237
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"}
| Name | Type | Req | Description |
|---|---|---|---|
| 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 |
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string|null | – | – |
| error | string|null | – | – |
| free_sample | boolean|null | – | – |
| http_status | number|null | – | – |
| method | string|null | – | – |
| paid_tool | – | – | – |
| refused | – | – | – |
| rpc_response | – | – | – |
| verify | – | – | – |
No examples provided.
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.