Skip to content

HyperSignal MCP

io.github.johnsmithxy1mmm-sys/hypersignal-mcpjohnsmithxy1mmm-sysstreamable-httpv1.14.0Scanned

Hyperliquid analytics for AI agents: whale flow, liquidations, funding, risk, signed signals.

29 tools: 2 can delete or cancel things, 20 change things and 7 only read.

Tools: 2 delete, 0 irreversible, 20 write, 7 read.
  • Reads private data · 0
  • Reads text others write · 20
  • Can send data out · 1
  • 2 findings

Anlyon alternative

22 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

29 tools

Deletes or cancels 2Claude Code: deny
  • hl_delete_alert[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Delete one of your standing alerts by id.No findings

    Why it is in this group

    • The name "hl_delete_alert" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Delete one of your standing alerts by id.

    Annotations the server declares

    • title: Delete a standing alert
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • hl_delete_webhookStop POSTing this key's alerts to its webhook (they remain available via hl_poll_alerts).1 finding

    Why it is in this group

    • The name "hl_delete_webhook" says "delete": a word for removing or ending something.
    • The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "hl_delete_webhook" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "hl_delete_webhook" says "delete": a word for removing or ending something.

      What this check looks for
    Description, as the server wrote it
    Stop POSTing this key's alerts to its webhook (they remain available via hl_poll_alerts).

    Annotations the server declares

    • title: Delete alert webhook
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 20Claude Code: ask
  • hl_coordination_scan[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Find wallets in a cohort that hold near-identical directional exposure right n…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Find wallets in a cohort that hold near-identical directional exposure right now (high cosine similarity of their position vectors) — likely the same entity, a copy-bot, or a coordinated group. Returns clusters and the strongest pairs. Cohort = `cohort` arg or HL_WHALE_ADDRESSES. Analytics only, not investment advice.

    Annotations the server declares

    • title: Wallet coordination scan
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_create_alert[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Register a persistent alert the server evaluates on a schedule; fired events a…Reads text others writeNo findings

    Why it is in this group

    • The name "hl_create_alert" says "create": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Register a persistent alert the server evaluates on a schedule; fired events are retrieved with hl_poll_alerts. Types: funding_apr (|annualized funding| crosses a threshold), price_move (|return| over a window), whale_net_flip (cohort net position flips long/short). Turns the server into a market watcher for your agent. Analytics only, not investment advice.

    Annotations the server declares

    • title: Create a standing alert
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • hl_funding_screener[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Screen every Hyperliquid perp by annualized funding: top markets by absolute f…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Screen every Hyperliquid perp by annualized funding: top markets by absolute funding (carry candidates), sign (longs-pay vs shorts-pay), and — when predictedFundings is available — cross-venue funding spreads for delta-neutral strategies. Filter by min |APR| and OI/volume. Analytics only, not investment advice.

    Annotations the server declares

    • title: Funding rate screener
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_get_open_ordersOpen resting orders for an address: coin, side, price, size, order id, type, and trigger info.Reads text others write1 finding

    Why it is in this group

    • The name "hl_get_open_orders" says "get": a word for reading.
    • The description's first verb is "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "hl_get_open_orders" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "hl_get_open_orders" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Open resting orders for an address: coin, side, price, size, order id, type, and trigger info. Read-only; paginated. Use to inspect any wallet's live order book footprint.

    Annotations the server declares

    • title: Get open orders
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_hip3_analytics[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Analytics for HIP-3 (builder-deployed) perp markets such as RWA/equity perps: …Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Analytics for HIP-3 (builder-deployed) perp markets such as RWA/equity perps: volume, open interest, funding, and 24h change, enumerated across builder dexs. Optionally pass `spotRefs` (coin→external spot price) to compute basis vs an external reference. Analytics only, not investment advice.

    Annotations the server declares

    • title: HIP-3 market analytics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_liquidation_map[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Estimated liquidation clusters for a coin from a whale cohort's open positions…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Estimated liquidation clusters for a coin from a whale cohort's open positions: distribution of liquidation prices and notional-at-risk bucketed by % distance from mark, plus nearest downside/upside cascade levels. Estimate over the cohort only (not exchange-wide). Analytics only, not investment advice.

    Annotations the server declares

    • title: Liquidation cluster map
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_poll_alerts[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Retrieve alert events that fired since your last poll.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Retrieve alert events that fired since your last poll. Default is simple at-most-once delivery (events are marked delivered as soon as they are read — a lost response loses them). For reliable at-least-once delivery, pass reliable=true: events are then redelivered on every poll until you acknowledge them by passing the highest event `id` you have processed as ackThroughId. Each event includes a signed signal payload verifiable with hl_signal_pubkey. Call periodically to act on the market.

    Annotations the server declares

    • title: Poll fired alerts
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hl_polymarket_divergence[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Compare Polymarket price-threshold odds for a coin (e.g.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Compare Polymarket price-threshold odds for a coin (e.g. 'BTC above $100k by date') against the probability implied by Hyperliquid's price + realized volatility. Surfaces cross-market mispricings ranked by edge, checks the market's own price ladder for logically impossible orderings (P(further threshold) > P(nearer)), collapses duplicate contract listings, and reports each estimate's sensitivity to the volatility input. Rows where a diffusion model is out of its depth (extreme tails the market prices but a no-jump model cannot) are flagged, not asserted. Optionally use perp funding as drift. Estimate under lognormal dynamics. Analytics only, not investment advice.

    Annotations the server declares

    • title: Polymarket ↔ Hyperliquid divergence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_portfolio_risk[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Risk report for a perp address: liquidation distance per position, effective l…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Risk report for a perp address: liquidation distance per position, effective leverage, concentration (HHI + largest position share), uniform stress scenarios (-5/-10/-20% and mirror), and Sharpe of realized PnL from recent fills. Analytics only, not investment advice.

    Annotations the server declares

    • title: Portfolio risk report
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_request_free_keyIssue yourself a free API key, instantly and with no signup.No findings

    Why it is in this group

    • The name "hl_request_free_key" says "request": a word for a change.
    Description, as the server wrote it
    Issue yourself a free API key, instantly and with no signup. The key grants 100 premium calls per month — enough to evaluate every premium tool. Send it as the X-API-Key header on later requests. Call this first if a premium tool says it needs a key. One active key per requester: calling again replaces the previous key and keeps the same monthly usage, so it is safe to call if you lost your key but is not a way to reset the quota.

    Annotations the server declares

    • title: Get a free API key
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • hl_score_calibrationOut-of-sample evidence for whether the hl_smart_money_score actually predicts anything: Spearman rank correlation between each wallet's score and the realized return it went on to …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Out-of-sample evidence for whether the hl_smart_money_score actually predicts anything: Spearman rank correlation between each wallet's score and the realized return it went on to earn over the forward window (PnL over account value), plus mean forward return per score quartile. Verdicts: insufficient_data (not enough resolved observations yet), inverted (significantly NEGATIVE — higher-scored wallets did worse), no_evidence, weak_positive, positive (both require p<0.05). Only server-selected cohorts enter the sample, so a caller cannot steer this figure. Read this before treating the score as a forecast.

    Annotations the server declares

    • title: Smart-money score calibration
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hl_set_webhookPOST this key's fired alerts to an https URL (public addresses only), up to 30 an hour.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "hl_set_webhook" says "set": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    POST this key's fired alerts to an https URL (public addresses only), up to 30 an hour. Each body is signed: header x-hypersignal-signature = sha256=HMAC-SHA256(secret, body). The secret is returned only once.

    Annotations the server declares

    • title: Set alert webhook
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • hl_signal_track_record[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Transparent, verifiable performance of the signals this server has emitted: pe…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Transparent, verifiable performance of the signals this server has emitted: per signal type, the count, how many have been scored against forward price, hit-rate, and average/median direction-adjusted return. Every signal is cryptographically signed (verify the key via hl_signal_pubkey). Analytics only, not investment advice.

    Annotations the server declares

    • title: Signal track record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hl_smart_money_score[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Rank a cohort of wallets by a composite screening score over their PAST result…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Rank a cohort of wallets by a composite screening score over their PAST results (risk-adjusted performance, winrate, reward/risk, capital size, activity) and tag each with behavioral labels (whale, sharp, scalper, market_maker_like, high_conviction, underwater, …). IMPORTANT: this is a descriptive screener, NOT a validated predictor — the component weights are chosen by judgement and have not been shown to predict future returns. Check `calibration` in the response for the current out-of-sample evidence, and hl_score_calibration for detail. Use it to shortlist wallets to inspect, not as a forecast. Cohort resolves from `cohort` arg, the auto-refreshed leaderboard cohort, or HL_WHALE_ADDRESSES. Analytics only, not investment advice.

    Annotations the server declares

    • title: Smart-money screener & labels
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_trader_report[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Behavioral report for any wallet from its fills: winrate, average R (avg win /…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Behavioral report for any wallet from its fills: winrate, average R (avg win / avg loss), total realized PnL, PnL curve, holding-time style (scalp vs swing), fees paid, and most-traded coins. Lookback in days (Hyperliquid serves only a wallet's 10,000 most recent fills; `historyTruncated` says when that cut the window short, so very active wallets are covered only for their latest trades). Analytics only, not investment advice.

    Annotations the server declares

    • title: Trader report
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_vault_screener[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Screen Hyperliquid user vaults by APR, max drawdown, Sharpe/Sortino, age, TVL,…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Screen Hyperliquid user vaults by APR, max drawdown, Sharpe/Sortino, age, TVL, and leader capital share. Provide `vaults` (list of vault 0x addresses) or set HL_VAULT_ADDRESSES. Metrics derived from vault history. Analytics only, not investment advice.

    Annotations the server declares

    • title: Vault screener
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_whale_flow_alerts[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Recent large changes in whale cohort positioning: which coins saw net long/sho…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Recent large changes in whale cohort positioning: which coins saw net long/short notional shift beyond a USD threshold within a lookback window — 'who opened/closed what in the last hour'. Detects full exits. Seeds a baseline on first call. Analytics only, not investment advice.

    Annotations the server declares

    • title: Whale flow alerts (recent large moves)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_whale_positions[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Aggregated positioning of a whale cohort for a coin (or all coins): total long…Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] Aggregated positioning of a whale cohort for a coin (or all coins): total long/short size & notional, long/short wallet counts, weighted-average entry, net bias, and change vs 1h/24h ago. Cohort = `cohort` arg or HL_WHALE_ADDRESSES. Analytics only, not investment advice.

    Annotations the server declares

    • title: Aggregate whale positions by coin
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 7Show 7 read-only tools
  • hl_get_accountPerp account snapshot for any address: equity, margin usage, withdrawable, and open positions (size, entry, uPnL, leverage, liquidation price).Reads text others writeNo findings

    Why it is in this group

    • The name "hl_get_account" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Perp account snapshot for any address: equity, margin usage, withdrawable, and open positions (size, entry, uPnL, leverage, liquidation price). Read-only; works for any public 0x address.

    Annotations the server declares

    • title: Get account positions & margin
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_get_candlesOHLCV candlestick history for a coin at a given interval.Reads text others writeNo findings

    Why it is in this group

    • The name "hl_get_candles" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    OHLCV candlestick history for a coin at a given interval. Provide either an explicit [startTime,endTime] (ms epoch) or a `lookback` count of the most recent candles. Returns most-recent-last, paginated.

    Annotations the server declares

    • title: Get OHLCV candles
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_get_funding_historyHistorical hourly funding rates for a coin over a time window, with cumulative and average annualized funding.Reads text others writeNo findings

    Why it is in this group

    • The name "hl_get_funding_history" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Historical hourly funding rates for a coin over a time window, with cumulative and average annualized funding. Use for carry analysis and funding trend. Defaults to the last 7 days if no window is given.

    Annotations the server declares

    • title: Get funding rate history
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_get_marketsList Hyperliquid perpetual markets with mark/oracle price, hourly + annualized funding, open interest, and 24h volume.Reads text others writeNo findings

    Why it is in this group

    • The name "hl_get_markets" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List Hyperliquid perpetual markets with mark/oracle price, hourly + annualized funding, open interest, and 24h volume. Use to discover valid coin symbols and scan the board. Supports name filter, sorting, and pagination.

    Annotations the server declares

    • title: List Hyperliquid perp markets
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_get_orderbookLevel-2 order book for a coin: top-N bid/ask levels with price, size, and order count, plus spread and mid.Reads text others writeNo findings

    Why it is in this group

    • The name "hl_get_orderbook" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Level-2 order book for a coin: top-N bid/ask levels with price, size, and order count, plus spread and mid. Use for microstructure, spread, and near-touch liquidity. If the coin is unknown, call hl_get_markets first.

    Annotations the server declares

    • title: Get L2 order book
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • hl_list_alerts[PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] List the standing alerts registered under your API key, with their type, param…No findings

    Why it is in this group

    • The name "hl_list_alerts" says "list": a word for reading.
    Description, as the server wrote it
    [PREMIUM — needs an API key: call hl_request_free_key first for a free key, or pay per call via x402] List the standing alerts registered under your API key, with their type, params, and last-fired time.

    Annotations the server declares

    • title: List your standing alerts
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • hl_signal_pubkeyReturns the server's Ed25519 public key (SPKI DER, base64) used to sign emitted signals, so anyone can independently verify a signal's authenticity and timestamp.No findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    Description, as the server wrote it
    Returns the server's Ed25519 public key (SPKI DER, base64) used to sign emitted signals, so anyone can independently verify a signal's authenticity and timestamp. Canonicalization: JSON with recursively sorted keys over {payload, ts}; signature is base64 Ed25519.

    Annotations the server declares

    • title: Get signal verification public key
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.

Reads private data0
Reads files, mail, messages, databases, secrets, calendars or repositories.
Can send data out1
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "hl_get_open_orders" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "hl_get_open_orders" says "get": a word for reading.

    What this check looks for
  • The server marks "hl_delete_webhook" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "hl_delete_webhook" says "delete": a word for removing or ending something.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.14.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http hypersignal https://hypersmash.fly.dev/mcp
claude mcp add --transport http hypersignal https://hypersmash.fly.dev/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__hypersignal__hl_get_markets",
      "mcp__hypersignal__hl_get_orderbook",
      "mcp__hypersignal__hl_get_candles",
      "mcp__hypersignal__hl_get_funding_history",
      "mcp__hypersignal__hl_get_account",
      "mcp__hypersignal__hl_signal_pubkey",
      "mcp__hypersignal__hl_list_alerts"
    ],
    "ask": [
      "mcp__hypersignal__hl_request_free_key",
      "mcp__hypersignal__hl_get_open_orders",
      "mcp__hypersignal__hl_link_telegram",
      "mcp__hypersignal__hl_unlink_telegram",
      "mcp__hypersignal__hl_set_webhook",
      "mcp__hypersignal__hl_score_calibration",
      "mcp__hypersignal__hl_whale_positions",
      "mcp__hypersignal__hl_whale_flow_alerts",
      "mcp__hypersignal__hl_liquidation_map",
      "mcp__hypersignal__hl_funding_screener",
      "mcp__hypersignal__hl_hip3_analytics",
      "mcp__hypersignal__hl_portfolio_risk",
      "mcp__hypersignal__hl_vault_screener",
      "mcp__hypersignal__hl_trader_report",
      "mcp__hypersignal__hl_create_alert",
      "mcp__hypersignal__hl_poll_alerts",
      "mcp__hypersignal__hl_signal_track_record",
      "mcp__hypersignal__hl_smart_money_score",
      "mcp__hypersignal__hl_coordination_scan",
      "mcp__hypersignal__hl_polymarket_divergence"
    ],
    "deny": [
      "mcp__hypersignal__hl_delete_webhook",
      "mcp__hypersignal__hl_delete_alert"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as hypersignal. Review it before you use it.

Capability tags behind 20 rules
  • mcp__hypersignal__hl_get_markets untrusted-input
  • mcp__hypersignal__hl_get_orderbook untrusted-input
  • mcp__hypersignal__hl_get_candles untrusted-input
  • mcp__hypersignal__hl_get_funding_history untrusted-input
  • mcp__hypersignal__hl_get_account untrusted-input
  • mcp__hypersignal__hl_get_open_orders untrusted-input
  • mcp__hypersignal__hl_link_telegram untrusted-input
  • mcp__hypersignal__hl_set_webhook untrusted-input, outbound
  • mcp__hypersignal__hl_whale_positions untrusted-input
  • mcp__hypersignal__hl_whale_flow_alerts untrusted-input
  • mcp__hypersignal__hl_liquidation_map untrusted-input
  • mcp__hypersignal__hl_funding_screener untrusted-input
  • mcp__hypersignal__hl_hip3_analytics untrusted-input
  • mcp__hypersignal__hl_portfolio_risk untrusted-input
  • mcp__hypersignal__hl_vault_screener untrusted-input
  • mcp__hypersignal__hl_trader_report untrusted-input
  • mcp__hypersignal__hl_create_alert untrusted-input
  • mcp__hypersignal__hl_smart_money_score untrusted-input
  • mcp__hypersignal__hl_coordination_scan untrusted-input
  • mcp__hypersignal__hl_polymarket_divergence untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/io.github.johnsmithxy1mmm-sys/hypersignal-mcp/verify?hash=0a0b330782d64487e3619ae38de7a4d3e5fbb7232f3ddb99ed5f4d07a4c2953f" | jq -e '.changed == false'

Pinned hash 0a0b330782d6, from Oct 29, 2026, 08:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/io.github.johnsmithxy1mmm-sys/hypersignal-mcp/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.github.johnsmithxy1mmm-sys/hypersignal-mcp
[![anlyon.dev](https://anlyon.dev/badge/io.github.johnsmithxy1mmm-sys/hypersignal-mcp.svg)](https://anlyon.dev/servers/io.github.johnsmithxy1mmm-sys/hypersignal-mcp)

Source: MCP Registry · repository. Synced Oct 29, 2026, 08:17 UTC.