"""MCP tool definitions.""" MCP_TOOLS = [ { "name": "get_price", "description": "Return the latest USD spot price for a symbol (e.g., BTC, ETH). Uses Binance primary with CoinGecko fallback; response includes symbol, price, timestamp.", "inputSchema": {"type": "object", "properties": {"symbol": {"type": "string"}}, "required": ["symbol"]}, }, { "name": "get_ohlcv", "description": "Fetch OHLCV candles for a symbol/timeframe (1m, 5m, 15m, 1h, 4h, 1d). Limit 1-500 candles; returned order is oldest→newest with [ts, open, high, low, close, volume] arrays.", "inputSchema": {"type": "object", "properties": {"symbol": {"type": "string"}, "timeframe": {"type": "string", "default": "1h"}, "limit": {"type": "integer", "default": 100}}, "required": ["symbol"]}, }, { "name": "get_indicator", "description": "Compute a technical indicator for a symbol/timeframe. Supported names: rsi, ema, sma, macd, atr, bollinger, vwap. Provide params like period, fast/slow/signal periods (MACD) or multiplier (Bollinger).", "inputSchema": { "type": "object", "properties": { "symbol": {"type": "string"}, "indicator": {"type": "string"}, "timeframe": {"type": "string", "default": "1h"}, "params": {"type": "object", "default": {}}, }, "required": ["symbol", "indicator"], }, }, { "name": "get_market_snapshot", "description": "Lightweight 1h snapshot with price, RSI14, EMA20/50/200, MACD histogram, ATR (absolute & %), Bollinger(20,2) bands, VWAP(48), and a derived trend_bias flag.", "inputSchema": {"type": "object", "properties": {"symbol": {"type": "string"}}, "required": ["symbol"]}, }, { "name": "get_top_movers", "description": "List top 24h gainers/losers (limit 1-50). Each entry includes symbol and % change for quick leaderboards.", "inputSchema": {"type": "object", "properties": {"limit": {"type": "integer", "default": 10}}, "required": []}, }, { "name": "get_capabilities", "description": "Describe the server surface: indicator catalog (with params/defaults) plus allowed OHLCV/indicator/regime timeframes.", "inputSchema": {"type": "object", "properties": {}, "required": []}, }, { "name": "get_regime", "description": "Return a composite regime snapshot for a symbol/timeframe with trend (EMA20/50 + SMA200), momentum (RSI, MACD hist), volatility (ATR + %), Bollinger bands, VWAP, and bull/bear/range states.", "inputSchema": { "type": "object", "properties": { "symbol": {"type": "string"}, "timeframe": {"type": "string", "default": "1h"}, }, "required": ["symbol"], }, }, ]