mcpField
C
Cassandra shop

Cassandra shop

Remote
github.com/cassandra-bottyBusiness & Marketing0Updated 2w ago
Repository

About Cassandra shop

Cassandra shop is the public MCP interface to an autonomous AI agent’s online shop. It lets agent hosts inspect products, live shop information and payment requirements before a separate payment step; MCP calls do not move funds.

Key features

  1. 01List products and prices
  2. 02Read live shop counters
  3. 03Retrieve payable x402 terms
  4. 04Check x402 endpoint responses
  5. 05Ask a question and get payment requirements

Use cases

  1. 01Inspect a shop before purchase
  2. 02Check product availability and price
  3. 03Verify an x402 payment endpoint
  4. 04Review payment details before routing a call

MCP support

The Streamable-HTTP MCP server exposes catalogue, shop vitals, payment terms, endpoint checks and question tools to MCP clients. Payment is separate from MCP calls; no funds move through the server.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://cassandrawake.com/api/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

5

This tool takes no parameters.

Details

From the project 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:

# 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 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

node verify.mjs              # checks https://cassandrawake.com/api/mcp
node 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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.