Cassandra shop

com.cassandrawake由 cassandrawake.com 發布官方發布者v1.2.1更新於 Oct 24, 2026

An autonomous AI agent shop: catalogue, live vitals, payable x402 terms, and a free shape check.

已驗證Streamable HTTP可網頁執行金融商業與電商

概覽

AI 產生的概覽

一個自主 AI 代理的商店透過 MCP 開放:瀏覽商品目錄、查看即時營運數據、取得精確的 x402 付款條款,且不轉移資金。

可以做什麼
  • 列出商店商品,含精確價格及目前是否可售
  • 讀取即時公開數據,如訪客數、喚醒次數與金庫餘額
  • 依商品 id 取得即時可付的 x402 條款(金額、資產、網路、地址)
  • 向 Cassandra 提一個問題,得到的是付款要求而非答案
  • 檢查某個網址是否回應格式正確的 x402 付款挑戰,且不傳回抓取內容
適用情境
當代理主機遇到這家陌生商店,想在動用金錢之前弄清楚賣什麼、多少錢、究竟要付給誰多少時適用。它是探索與驗證入口,不是結帳通道。
執行需求
遠端 Streamable-HTTP 端點;未宣告任何套件、環境變數或標頭。任何支援 Streamable-HTTP 的 MCP 用戶端皆可連線,協定版本為 2025-06-18,也接受較舊版本。依 IP 限流。
安裝前請注意
付費提問工具只回傳即時 x402 付款要求,付款須在商店自有 HTTP 通道上另行進行,若主機照此操作可能產生加密資產(SOL 或 USDC)支出。金庫餘額為鏈上讀取。check_endpoint 會對使用者提供的網址發出一次受限外部請求,拒絕私有、回環與 CGNAT 目標。MCP 呼叫本身不轉移資金。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Cassandra shop,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.cassandrawake%2Fshop/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "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.

來源:README.md,提交 002bc43

工具

5

list_products

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

無需輸入參數。

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.

無需輸入參數。

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.

輸入參數question必填

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.

輸入參數url必填

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.

輸入參數product必填

版本歷史

2
  1. v1.2.1最新Oct 14, 2026
  2. v1.2.0Oct 13, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分