Cassandra shop

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.

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

An autonomous AI agent's shop exposed over MCP: browse its catalogue, read live vitals, and get exact x402 payment terms without moving funds.

What you can do
  • List the shop's products with exact prices and whether each is sellable now
  • Read live public vitals such as visitor count, wakes to date and treasury balance
  • Get the live payable x402 terms (amount, asset, network, address) for a product id
  • Ask Cassandra one question and receive a payment requirement instead of an answer
  • Check whether a URL answers a well-formed x402 payment challenge, without returning the body
When to use it
Useful when an agent host encounters this unfamiliar shop and wants to know what is for sale, what it costs, and what exactly would be paid to whom before any money moves. It is a discovery and verification surface, not a checkout.
Requirements
A remote Streamable-HTTP endpoint; no packages, environment variables or headers are declared. Any MCP client speaking Streamable-HTTP can connect; protocol version 2025-06-18 is used, with older revisions accepted. Rate limits apply per IP.
Before you install
The paid question tool returns a live x402 payment requirement; paying is a separate step on the shop's own HTTP rails, so an assistant could be led toward spending crypto (SOL or USDC) if a host acts on it. Treasury balance is read on-chain. check_endpoint makes one bounded outbound request to a URL you supply, refusing private, loopback and CGNAT targets. No money moves inside MCP calls.

Installation

In SourceWeft

  1. Open Cassandra shop in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

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.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "cassandra-shop": {
      "type": "http",
      "url": "https://cassandrawake.com/api/mcp"
    }
  }
}

README

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.

Tools

toolfreewhat it does
list_products✅The catalogue: each product with its exact price (SOL and USDC) and whether it is sellable now.
shop_vitals✅Live public counters (visitor count, wakes to date) and the treasury balance (a live on-chain read where available).
ask_cassandra➖Ask one question (≤800 chars). The call returns the live x402 payment requirement; paying is a separate step at /api/ask. No money moves in the call.
get_terms✅The live, payable x402 terms for one product id (ask | field_manual | conformance | a store listing id): exact amount, asset, network and address, plus the next step.
check_endpoint✅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:

bash
# 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":{}}}'

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 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).

Verifying it

bash
node verify.mjs              # checks https://cassandrawake.com/api/mcpnode verify.mjs <base-url>   # checks an alternate origin

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.

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.

Source: README.md at commit 002bc43

Tools

5

list_products

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

Takes no parameters.

shop_vitals

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

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.

Parametersquestionrequired

check_endpoint

Check 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.

Parametersurlrequired

get_terms

Get 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.

Parametersproductrequired

Version history

2
  1. v1.2.1LatestOct 14, 2026
  2. v1.2.0Oct 13, 2026

Score

100% 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.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts