MCP gateway for AI agents to Aster DEX public data: futures and spot market overviews, order books, klines, funding and TradFi-perp screeners, vault deposit flows, public account views. Read-only, keyless.
13 read-only tools with complete input schemas and descriptions. Naming is domain-specific but lacks action verbs (market_overview vs get_market_overview). Descriptions are detailed (100-300 chars) and explain use cases well. Schemas include types and constraints (enums for sort/venue, integer limits). Output schemas are NOT documented, critical gap. Error handling is mentioned in docstring but not visible in tool implementations. No tool annotations (readOnlyHint, etc.) despite all being read-only. Parameter descriptions are good but some lack explicit ranges (e.g., limit constraints stated in description text, not schema minItems/maxItems).
Public account view: balance, open orders, user fills (trades). Aster Chain tapi (aster_getBalance, aster_openOrders, aster_userFills). Privacy-aware: private accounts return empty result (honest degradation, not an error). Supports both futures and spot via tapi variants.
Vault deposit flows: Solana vault signatures and EVM vault Transfer logs (BSC/ETH/ARB). Solana: signature/slot/blockTime/err. EVM: requires env ASTER_EVM_RPC_URL or chain-specific ASTER_EVM_RPC_URL_{CHAIN}; returns honest error when unconfigured. Limit max 100.
Symbol universe with filters/precisions/statuses incl. the micro view (MIN_NOTIONAL, stepSize, leverageFilter kind). Junk filter: TEST* spot names and SETTLING futures statuses are hidden unless include_junk=True. venue in {futures, spot, both}. Single-symbol detail when `symbol` given.
Futures funding overview: current funding rates, 8h predicted rates, cap/floor bounds, and regime classification (normal/capped/floored). Top symbols by absolute funding rate. Limit max 100.
Funding screener: top symbols by annualized funding rate with regime headroom (cap/floor distance in bps). Regime: normal (headroom > 0), capped (rate at cap), floored (rate at floor). Limit max 100.
Output schemas not documented. LLMs cannot plan downstream calls or extract fields without knowing response structure. Critical for tool chaining.
Tool names lack action verbs. 'market_overview' should be 'get_market_overview' or 'list_market_overview'. Verb-first naming helps LLMs parse intent from the name alone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Candlestick data (OHLCV) for a symbol: open, high, low, close, volume, quote asset volume, trades count, taker buy volume. Intervals: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M. Limit 1-1000 (default 100). price_type: mark (default) or index for futures.
Mark-index price divergence: symbols where mark price diverges from index price (premium/discount). Useful for identifying arbitrage or liquidation risk. Limit max 100.
Futures market overview from ONE ticker/24hr ALL call joined with exchangeInfo: panel of TRADING markets (symbol, last, 24h change %, quote volume, trades count), top volumes, status counts, and fresh listings (newest onboardDate, N rows). `sort` in {volume (default), change, listings}. `limit` max 100.
Open interest snapshot for symbols: per-symbol OI in contracts and USDT value. History endpoint 404s; snapshot only. Symbols list or comma-separated string.
Order book (depth) for a symbol: bids/asks with prices and quantities, limit 5-1000 (default 20). Precision per exchangeInfo.
Spot market overview: panel of TRADING spot symbols (symbol, last, 24h change %, quote volume, trades count), top volumes, status counts. Ephemeral options (BTC_UP_DOWN_5M_*) and unlisted symbols are filtered. Limit max 100.
Recent trades for a symbol: price, quantity, buyer/seller maker flag, trade ID, timestamp. Limit 1-1000 (default 100).
TradFi-perp universe: symbols classified by asset class (metals, equity-index, equity-single, energy, treasuries, forex). Exact matches and unambiguous metal prefixes only; crypto lookalikes (SPACE, SPK, CLO, MUBARAK) excluded.
No tool annotations despite all tools being read-only. Add readOnlyHint=true to all tools to signal safety to agents and enable optimizations.
Parameter constraints (limit ranges, enum values) stated in description text only, not in JSON Schema minItems/maxItems/enum. Schema constraints are machine-parseable and prevent LLM hallucination.
Error handling documented in server.py docstring but not visible in tool implementations. No recovery guidance in error responses (e.g., 'Try search_symbols() first').