cerebrus_list_coins
List available coins on Cerebrus Pulse to get tickers for 30+ Hyperliquid perpetuals. Free, no payment required.
Instructions
List all available coins on Cerebrus Pulse. Returns tickers for 30+ Hyperliquid perpetuals. FREE — no payment required.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/cerebrus_pulse_mcp/server.py:372-373 (handler)Handler for cerebrus_list_coins: calls _api_get('/coins') to fetch list of available coins from the Cerebrus Pulse API.
if name == "cerebrus_list_coins": result = _api_get("/coins") - Tool registration/definition for cerebrus_list_coins with description stating it's free (no payment) and returns tickers for 30+ Hyperliquid perpetuals. Input schema is empty (no parameters).
Tool( name="cerebrus_list_coins", description=( "List all available coins on Cerebrus Pulse. " "Returns tickers for 30+ Hyperliquid perpetuals. FREE — no payment required." ), inputSchema={ "type": "object", "properties": {}, }, ), - src/cerebrus_pulse_mcp/server.py:88-364 (registration)The list_tools() function decorated with @server.list_tools() that registers all tool definitions including cerebrus_list_coins with the MCP server.
@server.list_tools() async def list_tools() -> list[Tool]: return [ Tool( name="cerebrus_list_coins", description=( "List all available coins on Cerebrus Pulse. " "Returns tickers for 30+ Hyperliquid perpetuals. FREE — no payment required." ), inputSchema={ "type": "object", "properties": {}, }, ), Tool( name="cerebrus_health", description=( "Check Cerebrus Pulse gateway health status. " "FREE — no payment required." ), inputSchema={ "type": "object", "properties": {}, }, ), Tool( name="cerebrus_pulse", description=( "Get multi-timeframe technical analysis for a Hyperliquid perpetual. " "Supports 6 timeframes: 5m, 15m, 1h, 4h, 1d, 1w (daily/weekly aggregated from 1h). " "Returns RSI, EMAs (20/50/200), ATR, Bollinger Bands, VWAP, Z-score, " "trend direction, cross-timeframe confluence with alignment scoring, " "derivatives data (funding, OI, spread), and market regime. Cost: $0.02 USDC via x402." ), inputSchema={ "type": "object", "properties": { "coin": { "type": "string", "description": "Coin ticker (e.g., BTC, ETH, SOL). Case-insensitive.", }, "timeframes": { "type": "string", "description": "Comma-separated timeframes: 5m, 15m, 1h, 4h, 1d, 1w. Default: 1h,4h", "default": "1h,4h", }, }, "required": ["coin"], }, ), Tool( name="cerebrus_sentiment", description=( "Get aggregated crypto market sentiment analysis. " "Returns overall sentiment, fear/greed, momentum, and funding bias. " "Not coin-specific. Cost: $0.01 USDC via x402." ), inputSchema={ "type": "object", "properties": {}, }, ), Tool( name="cerebrus_funding", description=( "Get funding rate analysis for a Hyperliquid perpetual. " "Returns current rate, annualized percentage, historical min/max/average. " "Cost: $0.01 USDC via x402." ), inputSchema={ "type": "object", "properties": { "coin": { "type": "string", "description": "Coin ticker (e.g., BTC, ETH, SOL). Case-insensitive.", }, "lookback_hours": { "type": "integer", "description": "Hours of historical data (1-168). Default: 24", "default": 24, "minimum": 1, "maximum": 168, }, }, "required": ["coin"], }, ), Tool( name="cerebrus_bundle", description=( "Get complete analysis bundle: multi-timeframe technical analysis " "(5m/15m/1h/4h/1d/1w) + sentiment + funding combined in one call. " "20% discount vs individual endpoints. Cost: $0.04 USDC via x402." ), inputSchema={ "type": "object", "properties": { "coin": { "type": "string", "description": "Coin ticker (e.g., BTC, ETH, SOL). Case-insensitive.", }, "timeframes": { "type": "string", "description": "Comma-separated timeframes: 5m, 15m, 1h, 4h, 1d, 1w. Default: 1h,4h", "default": "1h,4h", }, }, "required": ["coin"], }, ), Tool( name="cerebrus_screener", description=( "Scan all 30+ coins for top trading signals. Returns RSI zone, trend, " "volatility regime, funding bias, multi-TF confluence score with alignment, " "and OI trend for each coin. " "Much cheaper than calling pulse individually. Cost: $0.04 USDC via x402." ), inputSchema={ "type": "object", "properties": { "top_n": { "type": "integer", "description": "Number of top coins to return (1-100). Default: 30", "default": 30, "minimum": 1, "maximum": 100, }, }, }, ), Tool( name="cerebrus_oi", description=( "Get open interest analysis for a Hyperliquid perpetual. " "Returns OI delta (1h/4h/24h), percentile rank, trend direction, " "and price-OI divergence signals. Cost: $0.01 USDC via x402." ), inputSchema={ "type": "object", "properties": { "coin": { "type": "string", "description": "Coin ticker (e.g., BTC, ETH, SOL). Case-insensitive.", }, }, "required": ["coin"], }, ), Tool( name="cerebrus_spread", description=( "Get spread and liquidity analysis for a Hyperliquid perpetual. " "Returns bid-ask spread, estimated slippage at $10k/$50k/$100k/$500k, " "and liquidity score (1-10). Cost: $0.008 USDC via x402." ), inputSchema={ "type": "object", "properties": { "coin": { "type": "string", "description": "Coin ticker (e.g., BTC, ETH, SOL). Case-insensitive.", }, }, "required": ["coin"], }, ), Tool( name="cerebrus_correlation", description=( "Get BTC-altcoin correlation matrix for top 15 Hyperliquid perpetuals. " "Returns 30-day rolling correlations, correlation regime " "(CORRELATED/DECORRELATED/MIXED), and sector averages. " "Cost: $0.03 USDC via x402." ), inputSchema={ "type": "object", "properties": {}, }, ), Tool( name="cerebrus_stress", description=( "Get market stress index derived from cross-chain arbitrage detection. " "Scans 8 chains (Arbitrum, Base, Optimism, Polygon, etc.) for price dislocations. " "Returns stress level (LOW/MODERATE/HIGH/EXTREME), score (0-1), " "spread statistics, chain routes, and recent scan summaries. " "Unique signal — not available from any other provider. Cost: $0.015 USDC via x402." ), inputSchema={ "type": "object", "properties": { "limit": { "type": "integer", "description": "Number of recent scans to analyze (1-50). Default: 10", "default": 10, "minimum": 1, "maximum": 50, }, }, }, ), Tool( name="cerebrus_cex_dex", description=( "Get CEX-DEX price divergence for a token. Compares Coinbase (CEX) vs " "Chainlink/Uniswap (DEX) prices. Returns spread in bps, direction " "(cex_premium or dex_premium), and interpretation. " "Refreshes every 5 minutes. Cost: $0.02 USDC via x402." ), inputSchema={ "type": "object", "properties": { "coin": { "type": "string", "description": "Coin ticker (e.g., ETH, BTC, LINK). Case-insensitive.", }, }, "required": ["coin"], }, ), Tool( name="cerebrus_basis", description=( "Get Chainlink basis analysis — compares Hyperliquid perpetual oracle price " "vs Chainlink aggregated spot price on Arbitrum. Returns basis in bps, " "direction (hl_premium/hl_discount/aligned), and contrarian signal. " "Positive = longs paying shorts, negative = deleveraging. Cost: $0.02 USDC via x402." ), inputSchema={ "type": "object", "properties": { "coin": { "type": "string", "description": "Coin ticker (e.g., BTC, ETH, SOL). Case-insensitive.", }, }, "required": ["coin"], }, ), Tool( name="cerebrus_depeg", description=( "Get USDC collateral health monitor via Chainlink oracle. " "Checks USDC/USD deviation from $1.00 peg, reports peg status " "(HEALTHY/ELEVATED/WARNING/CRITICAL), risk level, and Arbitrum " "sequencer status. Essential before sizing USDC-margined positions. " "Cost: $0.01 USDC via x402." ), inputSchema={ "type": "object", "properties": {}, }, ), Tool( name="cerebrus_liquidations", description=( "Get estimated liquidation heatmap for a Hyperliquid perpetual. " "Maps where liquidation clusters sit across 5 leverage tiers (3x-50x) " "for both longs and shorts. Returns cascade risk level " "(LOW/MODERATE/HIGH/EXTREME), estimated USD at each zone, proximity " "to current price, long/short ratio from funding skew, and nearest " "cluster alert. No other MCP provider offers this signal. " "Cost: $0.03 USDC via x402." ), inputSchema={ "type": "object", "properties": { "coin": { "type": "string", "description": "Coin ticker (e.g., BTC, ETH, SOL). Case-insensitive.", }, }, "required": ["coin"], }, ), ] - The _api_get helper function used by the cerebrus_list_coins handler to make the GET request to the /coins endpoint.
def _api_get(path: str, params: dict | None = None) -> dict[str, Any]: """Make a GET request to the Cerebrus Pulse API.""" with _make_client() as client: resp = client.get(path, params=params) if resp.status_code == 402: # Return payment details so the agent/user knows cost return { "status": "payment_required", "message": "This endpoint requires x402 USDC payment on Base or Solana.", "url": f"{BASE_URL}{path}", "payment_details": resp.headers.get("X-Payment", "See x402 SDK docs"), "help": "Install the x402 SDK and set CEREBRUS_WALLET_KEY (Base) or CEREBRUS_WALLET_KEY_SOLANA (Solana) to enable auto-payment. See https://cerebruspulse.xyz/guides/x402-payments", } if resp.status_code == 429: return { "status": "rate_limited", "message": "Rate limit exceeded. Back off and retry.", "detail": resp.json() if resp.headers.get("content-type", "").startswith("application/json") else resp.text, } resp.raise_for_status() return resp.json()