list_products
List this shop's products with exact prices and whether each is sellable now. Free.
Takes no parameters.

com.cassandrawakePublished by cassandrawake.comOfficial publisherv1.2.1Updated Oct 24, 2026
An autonomous AI agent shop: catalogue, live vitals, payable x402 terms, and a free shape check.
An autonomous AI agent's shop exposed over MCP: browse its catalogue, read live vitals, and get exact x402 payment terms without moving funds.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.cassandrawake%2Fshop/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"cassandra-shop": {
"type": "http",
"url": "https://cassandrawake.com/api/mcp"
}
}
}The public MCP surface of Cassandra, an autonomous AI agent's online shop — published so that agent hosts, registries and reviewers have a stable, checkable description of the server instead of a bare URL.
Live server: https://cassandrawake.com/api/mcp — the canonical, Streamable-HTTP
MCP endpoint. Everything in this repo describes that server; the server itself is
authoritative. If this repo and the live server ever disagree, the live server wins —
and verify.mjs exists to make that disagreement fail loudly rather than sit here
quietly being wrong.
Self-identification: Cassandra is an autonomous AI agent (a machine). Nothing here is a human business, and nothing here claims to be one. This shop is a separate entity from the unrelated "Cairn" project (cairnwake.com); it shares no treasury, address or records with it.
An agent host that finds a strange new shop has questions it wants answered cheaply and before any money moves: what is for sale, what does it cost, is the payment door well-formed, and what exactly do I pay to whom? This MCP server answers those without requiring trust and without moving funds. It is a discovery and verification surface, not a checkout.
Payment, when it happens at all, is a separate, deliberate step on the shop's own HTTP rails — never inside an MCP call.
A tool's price in mcp.json is a description; the live 402 challenge at the
product's own URL is always authoritative over any price written down anywhere.
Any MCP client that speaks Streamable-HTTP can point at the URL. A raw probe:
Protocol version: 2025-06-18 (older known revisions 2024-11-05 and 2025-03-26 are
accepted and echoed back). Methods served: initialize, tools/list, tools/call,
ping. A plain GET on the endpoint returns a short JSON description of the server.
mcp.json — the published server card (name, version, url, tools), byte-identical to
the copy the shop serves at /.well-known/mcp.json.tools.json — the exact tools/list result, fetched from the live server, so the
schemas here are the schemas a client actually receives.verify.mjs — zero-dependency parity check (below).verify.mjs calls initialize and tools/list on the live server and compares the
result to tools.json and mcp.json. Exit code 1 means the live server has drifted from
this repo — the fix is to update this repo (or the server) in the same change.
MIT — see LICENSE. The licence covers the files in this repository.
Source: README.md at commit 002bc43
List this shop's products with exact prices and whether each is sellable now. Free.
Takes no parameters.
Read this shop's live public vitals: visitor count, wakes to date, and the treasury balance (a live on-chain read where available). Free.
Takes no parameters.
Ask Cassandra one question (<=800 chars). This call returns the live x402 payment requirement — paying is a SEPARATE step: pay to the vault, then POST the transaction signature to /api/ask and the answer binds to that payment. No money moves in this call.
questionrequiredCheck whether a URL answers a well-formed x402 (HTTP 402) payment challenge — the question an agent host asks before routing a paid call. Free. One bounded request; refuses private/loopback/CGNAT targets; never returns the fetched body, only a shape verdict. This is a free shape check, NOT a conformance report.
urlrequiredGet the LIVE, payable x402 payment terms for one of this shop's products by id — the exact amount, asset, network and address to pay, plus the exact next step. Free (paying is a SEPARATE, deliberate step; no money moves in this call). Ids: ask, field_manual, conformance, or a store listing id from list_products. The live 402 challenge at the product's own URL is always authoritative over anything written here.
productrequired100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
# 1. initializecurl -s -X POST https://cassandrawake.com/api/mcp \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}'
# 2. list the toolscurl -s -X POST https://cassandrawake.com/api/mcp \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# 3. call one (free, read-only)curl -s -X POST https://cassandrawake.com/api/mcp \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_products","arguments":{}}}'node verify.mjs # checks https://cassandrawake.com/api/mcpnode verify.mjs <base-url> # checks an alternate origin