{"name":"io.github.RavioleLabs/predmcp","slug":"raviolelabs-predmcp","title":"PredMCP","description":"Polymarket + Hyperliquid + macro for AI agents. 38 tools, signal backtest, SSE streaming. Free tier.","url":"https://mcp.market/server/raviolelabs-predmcp","rating":null,"grade":"B","score":76,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":11,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-06-10T23:10:30.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T05:30:33.456Z","last_ok_at":"2026-11-04T05:30:33.456Z","latency_ms":75},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/RavioleLabs/predmcp","website":null,"version":"0.5.0","remotes":[{"type":"streamable-http","url":"https://predmcp.com/mcp","headers":[{"description":"API key from predmcp.com/signup (free tier: 100 calls/day)","isRequired":true,"isSecret":true,"name":"x-api-key"}]}],"packages":[],"tools":[{"name":"create_api_key","description":"Generate a free PredMCP API key. Requires an email. Returns the key and ready-to-use MCP config. Free tier: 100 calls/day, one key per IP.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Your email address — used to identify your key and for account recovery"}},"required":["email"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_basic_macro","description":"DXY, US10Y yield, S&P 500, gold, VIX — direct from free Yahoo Finance. Raw values + 1d change. Pro adds BTC dominance, ETH/BTC, total crypto mcap, and a RISK_ON/OFF regime classifier.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_carry_scanner","description":"Funding carry NET of costs: annualized funding minus (spread + 2x slippage at your size), with break-even holding period and a 7d funding-stability score from our snapshots. get_top_funding_rates shows gross — nobody trades gross.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"size_usdc":{"type":"number","minimum":100,"default":10000,"description":"Intended position size in USDC — costs are computed at this size"},"top_n":{"type":"integer","minimum":1,"maximum":15,"default":8,"description":"How many candidates to fully cost out (default 8 — each costs an orderbook call)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_cex_outflows","description":"Net ETH outflows across known CEX hot wallets (Binance, Coinbase, OKX, Kraken, Bitfinex) over a window. Outflow = bullish (BTC moving to cold storage). Inflow = distribution pressure. Etherscan free tier.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"window_hours":{"type":"number","minimum":1,"maximum":168,"default":24,"description":"Lookback window in hours (default: 24h, max: 7d)"},"exchange":{"type":"string","enum":["Binance","Coinbase","OKX","Kraken","Bitfinex","all"],"default":"all","description":"Filter to a single exchange or aggregate all (default: all)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_conviction_score","description":"Aggregates funding outlier, whale imbalance, OI/volume ratio, and momentum into a single directional score (-100 short ↔ +100 long) plus a 0-100 strength score. One call replaces 6+ lookups, returns a clean number for LLM decisions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Asset ticker to analyze, e.g. \"BTC\", \"ETH\", \"HYPE\""},"whale_window_minutes":{"type":"integer","minimum":5,"maximum":240,"default":60,"description":"Lookback window for whale trades (default: 60min)"},"min_whale_notional_usdc":{"type":"number","minimum":1000,"maximum":1000000,"default":25000,"description":"Whale trade threshold in USDC (default: 25,000)"}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_cross_venue_funding","description":"Predicted funding spreads between Hyperliquid, Binance, and Bybit per asset (from HL's predictedFundings feed). Surfaces delta-neutral carry: long the venue with lowest funding, short the highest, collect the spread. Sorted by annualized spread.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min_spread_annual_pct":{"type":"number","minimum":0,"default":5,"description":"Minimum annualized funding spread between venues to report (default 5%)"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":15,"description":"Max rows (default 15)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_funding_curve_anomaly","description":"Term-structure analysis of Hyperliquid funding for an asset: current vs 8h avg vs 24h avg vs 7d baseline. Flags spikes, regime shifts, sign contradictions. More nuanced than raw funding rate.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Asset ticker, e.g. \"BTC\", \"HYPE\""}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_funding_outliers","description":"Hyperliquid perps whose current funding rate deviates significantly from their 7-day average. A spike vs baseline is a stronger signal than raw rate.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"days":{"type":"integer","minimum":1,"maximum":30,"default":7,"description":"Historical window in days to compute the baseline average (default: 7)"},"min_deviation_factor":{"type":"number","default":2,"description":"Minimum ratio of |current_rate| / |avg_rate| to qualify as outlier (default: 2x)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_funding_rates","description":"Current funding rates for Hyperliquid perpetuals. Positive rate = longs pay shorts (bearish bias); negative = shorts pay longs (bullish bias).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coins":{"type":"array","items":{"type":"string"},"description":"List of asset tickers to fetch, e.g. [\"BTC\", \"ETH\"]. Omit to fetch all available assets."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_hip4_vs_pm_arb","description":"Finds the same underlying market priced on both HIP-4 (on-chain Hyperliquid) and Polymarket, flagging spreads above threshold. A spread means one venue is mispriced relative to the other.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min_spread_pct":{"type":"number","minimum":0.5,"maximum":20,"default":3,"description":"Minimum spread between HIP-4 and Polymarket YES prices to flag (percentage points, default: 3)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_late_game_sports","description":"Sports prediction markets on Polymarket closing within a few hours with a high-certainty leading outcome. Targets near-certain resolution for late-game positioning.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"certainty_pct":{"type":"number","minimum":50,"maximum":99,"default":85,"description":"Minimum leading outcome probability as percentage, e.g. 85 = 85% (default: 85)"},"hours_max":{"type":"number","minimum":0.5,"maximum":24,"default":6,"description":"Maximum hours until market closes (default: 6h)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_liquidation_clusters","description":"Estimated price levels where mass liquidations concentrate for a given Hyperliquid perp, computed from mark price and standard leverage multiples. Higher nearby orderbook liquidity = stronger support/resistance.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coin":{"type":"string","description":"Asset ticker to analyze, e.g. \"BTC\", \"ETH\", \"SOL\""}},"required":["coin"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_macro_context","description":"Live macro snapshot: DXY, US10Y yield, S&P 500, gold, VIX (Yahoo Finance free) + BTC dominance, ETH/BTC, total crypto market cap (CoinGecko free). Plus a coarse RISK_ON / RISK_OFF / MIXED regime.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_macro_liquidity","description":"Fiat-to-crypto liquidity gauge: BTC + ETH spot ETF flows (Farside) plus on-chain USDT + USDC mint/burn (Etherscan). Net inflow = bullish for risk assets.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_market_context","description":"Unified intelligence snapshot for any topic, asset, or keyword: all matching Polymarket and HIP-4 prediction markets combined with live Hyperliquid perp data (price, funding, OI). One call replaces 3+ separate lookups.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Topic, asset, or keyword to look up — e.g. \"BTC\", \"Iran\", \"Fed rate cut\", \"Trump\""}},"required":["query"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_market_edge","description":"Universal fair-value anchor for ONE market of ANY category. Pass the question (+ optional strike/comparator/expiry/underlying for price markets, + yes_price). Dispatches to the best anchor: options/vol fair value (crypto price), a confident Polymarket twin (events/politics/sports), or a soft news lean. Returns { method, confidence, anchor_prob, hip4_yes, edge_pt, verdict, source_ref, note }. edge_pt = (anchor_prob - hip4_yes)*100; positive = YES cheap; null for untraded/synthetic prices.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"question":{"type":"string","description":"The market question, e.g. \"BTC above $70,000 at Aug 21 06:00 UTC?\" or \"Will Fed cut rates in September?\""},"yes_price":{"type":"number","minimum":0,"maximum":1,"description":"Current on-chain YES price (0..1). Edge is only computed for a real traded price (0.5 exactly is treated as synthetic/untraded)."},"underlying":{"type":"string","description":"Underlying ticker for price markets, e.g. \"BTC\"."},"strike":{"type":"number","exclusiveMinimum":0,"description":"Strike/threshold for price markets."},"strike_high":{"type":"number","exclusiveMinimum":0,"description":"Upper bound for range price markets."},"comparator":{"type":"string","enum":["above","below","range","touch"],"description":"Price-market shape."},"expiry_iso":{"type":"string","description":"Resolution time (ISO 8601) for price markets."},"vol_24h":{"type":"number","minimum":0,"description":"24h traded volume of the market. REQUIRED for an edge/verdict: absent (or 0) the YES price is treated as untraded and only the anchor is returned."},"is_traded":{"type":"boolean","description":"Explicit attestation that the YES price comes from a real traded book. Alternative to vol_24h."}},"required":["question"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_market_edges","description":"One-call universal mispricing scanner across ALL HIP-4 market types (crypto price, sports, politics, macro, events). Resolves every market to its best anchor (options / Polymarket twin / news lean / none) and ranks by |edge|. Filter with method / min_edge_pt / limit. Returns by_method counts + ranked markets. Superset of get_outcome_edges.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"method":{"type":"string","enum":["options","polymarket","odds","news"],"description":"Filter to markets resolved via one anchor method. Passing \"news\" also enables the (slower) news lean."},"min_edge_pt":{"type":"number","minimum":0,"maximum":100,"default":0,"description":"Only return markets whose |edge| in probability points is at least this (default 0 = whole board)."},"limit":{"type":"integer","minimum":1,"maximum":100,"default":30,"description":"Max markets to return (default 30, max 100)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_market_regime","description":"One-call market regime classifier: RISK_ON_TRENDING / RISK_OFF / SQUEEZE_RISK / CHOP_LOW_VOL / MIXED. Combines BTC trend + realized vol, Deribit IV premium, funding breadth, and OI-weighted crowding across the top 50 perps. Call this FIRST each session to condition strategy choice.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_markets","description":"Live prediction markets from Polymarket and/or HIP-4, sorted by volume. Returns title, YES/NO prices, 24h volume, and expiry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"platform":{"type":"string","enum":["polymarket","hip4","all"],"default":"all","description":"Data source: \"polymarket\", \"hip4\", or \"all\" (default)"},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"Number of markets to return (1–100, default: 20)"},"active":{"type":"boolean","default":true,"description":"Filter to active/open markets only (default: true)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_markets_near_resolution","description":"Polymarket markets resolving within the next N hours with a leading probability above threshold. Useful for resolution arbitrage and last-minute positioning.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hours":{"type":"number","minimum":0.5,"maximum":168,"default":24,"description":"Maximum hours until resolution (default: 24h, max: 168h = 7 days)"},"min_prob":{"type":"number","minimum":0,"maximum":1,"default":0.7,"description":"Minimum leading outcome probability to include (default: 0.7 = 70%)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_movers","description":"Top prediction markets ranked by 24h volume spike or biggest YES/NO price swing. Surfaces breaking news bets and momentum plays across Polymarket and HIP-4.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":20,"default":10,"description":"Number of top movers to return (1–20, default: 10)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_news_correlation","description":"Recent crypto news headlines mentioning an asset (CoinDesk, The Block, Decrypt, Cointelegraph) paired with the 1h price move that followed each. Lets agents filter news bias.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Asset ticker, e.g. \"BTC\", \"ETH\", \"HYPE\""},"hours_back":{"type":"integer","minimum":1,"maximum":168,"default":24,"description":"Lookback window for headlines (default: 24h, max: 7d)"}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_news_feed","description":"Recent headlines across crypto, finance and sports RSS feeds, unfiltered and unclassified. Unlike get_recent_news it does not filter by asset ticker, so it also covers the sports, macro and event markets that make up most of a HIP-4 board. Match the headlines against your own market list.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hours_back":{"type":"integer","minimum":1,"maximum":168,"default":24,"description":"Lookback window in hours (default 24, max 168)."},"category":{"type":"string","enum":["crypto","finance","sports","all"],"default":"all","description":"Restrict to one feed category (default: all)."},"limit":{"type":"integer","minimum":1,"maximum":100,"default":40,"description":"Max headlines returned (default 40, max 100)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_news_signals","description":"News → markets recommender: pulls recent crypto headlines, classifies each event type (depeg/hack_exploit/listing/delisting/unlock/regulatory/partnership/outage/hype/fud/macro), extracts the assets, maps to affected HIP-4 markets, and assigns a directional lean (YES up / YES down). Heuristic, low/medium confidence, NOT financial advice; war/hard-politics excluded. Powers a live \"event → affected markets → lean\" feed. Filter with hours / event_type / min_confidence / limit.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hours":{"type":"integer","minimum":1,"maximum":72,"default":24,"description":"Lookback window for headlines (default 24h, max 72h)."},"event_type":{"type":"string","enum":["depeg","hack_exploit","delisting","listing","unlock","outage","regulatory","partnership","hype","fud","macro"],"description":"Filter to one event type."},"min_confidence":{"type":"string","enum":["low","medium"],"description":"Minimum confidence to include (default: low)."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20,"description":"Max signals to return (default 20, max 50)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_odds","description":"Current YES/NO prices and implied probability for any Polymarket or HIP-4 market token.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"platform":{"type":"string","enum":["polymarket","hip4"],"description":"Platform the market is on: \"polymarket\" or \"hip4\""},"identifier":{"type":"string","description":"For Polymarket: the token_id of the YES or NO outcome. For HIP-4: the base asset ticker (e.g. \"BTC\")"}},"required":["platform","identifier"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_oi_divergence","description":"Price-vs-OI regime per coin from our continuous snapshots: NEW_LONGS / SHORT_SQUEEZE / NEW_SHORTS / LONG_LIQUIDATION. Scan all tracked coins or analyze one. Impossible without OI history, which no public API provides — only predmcp records it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coin":{"type":"string","description":"One coin (e.g. \"BTC\") — omit to scan all tracked coins"},"hours":{"type":"integer","minimum":1,"maximum":2160,"default":24,"description":"Lookback window in hours (default 24, max 90d)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_oi_history","description":"Open-interest time series for a coin over the last 24h, from our continuous 5-min collector. Hyperliquid has NO OI-history endpoint — this data exists only on predmcp. Includes price + funding at each point. Pro tool get_oi_divergence classifies price-vs-OI regimes (squeeze/liquidation/new positioning) across all coins.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coin":{"type":"string","description":"Coin, e.g. \"BTC\" (top ~30 by OI are tracked)"},"hours":{"type":"integer","minimum":1,"maximum":24,"default":24,"description":"Lookback window in hours (free tier max: 24)"}},"required":["coin"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_oi_near_cap","description":"Lists Hyperliquid perps that are currently at the open interest cap — new long positions cannot be opened. Use as a blacklist to avoid getting rejected on entry.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_options_iv","description":"BTC or ETH options snapshot via free Deribit feed: ATM implied volatility, put-call skew, term structure, total OI and 24h volume. Useful as a sentiment gauge — IV high = market expects big moves; skew indicates direction of hedging.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","enum":["BTC","ETH"],"description":"Underlying — Deribit only supports BTC and ETH for the free public feed."}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_orderbook","description":"Full orderbook depth (bids + asks) for any Polymarket market token. Shows liquidity at each price level.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token_id":{"type":"string","description":"Polymarket token ID for the YES or NO side of a market"}},"required":["token_id"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_orderbook_depth","description":"Full orderbook depth + slippage estimate for any Hyperliquid perp or HIP-4 market. Returns top of book, spread, cumulative depth at $100/$500/$1k/$5k tiers, and estimated slippage for a given order size. Critical for HIP-4 farming and low-liquidity assets where market orders get destroyed by slippage.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coin":{"type":"string","description":"Asset ticker (BTC, ETH, SOL) or HIP-4 contract name (e.g. \"BTC>81041@20260512-0600\")"},"size_usdc":{"type":"number","minimum":10,"maximum":1000000,"default":200,"description":"Order size in USDC to estimate slippage for (default: 200)"},"side":{"type":"string","enum":["buy","sell"],"default":"buy","description":"Order side: \"buy\" (taker into asks) or \"sell\" (taker into bids)"}},"required":["coin"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_outcome_edges","description":"One-call mispricing scanner for autonomous agents: every live HIP-4 PRICE market, each priced against its options/vol-implied fair value and ranked by |edge|. BTC/ETH use the Deribit IV smile; other assets use Hyperliquid realized vol (iv_source labels which). edge_pt = (implied_prob - yes_price)*100, computed only where a real traded YES price exists (synthetic/untraded 0.5 placeholders return edge_pt:null so no fake edge is surfaced). Filter with min_edge_pt / underlying. The whole board without looping.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min_edge_pt":{"type":"number","minimum":0,"maximum":100,"default":0,"description":"Only return markets whose |edge| in probability points is at least this (default 0 = the whole board)."},"underlying":{"type":"string","description":"Filter to one underlying ticker, e.g. \"BTC\"."},"limit":{"type":"integer","minimum":1,"maximum":100,"default":30,"description":"Max markets to return (default 30, max 100)."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_outcome_fair_value","description":"Options/vol-implied fair value for a HIP-4 binary/range/touch PRICE market (\"<asset> above $X at time T?\"). Returns the risk-neutral probability the market resolves YES, and — if you pass market_yes_price — the signed edge in probability points and a YES cheap/rich/fair verdict. BTC/ETH price off the live Deribit IV smile (interpolated to strike + DTE); ANY other asset falls back to Hyperliquid 30d realized vol. iv_source labels which was used (smile/term_interp/skew_adj/atm/realized_vol). The touch case uses the correct drifted first-passage formula. Approximations are listed in caveats.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Underlying ticker, e.g. \"BTC\", \"ETH\", \"SOL\", \"HYPE\". BTC/ETH use the Deribit IV smile; others use Hyperliquid realized vol."},"strike":{"type":"number","exclusiveMinimum":0,"description":"The market's strike / threshold price, e.g. 70000."},"expiry_iso":{"type":"string","description":"Market resolution time as an ISO 8601 string, e.g. \"2026-08-21T06:00:00Z\"."},"comparator":{"type":"string","enum":["above","below","range","touch"],"description":"Market shape: above/below a strike, inside a range [strike, strike_high], or touches the strike before expiry."},"strike_high":{"type":"number","exclusiveMinimum":0,"description":"Upper bound for range markets (must be > strike). Ignored otherwise."},"market_yes_price":{"type":"number","minimum":0,"maximum":1,"description":"Current on-chain YES price (0..1) to compute the edge against fair value."}},"required":["asset","strike","expiry_iso","comparator"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_pm_hl_divergences","description":"Markets where Polymarket implied probability diverges from Hyperliquid perpetual funding direction — e.g. PM prices bullish outcome but HL funding shows crowded longs (bearish pressure). The hardest signal to compute manually.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min_pct":{"type":"number","minimum":1,"maximum":50,"default":10,"description":"Minimum divergence percentage between PM implied probability and HL pricing to flag (default: 10%)"},"limit":{"type":"integer","minimum":1,"maximum":30,"default":15,"description":"Number of divergences to return (default: 15)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_portfolio_risk","description":"Risk analytics for a list of positions: per-position beta to BTC and ETH, sector concentration, pairwise correlation matrix, portfolio annualized volatility, 1-day 95% parametric VaR. Uses 14d of 1h Hyperliquid candles.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"positions":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string"},"side":{"type":"string","enum":["long","short"]},"notional_usd":{"type":"number","minimum":1}},"required":["asset","side","notional_usd"],"additionalProperties":false},"minItems":1,"maxItems":20,"description":"Array of positions: { asset, side, notional_usd }. Max 20."}},"required":["positions"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_position_size","description":"Turn a signal + bankroll into a concrete position: fractional-Kelly size capped by orderbook liquidity, ATR-based stop, liquidation price at chosen leverage, funding carry cost, and % bankroll at risk. Warns when liquidation sits inside the stop. Ground win_rate_pct with get_signal_performance or get_signal_backtest first.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Asset, e.g. \"BTC\""},"direction":{"type":"string","enum":["long","short"],"description":"Trade direction"},"bankroll_usdc":{"type":"number","minimum":10,"description":"Total capital available in USDC"},"win_rate_pct":{"type":"number","minimum":1,"maximum":99,"default":55,"description":"Estimated win probability % (use get_signal_performance or get_signal_backtest to ground this)"},"payoff_ratio":{"type":"number","minimum":0.1,"maximum":20,"default":1.5,"description":"Avg win / avg loss ratio (default 1.5)"},"kelly_fraction":{"type":"number","minimum":0.05,"maximum":1,"default":0.25,"description":"Fraction of full Kelly to use (default 0.25 — quarter Kelly)"},"max_slippage_pct":{"type":"number","minimum":0.01,"maximum":5,"default":0.3,"description":"Max acceptable slippage % — caps size by orderbook depth"},"leverage":{"type":"number","minimum":1,"maximum":50,"default":3,"description":"Intended leverage (default 3x)"}},"required":["asset","direction","bankroll_usdc"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_price_summary","description":"One-call snapshot for an asset: mark price, 24h and 7d returns, 30d high/low, drawdown from high, rally from low, annualized realised volatility. Computed from 30d of HL hourly candles.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Asset ticker, e.g. \"BTC\", \"HYPE\""}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_recent_news","description":"Recent crypto news headlines matching an asset ticker, from CoinDesk + The Block + Decrypt + Cointelegraph RSS feeds. Pro adds the 1h price move that followed each headline.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Asset ticker to filter on, e.g. \"BTC\", \"ETH\", \"HYPE\""},"hours_back":{"type":"integer","minimum":1,"maximum":168,"default":24,"description":"Lookback window in hours (default: 24, max: 168 = 7 days)"},"limit":{"type":"integer","minimum":1,"maximum":30,"default":10,"description":"Max headlines returned (default: 10)"}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_recent_signals","description":"Server-detected events from the last hour: funding outliers (≥3x 7d baseline), whale trades (≥$100k), OI caps reached. Cursor-based — pass next_cursor back as since_id to receive only new events. The polling equivalent of the /sse/signals stream. Pro tool get_signal_history covers 7 days with forward-return outcomes.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"since_id":{"type":"integer","description":"Cursor from a previous call — returns only events with id > since_id. Omit on first call."},"coin":{"type":"string","description":"Filter to one coin, e.g. \"BTC\""},"limit":{"type":"integer","minimum":1,"maximum":20,"default":20,"description":"Max events (free tier cap: 20)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_setup_quality","description":"Execution-quality score (0-100, A-F grade) for entering a position right now: spread, slippage at desired size, orderbook depth, volatility regime, trend alignment, support/resistance proximity. Different from conviction (direction) — this scores ENTRY conditions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Asset ticker, e.g. \"BTC\", \"HYPE\""},"direction":{"type":"string","enum":["long","short"],"description":"Trade direction you are considering"},"size_usdc":{"type":"number","minimum":10,"maximum":1000000,"default":200,"description":"Order size in USDC to evaluate slippage for (default: 200)"}},"required":["asset","direction"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_signal_backtest","description":"Find historical instances of a signal type on an asset over the last N days and compute forward returns (1h/4h/24h), win rate, and Sharpe. Lets an agent reason about EV before trading. Killer feature: turns predmcp from data API into edge-proven intelligence.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"signal_type":{"type":"string","enum":["funding_outlier","funding_extreme"],"description":"Which signal to backtest. funding_outlier = funding >= z×baseline; funding_extreme = abs(funding) >= threshold."},"asset":{"type":"string","description":"Asset ticker, e.g. \"BTC\", \"HYPE\""},"lookback_days":{"type":"integer","minimum":7,"maximum":180,"default":90,"description":"How many days of history to scan (default: 90, max: 180)"},"z_score":{"type":"number","minimum":1,"maximum":20,"default":3,"description":"For funding_outlier: minimum deviation factor vs the rolling mean (default: 3×)"},"min_abs_rate":{"type":"number","minimum":0,"maximum":0.01,"default":0.0005,"description":"For funding_extreme: minimum absolute funding rate (default: 0.0005 = 0.05%)"},"min_separation_hours":{"type":"integer","minimum":1,"maximum":72,"default":8,"description":"Cluster consecutive triggers — at least N hours apart (default: 8h)"}},"required":["signal_type","asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_signal_history","description":"Server-detected signal events over up to 7 days (funding outliers, whale trades ≥$100k, OI caps), each joined with its measured forward returns (1h/4h/24h) once mature. Cursor-based. \"What happened last time funding spiked on HYPE — and did it matter?\" in one call.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coin":{"type":"string","description":"Filter to one coin, e.g. \"BTC\""},"signal_types":{"type":"array","items":{"type":"string","enum":["funding_outlier_new","whale_trade","oi_cap_reached"]},"description":"Filter to specific signal types"},"hours_back":{"type":"integer","minimum":1,"maximum":168,"default":24,"description":"Lookback window in hours (default 24, max 168 = 7d)"},"since_id":{"type":"integer","description":"Cursor — only events with id > since_id"},"limit":{"type":"integer","minimum":1,"maximum":200,"default":50,"description":"Max events (default 50)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_signal_performance","description":"Hit rates and average forward returns per signal type, measured on OUR actually-emitted production signals (not a backtest reconstruction). Use this to ground win_rate inputs for get_position_size. Sample sizes included — treat n < 10 as anecdotal.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"signal_type":{"type":"string","enum":["funding_outlier_new","whale_trade","oi_cap_reached"],"description":"Filter to one signal type (default: all)"},"coin":{"type":"string","description":"Filter to one coin, e.g. \"BTC\""},"days":{"type":"integer","minimum":1,"maximum":90,"default":30,"description":"Lookback window (default 30, max 90)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_simple_iv","description":"BTC or ETH options snapshot via free Deribit public feed: ATM implied volatility, total OI, 24h volume. Pro adds put-call skew + full term structure parsing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","enum":["BTC","ETH"],"description":"Underlying — Deribit free feed supports BTC and ETH."}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_top_funding_rates","description":"Top Hyperliquid perps ranked by absolute funding rate, with OI and annualized yield. Useful for finding the most overcrowded longs/shorts and carry opportunities.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":50,"default":10,"description":"Number of top results to return (default: 10)"},"min_abs_rate":{"type":"number","default":0,"description":"Minimum absolute funding rate to include, e.g. 0.0001. Omit to include all."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_upcoming_catalysts","description":"Lists upcoming market catalysts for an asset within a horizon: token unlocks, governance votes (Tally), ETF/SEC deadlines, FOMC dates. Helps agents avoid blind trades into known events. Free data sources (Tally + curated DB).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"asset":{"type":"string","description":"Asset ticker, e.g. \"ARB\", \"SOL\", \"BTC\""},"horizon_hours":{"type":"integer","minimum":1,"maximum":720,"default":168,"description":"Horizon in hours (default: 168 = 7 days, max: 720 = 30 days)"}},"required":["asset"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_volume_spikes","description":"Polymarket markets with abnormal 24h volume vs their 7-day daily average. Volume spikes typically precede news events or informed positioning.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min_ratio":{"type":"number","minimum":1,"default":3,"description":"Minimum ratio of 24h volume vs 7-day daily average to qualify as a spike (default: 3x)"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":15,"description":"Number of results to return (default: 15)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_whale_flow","description":"Cumulative whale buy/sell imbalance over hours-to-days from the durable trade tape (≥$25k trades persisted continuously, restart-proof). Returns imbalance ratio (-1..+1), BUY/SELL_DOMINANT verdict, and the largest recent prints. Longer horizons than get_whale_trades (1h buffer).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coin":{"type":"string","description":"Coin, e.g. \"BTC\" (top ~10 by OI are taped)"},"hours":{"type":"integer","minimum":1,"maximum":2160,"default":24,"description":"Lookback window in hours (default 24)"},"min_notional_usdc":{"type":"number","minimum":25000,"default":100000,"description":"Threshold for the sample trades list (tape floor: $25k)"}},"required":["coin"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_whale_label","description":"Look up an Ethereum address against our curated label DB (CEX hot wallets, known market makers, suspected funds). Lets agents distinguish mechanical MM flow from alpha-generating activity.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"address":{"type":"string","description":"Ethereum address to look up (0x-prefixed, 40 hex chars)."}},"required":["address"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_whale_positions","description":"Positions of a specific Polymarket wallet, optionally filtered to one market. The /positions API requires a user (no public \"all holders by market\" endpoint), so pass the wallet address of the trader you want to inspect.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"user":{"type":"string","description":"Polygon wallet address (0x…) of the user whose positions you want."},"condition_id":{"type":"string","description":"Optional — filter results to a specific market by condition_id."},"min_size_usdc":{"type":"number","default":1000,"description":"Minimum position size in USDC to include in results (default: 1,000)."}},"required":["user"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_whale_trades","description":"Recent large trades on Hyperliquid perps above a notional threshold. Includes side (long/short), size, price, and timestamp.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"coin":{"type":"string","description":"Asset ticker to fetch whale trades for, e.g. \"BTC\", \"ETH\""},"min_notional_usdc":{"type":"number","default":50000,"description":"Minimum trade size in USDC to qualify as a whale trade (default: 50,000)"}},"required":["coin"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_markets","description":"Full-text search across all Polymarket and HIP-4 prediction markets. Returns ranked results with current odds.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Keywords to search in market names and descriptions, e.g. \"bitcoin ETF\", \"US election\", \"Fed pivot\""},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10,"description":"Maximum number of results to return (1–50, default: 10)"}},"required":["query"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":76,"grade":"B","scanned_at":"2026-09-27T17:07:37.308Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T17:07:37.511Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1492ms"]},"poisoning":{"score":15,"max":15,"notes":["52 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":8,"max":15,"notes":["last push 109 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[],"inputs":{"probes":[{"url":"https://predmcp.com/mcp","reachable":true,"authRequired":false,"latencyMs":1492,"serverInfo":{"name":"PredMCP","version":"0.7.0"}}],"packages":[],"repo":{"found":true,"owner":"RavioleLabs","repo":"predmcp","archived":false,"pushedAt":"2026-06-10T23:10:30Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/283189222?v=4","ownerCreatedAt":"2026-05-09T14:47:01Z","license":"MIT"},"icon":{"url":"https://predmcp.com/favicon.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-06-10T23:10:30.000Z","score":11}}}},"grade_history":[],"reviews":[]}