PredMCP
Polymarket + Hyperliquid + macro for AI agents. 38 tools, signal backtest, SSE streaming. Free tier.
사용해야 할까요
품질 및 안전성
발견 사항 (10)
- HIGH
- MEDIUMget_outcome_edges에서
- MEDIUMget_news_signals에서
- LOWget_odds에서
- LOWget_funding_rates에서
- LOWget_whale_trades에서
- LOWget_market_edge에서
- LOWget_cex_outflows에서
- INFOget_outcome_edges에서
- INFOget_news_signals에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"predmcp": {
"url": "https://predmcp.com/mcp"
}
}
}원격 엔드포인트
https://predmcp.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (52)
🟡create_api_key(email)
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.
입력 스키마
{
"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#"
}🟢get_markets(platform, limit, active)
Live prediction markets from Polymarket and/or HIP-4, sorted by volume. Returns title, YES/NO prices, 24h volume, and expiry.
입력 스키마
{
"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#"
}🟢get_odds(platform, identifier)
Current YES/NO prices and implied probability for any Polymarket or HIP-4 market token.
입력 스키마
{
"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#"
}🟢get_orderbook(token_id)
Full orderbook depth (bids + asks) for any Polymarket market token. Shows liquidity at each price level.
입력 스키마
{
"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#"
}🟢search_markets(query, limit)
Full-text search across all Polymarket and HIP-4 prediction markets. Returns ranked results with current odds.
입력 스키마
{
"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#"
}🟢get_whale_positions(user, condition_id, min_size_usdc)
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.
입력 스키마
{
"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#"
}🟢get_movers(limit)
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.
입력 스키마
{
"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#"
}🟢get_markets_near_resolution(hours, min_prob)
Polymarket markets resolving within the next N hours with a leading probability above threshold. Useful for resolution arbitrage and last-minute positioning.
입력 스키마
{
"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#"
}🟢get_volume_spikes(min_ratio, limit)
Polymarket markets with abnormal 24h volume vs their 7-day daily average. Volume spikes typically precede news events or informed positioning.
입력 스키마
{
"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#"
}🟢get_late_game_sports(certainty_pct, hours_max)
Sports prediction markets on Polymarket closing within a few hours with a high-certainty leading outcome. Targets near-certain resolution for late-game positioning.
입력 스키마
{
"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#"
}🟢get_funding_rates(coins)
Current funding rates for Hyperliquid perpetuals. Positive rate = longs pay shorts (bearish bias); negative = shorts pay longs (bullish bias).
입력 스키마
{
"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#"
}🟢get_whale_trades(coin, min_notional_usdc)
Recent large trades on Hyperliquid perps above a notional threshold. Includes side (long/short), size, price, and timestamp.
입력 스키마
{
"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#"
}🟢get_top_funding_rates(limit, min_abs_rate)
Top Hyperliquid perps ranked by absolute funding rate, with OI and annualized yield. Useful for finding the most overcrowded longs/shorts and carry opportunities.
입력 스키마
{
"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#"
}🟢get_oi_near_cap
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_orderbook_depth(coin, size_usdc, side)
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.
입력 스키마
{
"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#"
}🟢get_price_summary(asset)
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.
입력 스키마
{
"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#"
}🟢get_basic_macro
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_recent_news(asset, hours_back, limit)
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.
입력 스키마
{
"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#"
}🟢get_news_feed(hours_back, category, limit)
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.
입력 스키마
{
"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#"
}🟢get_simple_iv(asset)
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.
입력 스키마
{
"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#"
}🟢get_outcome_fair_value(asset, strike, expiry_iso, comparator, strike_high, ...)
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.
입력 스키마
{
"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#"
}🟢get_outcome_edges(min_edge_pt, underlying, limit)
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.
입력 스키마
{
"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#"
}🟢get_market_edge(question, yes_price, underlying, strike, strike_high, ...)
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.
입력 스키마
{
"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#"
}🟢get_market_edges(method, min_edge_pt, limit)
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.
입력 스키마
{
"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#"
}🟢get_news_signals(hours, event_type, min_confidence, limit)
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.
입력 스키마
{
"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#"
}🟢get_recent_signals(since_id, coin, limit)
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.
입력 스키마
{
"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#"
}🟢get_oi_history(coin, hours)
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.
입력 스키마
{
"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#"
}🟢get_market_regime
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_market_context(query)
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.
입력 스키마
{
"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#"
}🟢get_pm_hl_divergences(min_pct, limit)
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.
입력 스키마
{
"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#"
}🟢get_hip4_vs_pm_arb(min_spread_pct)
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.
입력 스키마
{
"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#"
}🟢get_funding_outliers(days, min_deviation_factor)
Hyperliquid perps whose current funding rate deviates significantly from their 7-day average. A spike vs baseline is a stronger signal than raw rate.
입력 스키마
{
"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#"
}🟢get_liquidation_clusters(coin)
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.
입력 스키마
{
"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#"
}🟢get_signal_backtest(signal_type, asset, lookback_days, z_score, min_abs_rate, ...)
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.
입력 스키마
{
"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#"
}🟢get_conviction_score(asset, whale_window_minutes, min_whale_notional_usdc)
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.
입력 스키마
{
"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#"
}🟢get_funding_curve_anomaly(asset)
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.
입력 스키마
{
"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#"
}🟢get_setup_quality(asset, direction, size_usdc)
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.
입력 스키마
{
"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#"
}🟢get_upcoming_catalysts(asset, horizon_hours)
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).
입력 스키마
{
"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#"
}🟢get_macro_context
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_macro_liquidity
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.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_cex_outflows(window_hours, exchange)
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.
입력 스키마
{
"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#"
}🟢get_news_correlation(asset, hours_back)
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.
입력 스키마
{
"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#"
}🟢get_portfolio_risk(positions)
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.
입력 스키마
{
"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#"
}🟢get_options_iv(asset)
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.
입력 스키마
{
"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#"
}🟢get_whale_label(address)
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.
입력 스키마
{
"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#"
}🟢get_signal_history(coin, signal_types, hours_back, since_id, limit)
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.
입력 스키마
{
"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#"
}🟢get_signal_performance(signal_type, coin, days)
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.
입력 스키마
{
"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#"
}🟢get_oi_divergence(coin, hours)
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.
입력 스키마
{
"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#"
}🟢get_whale_flow(coin, hours, min_notional_usdc)
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).
입력 스키마
{
"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#"
}🟢get_position_size(asset, direction, bankroll_usdc, win_rate_pct, payoff_ratio, ...)
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.
입력 스키마
{
"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#"
}🟢get_carry_scanner(size_usdc, top_n)
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.
입력 스키마
{
"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#"
}🟢get_cross_venue_funding(min_spread_annual_pct, limit)
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.
입력 스키마
{
"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#"
}커뮤니티
증거