The Spice Melange Trading Desk: DeepBook market data connector
A Mentat's eye on Sui DeepBook v3: read-only market data plus desk template tools. No keys.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (3)
- HIGH
- MEDIUMin list_templates
- MEDIUMin get_desk_rhythm
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"plumbline-mcp": {
"url": "https://plumbline-mcp.fly.dev/mcp"
}
}
}Remote-Endpunkte
https://plumbline-mcp.fly.dev/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (16)
🟢list_pools(asset, include_ids, payment_token, payment_tx)
List Sui DeepBook v3 spot pools with base/quote assets and trading params (tick, lot, min size in human units). Optional filter by asset symbol. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"asset": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "Only pools containing this asset symbol, e.g. SUI or USDC"
},
"include_ids": {
"type": "boolean",
"default": false,
"description": "Include pool object IDs and coin types (longer output)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_mid_price(pool, payment_token, payment_tx)
Best bid, best ask, mid price and spread (abs and bps) for a DeepBook pool, plus last trade price. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_order_book(pool, levels, within_pct, payment_token, payment_tx)
Order book for a DeepBook pool: top N price levels per side and cumulative liquidity (base qty and quote notional) within ±X% of mid. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"levels": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 10,
"description": "Price levels to return per side (1-100, default 10)"
},
"within_pct": {
"type": "array",
"items": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 50
},
"minItems": 1,
"maxItems": 6,
"default": [
0.5,
1,
2
],
"description": "Depth bands as % distance from mid, e.g. [0.5, 1, 2]"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_volume(pool, window_hours, top, payment_token, payment_tx)
24h volume, high/low, last price and % change for one DeepBook pool, or the top pools by 24h quote volume if no pool is given. Set window_hours for a custom trailing window (single pool). Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"window_hours": {
"type": "integer",
"minimum": 1,
"maximum": 720,
"default": 24,
"description": "Trailing window in hours (default 24). Non-24 values need a pool."
},
"top": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "When no pool is given: how many pools to return (default 10)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_pool_params(pool, payment_token, payment_tx)
Taker/maker fees, DEEP stake required, tick/lot/min size, whitelist/stable flags and vault balances for a DeepBook pool. Reads the live on-chain Pool object via Sui GraphQL; falls back to indexer pool-creation values if GraphQL is unavailable. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_recent_trades(pool, limit, start_time, end_time, include_tx, ...)
Most recent fills in a DeepBook pool (newest first): time, taker side, price, base and quote size. Optional time range. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 20,
"description": "Number of trades (1-200, default 20)"
},
"start_time": {
"type": "integer",
"minimum": 1600000000,
"maximum": 4102444800,
"description": "Unix timestamp in SECONDS"
},
"end_time": {
"$ref": "#/properties/start_time",
"description": "Unix timestamp in SECONDS"
},
"include_tx": {
"type": "boolean",
"default": false,
"description": "Include transaction digests (longer output)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_ohlcv(pool, interval, limit, start_time, end_time, ...)
OHLCV candles for a DeepBook pool (oldest first). Intervals: 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w. Volume is in the base asset. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"interval": {
"type": "string",
"enum": [
"1m",
"5m",
"15m",
"30m",
"1h",
"4h",
"1d",
"1w"
],
"default": "1h"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"default": 24,
"description": "Number of candles (1-500, default 24)"
},
"start_time": {
"type": "integer",
"minimum": 1600000000,
"maximum": 4102444800,
"description": "Unix timestamp in SECONDS"
},
"end_time": {
"$ref": "#/properties/start_time",
"description": "Unix timestamp in SECONDS"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_indexer_status
Health and freshness of the public DeepBook indexer (status, latest checkpoint, server time). Use when data looks stale. Education/information only; not financial advice. Read-only public data, may be delayed or wrong.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_bm_fills(pool, balance_manager_id, role, limit, hours, ...)
Fills (OrderFilled) where a given DeepBook BalanceManager was the maker or the taker in one pool, newest first: time, its side, price, qty, fee, tx. Public data; no keys. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"balance_manager_id": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "DeepBook BalanceManager object id (0x + 64 hex)"
},
"role": {
"type": "string",
"enum": [
"maker",
"taker"
],
"default": "maker"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"default": 50
},
"hours": {
"type": "integer",
"minimum": 1,
"maximum": 720,
"default": 168,
"description": "Look-back window in hours (default 168 = 7 days)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool",
"balance_manager_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_swing_range(pool, payment_token, payment_tx)
1h/4h/24h high-low range and realized volatility from hourly candles, a regime (CALM < 2%, ELEVATED 2-4%, HIGH_VOL > 4% 4h range) and a suggested ladder rung count (3/4/5). Information only, not a trading instruction. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_pool_stats(pool, hours, payment_token, payment_tx)
Scorecard-style stats for one pool over the last N hours: trade count, taker buy/sell split, base/quote volume, VWAP, average trade size, price range, current spread. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"hours": {
"type": "integer",
"minimum": 1,
"maximum": 72,
"default": 24
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_fees(pool, qty, price, role, payment_token, ...)
Estimated DeepBook fee for a fill of qty at price as maker or taker, paid in the input token (rate x 1.25) versus in DEEP (base rate), using the live on-chain fee rates and the DEEP_USDC mid. Education/information only; not financial advice. Read-only public data, may be delayed or wrong. Free: 100 calls/day per client, then 0.002 USDC per call on Sui mainnet, prepaid in batches of about 0.01 USDC (the payment-required response gives an exact amount and a payment_token).
Eingabe-Schema
{
"type": "object",
"properties": {
"pool": {
"type": "string",
"minLength": 3,
"maxLength": 40,
"description": "DeepBook pool name BASE_QUOTE, e.g. SUI_USDC (case-insensitive; '/' or '-' also accepted)"
},
"qty": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Base quantity"
},
"price": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Price; defaults to the current mid"
},
"role": {
"type": "string",
"enum": [
"maker",
"taker"
],
"default": "taker"
},
"payment_token": {
"type": "string",
"pattern": "^plb_[A-Za-z0-9_-]{43}$",
"description": "Only after the free tier: the private payment_token from the payment-required response; it holds your prepaid calls"
},
"payment_tx": {
"type": "string",
"minLength": 32,
"maxLength": 64,
"description": "Only after the free tier: Sui transaction digest of your exact USDC payment for payment_token (see the payment-required response)"
}
},
"required": [
"pool",
"qty"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_templates
List The Spice Melange Golden Path Grok Bot templates with prices in Sui USDC, versions and the no-checkout agent buying flow (from https://thespicemelange.org/store/catalog.json). Educational templates, not financial advice; no returns promised. All sales final, except where the law requires otherwise. You pay from your own wallet; this connector never holds keys or funds.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_template_order(sku, email)
Create a store order for one template. Returns the order id, a PRIVATE order token (shown once; keep it secret), the payee and the EXACT Sui USDC amount to send from your own wallet before the expiry. Nothing is charged by this call. Limited to a few orders per client per hour. Educational templates, not financial advice; no returns promised. All sales final, except where the law requires otherwise. You pay from your own wallet; this connector never holds keys or funds.
Eingabe-Schema
{
"type": "object",
"properties": {
"sku": {
"type": "string",
"pattern": "^[a-z0-9-]{2,40}$",
"description": "Template sku from list_templates, e.g. dune-saga-collection or fish-speakers"
},
"email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Optional receipt email"
}
},
"required": [
"sku"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡check_template_order(order_id, token, digest)
With a digest: verify your on-chain payment for an order and get the signed download link (plus add-ons). Without: return the order's status (and a fresh link once paid). The token is sent only to the store, in a header, and is never stored. Educational templates, not financial advice; no returns promised. All sales final, except where the law requires otherwise. You pay from your own wallet; this connector never holds keys or funds.
Eingabe-Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"pattern": "^SM-[0-9A-HJKMNP-TV-Z]{10}$",
"description": "Order id from create_template_order (SM-...)"
},
"token": {
"type": "string",
"pattern": "^smt_[A-Za-z0-9_-]{43}$",
"description": "Private order token from create_template_order (smt_...). Sent only to the store, in a header."
},
"digest": {
"type": "string",
"pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
"description": "Sui transaction digest of your exact USDC payment"
}
},
"required": [
"order_id",
"token"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_desk_rhythm
The desk's weekly rhythm from https://thespicemelange.org/rhythm.json: focus pools, ladder windows, rung guidance, rebalance ranges, projects and lessons. The ed25519 signature is verified against the pinned release key, and the call fails closed if it doesn't match. Guidance only: no orders, no sizes in money, no promised returns. Not financial advice.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis