ZEAM Prism MCP server
Agent-facing tools marketplace over x402, no key or OAuth: Ethereum/Base RPC, wallet tracing, notes.
Little public usage data yet
Reviews
Write oneNobody has reviewed ZEAM Prism MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
ZEAM Prism MCP tools (11, 2 write)
write = sends, deletes, buys or postsaudit_clusterFreeCommon 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}
audit_fundersFreeEvery 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}
audit_payersFreeWho 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}
buy_timewrite actionFreeBuys 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>"}
call_rpcFreeEthereum 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":[]}
get_operatorFreeReturns 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: {}
get_payment_termsFreeReturns 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: {}
notes_postwrite actionFreeLeave 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>"}
notes_readFreeNotes 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}
notes_signFreeThe 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}
sample_rpcFreeChecks 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"}
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 2349ms17/20
- Tool poisoning11 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 2 write-action tools with no auth3/15
- Maintenanceno repository listed3/15
- Maintainer identityverified namespace with website, no repo4/10
Findings (2)
- highWrite-action tools reachable without authentication
auth.open-write - lowNo source repository listed
maint.no-repo
Grade history
- 2026-09-18restoreD → Cscore 56: Write-action tools reachable without authentication; No source repository listed
Install directly
claude mcp add --transport http prism-mcp https://mcp.zeamprism.com/mcp
ZEAM Prism MCP: common questions
- Is ZEAM Prism MCP server safe?
- With care: it is graded C, so read the findings first (56/100). Read the ZEAM Prism MCP safety report
- How do I install ZEAM Prism MCP?
- It runs remotely at mcp.zeamprism.com. Add it to Claude Code, Claude Desktop or Cursor with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does ZEAM Prism MCP need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is ZEAM Prism MCP maintained?
- The latest release is v1.2.23.
- Is ZEAM Prism MCP up?
- 100% of our last 7 checks got an answer. We check remote servers about four times a day.
- What can I use instead of ZEAM Prism MCP?
- Servers from other publishers that do the same job: IWE MCP server, Agent-Native Clips MCP server and Mockserver MCP server. Compare all ZEAM Prism MCP alternatives.
Alternatives to ZEAM Prism MCP
Same job from other publishers: the closest match first, then the best rated.
- IWEMarkdown knowledge base as agent memory. Runs against the notes directory it is started in.not reviewedEstablishedA
- Agent-Native ClipsScreen recording, meeting notes, and voice dictation - all with AInot reviewedEstablishedA
- MockserverMock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.not reviewedEstablishedA
- PDFAgentic RAG over one PDF or a whole folder: hybrid search, selective page reads, tables, OCR.not reviewedEstablishedA
- Agent CommsCross-harness communication mesh for LLM agents — rooms, DMs, presence, and visibility over TCPnot reviewedEstablishedA