Market Oracle MCP — real market state for AI agents (Aleph Hackathon 2026)
Casandra has 9 tools with clear verb-noun naming (get_*, check_*) and comprehensive descriptions (avg 180 chars). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not explicitly documented in the source code, only inferred from type definitions in market-core/src/index.ts. Error handling is minimal; tools lack recovery guidance and actionable error messages. No tool annotations (readOnlyHint, destructiveHint) despite all being READ_ONLY. Parameter descriptions are good but some lack format constraints (e.g., 'symbol' accepts free-form strings with no enum). The server is well-structured but falls short of production-grade polish.
OPTIONAL sponsor WDK gate: only AFTER get_market_pulse and only if the agent chooses to act. BEFORE wdk-mcp send_token, call this. Returns allow_wdk_send (false when action=avoid). Casandra informs; the agent decides; WDK is not the product.
Casandra: fast market context bullets for a symbol (bias + BTC reference). Context only — not an entry recommendation.
SECONDARY: headlines + casandra-news-v1 analysis for a symbol. Prefer get_market_pulse for the full Evidence Pack. NOT financial advice.
PRIMARY Casandra tool — consume-only Evidence Pack so the agent can decide on its own: why{}, reasons[], meters (price/F&G/news), headlines, confidence, market_favor, and verdict as a CONTEXT HINT (not a trade order, not a prediction). Do not reinvent casandra-pulse-v1 — read JSON only. Call this before any optional WDK action.
Summarize market state (bullish/bearish/sideways) for one or more symbols using 24h % change.
Output schemas not documented in tool definitions. Type definitions exist in market-core/src/index.ts (PriceQuote, MarketPulse, etc.) but are not exposed in MCP tool registration. LLMs cannot plan downstream operations without knowing response structure.
Symbol parameter accepts free-form strings with no enum constraint. Description says 'e.g. btc, eth, usdt, sol' but does not enforce valid values. LLMs may pass invalid symbols like 'bitcoin' (should be 'btc') or hallucinated tickers.
No tool annotations despite all tools being READ_ONLY. MCP spec supports readOnlyHint to signal safe tools. Absence forces LLMs to reason about safety from descriptions alone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Casandra: current investment/portfolio state (value, PnL %, weights, USDT share). Omit positions to use the demo portfolio.
Get current USD price and 24h change for a crypto symbol (e.g. btc, eth, usdt).
Casandra supporting evidence: transparent risk score 0–100 (low/med/high) with explainable factors. action is an agent decision hint (context), not a trade/send order. Prefer get_market_pulse for full Evidence Pack. Not financial advice.
Health check for the Casandra MCP server.
Error handling is implicit. No explicit error responses, recovery guidance, or actionable error messages in tool definitions. If an API call fails or symbol is invalid, LLMs receive no guidance on what to do next.
Parameter 'side' in get_market_pulse is described as 'enum' but no enum values are listed. Description says 'Optional trade side to align market_favor' but does not specify valid options (e.g., 'buy', 'sell', 'long', 'short').