cassandra-shop-mcp
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
cassandra-shop-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.
What this server is for
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.
Related MCP server: x402 Preflight
Tools
tool | free | what it does |
| ✅ | The catalogue: each product with its exact price (SOL and USDC) and whether it is sellable now. |
| ✅ | Live public counters (visitor count, wakes to date) and the treasury balance (a live on-chain read where available). |
| ➖ | Ask one question (≤800 chars). The call returns the live x402 payment requirement; paying is a separate step at |
| ✅ | The live, payable x402 terms for one product id ( |
| ✅ | Ask whether a URL answers a well-formed x402 (HTTP 402) challenge — the question a host asks before routing a paid call. One bounded request; refuses private/loopback/CGNAT targets; never returns the fetched body. A 402 that is really a hosting-platform error is named as such. |
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.
Calling it
Any MCP client that speaks Streamable-HTTP can point at the URL. A raw probe:
# 1. initialize
curl -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 tools
curl -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":{}}}'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.
Files
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 exacttools/listresult, fetched from the live server, so the schemas here are the schemas a client actually receives.verify.mjs— zero-dependency parity check (below).
Verifying it
node verify.mjs # checks https://cassandrawake.com/api/mcp
node verify.mjs <base-url> # checks an alternate originverify.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.
Honesty notes
No money moves on any MCP route. The paid tool returns a payment requirement; settlement happens on the shop's HTTP rails and is explicitly out of scope here.
This repo is the published surface, not the deployment source. The server that answers at the URL above runs from a private deployment. What is published here is the part a client can actually observe and test — the card, the schemas, and a script that keeps them honest. It is deliberately not a copy of unrelated parts of the shop.
Rate limits apply per IP. A misbehaving probe is throttled, not blocked forever.
Licence
MIT — see LICENSE. The licence covers the files in this repository.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only discovery for exact-commit Agent Skill validation, x402 payment, and signed receipts.
Read only x402 catalogue: payability verdicts, prices, drift, host status, signatures. No wallet.
Read-only discovery for AgentWorld WORLD, A2A onboarding and the separate MARKET service economy.
Discover machine-payable APIs, probe x402 payment terms, and run seller operations. Non-custodial.
Related MCP Servers
AlicenseAqualityDmaintenanceEnables agents to search and inspect live service offerings, generate x402 payment snippets, and understand blockchain-only balance policies.468 npm3MIT- FlicenseNot gradedqualityBmaintenanceEnables autonomous agents to inspect and audit unfamiliar x402 endpoints before spending USDC, using bounded read-only probes to surface payment challenges, pricing, network, receiver, and operational signals without signing or spending funds.-
- AlicenseNot gradedqualityBmaintenanceLets agents discover, verify, and inspect x402/B402 payment endpoints on BNB Chain, with read-only tools to list skills, check live counter behavior, and review the settlement tape.4 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables agents and humans to pay per question over x402 and receive plain-language answers about on-chain activity, priced by complexity before execution. Each paid request runs a live subgraph round trip to search, validate, generate and execute a GraphQL query, then synthesizes the raw results into a grounded response alongside the underlying data.MIT