Skip to main content
Glama
0xsl1m

cerebrus-pulse-mcp

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

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • 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": {},
        },
    ),
  • 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()
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool is free and returns tickers for 30+ coins, implying it's a read-only operation with no side effects. Although it doesn't mention rate limits or authentication, these are not likely needed for a free list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the main action, and free of unnecessary details. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description provides sufficient context: what it returns (tickers for 30+ coins) and that it's free. No additional information is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the description correctly adds no parameter details. Per guidelines, 0 parameters yields a baseline of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all available coins on Cerebrus Pulse and returns tickers for 30+ Hyperliquid perpetuals. This verb-resource combination is specific and distinguishes it from sibling tools which focus on specific metrics like basis or funding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'FREE — no payment required,' which implies it can be used without cost and suggests it's a basic utility tool. While it doesn't explicitly state when not to use or provide alternatives, the context from sibling names makes it clear this is for general listing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/0xsl1m/cerebrus-pulse-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server