MCP Server

CoinCryptoRank MCP

io.github.qqdd27/coincryptorank-mcp

What this MCP does

Provides live cryptocurrency market, funding-rate, order-book, arbitrage, portfolio, position, hedging, trading-agent, and backtesting capabilities across exchanges.

adjust_hedge
Adjust one leg of a hedged position: add_long / add_short / trim_long / trim_short. Params: positionId, action, sizeUsd.
Input schema
{'type': 'object', 'required': ['positionId', 'action', 'sizeUsd'], 'properties': {'action': {'enum': ['add_long', 'add_short', 'trim_long', 'trim_short'], 'type': 'string'}, 'sizeUsd': {'type': 'number'}, 'positionId': {'type': 'string'}}}
agent_chat
Send a message to your agent (free-form conversation; it answers with its strategy, live data and tools).
Input schema
{'type': 'object', 'required': ['agent', 'message'], 'properties': {'agent': {'type': 'string', 'description': 'Agent id or name substring'}, 'message': {'type': 'string', 'description': 'Your message to the agent'}}}
agent_decisions
Recent decisions/log of one of your agents (status, trigger, summary, reply).
Input schema
{'type': 'object', 'required': ['agent'], 'properties': {'agent': {'type': 'string', 'description': 'Agent id or name substring'}, 'limit': {'type': 'number', 'description': 'Max rows (default 10, max 50)'}}}
agent_status
Get details of one of your agents (mode, status, risk, triggers, last activity).
Input schema
{'type': 'object', 'required': ['agent'], 'properties': {'agent': {'type': 'string', 'description': 'Agent id or name substring'}}}
agent_trigger
Run the agent's selected trigger (interval → news → trading signal) and return the decision.
Input schema
{'type': 'object', 'required': ['agent'], 'properties': {'agent': {'type': 'string', 'description': 'Agent id or name substring'}}}
analyze_pair_liquidity
Orderbook liquidity for a hedged pair: max neutral size (min of both legs depth within slippage), best prices, recommendation. Params: exchangeA, exchangeB, symbol, slippagePct (default 0.3).
Input schema
{'type': 'object', 'required': ['exchangeA', 'exchangeB', 'symbol'], 'properties': {'symbol': {'type': 'string'}, 'exchangeA': {'type': 'string'}, 'exchangeB': {'type': 'string'}, 'slippagePct': {'type': 'number'}}}
backtest_basis_strategy
Backtest the funding-harvest strategy (S2) on our REAL funding archive: gross/net %, annualized, winrate, max consecutive negative periods, verdict. Params: exchangeA, exchangeB, symbol, days (max 90), sizeUsd.
Input schema
{'type': 'object', 'required': ['exchangeA', 'exchangeB', 'symbol'], 'properties': {'days': {'type': 'number'}, 'symbol': {'type': 'string'}, 'sizeUsd': {'type': 'number'}, 'exchangeA': {'type': 'string'}, 'exchangeB': {'type': 'string'}}}
close_hedged_position
Close a hedged position (both legs, market, reduce-only). Params: positionId, reason (optional).
Input schema
{'type': 'object', 'required': ['positionId'], 'properties': {'reason': {'type': 'string'}, 'positionId': {'type': 'string'}}}
close_position
Close an open position from our registry (user_positions): market reduce-only on the exchange (binance/bingx/bybit), cancel exchange SL/TP, record realized PnL. Params: exchange, symbol (e.g. "BTC_USDT"). Returns fill price and PnL.
Input schema
{'type': 'object', 'required': ['exchange', 'symbol'], 'properties': {'symbol': {'type': 'string'}, 'exchange': {'type': 'string'}}}
get_agent_events
Engine event feed for a position (slices, funding collected, alerts, liquidation). Params: positionId (optional), limit (default 30).
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number'}, 'positionId': {'type': 'string'}}}
get_basis_history
Minute-level price basis history between two exchanges for the same perp symbol (buyPrice vs sellPrice from our archive). Params: exchangeA, exchangeB, symbol (e.g. "HOME_USDT"), hours (default 6, max 48).
Input schema
{'type': 'object', 'required': ['exchangeA', 'exchangeB', 'symbol'], 'properties': {'hours': {'type': 'number'}, 'symbol': {'type': 'string'}, 'exchangeA': {'type': 'string'}, 'exchangeB': {'type': 'string'}}}
get_basis_regime
Basis regime between two exchanges: mean/std/z-score/percentiles of the price spread, trend, oscillation score, and a signal (ENTER_LONG_BIAS / ENTER_SHORT_BIAS / HOLD). Params: exchangeA, exchangeB, symbol.
Input schema
{'type': 'object', 'required': ['exchangeA', 'exchangeB', 'symbol'], 'properties': {'symbol': {'type': 'string'}, 'exchangeA': {'type': 'string'}, 'exchangeB': {'type': 'string'}}}
get_basis_signal
Combined entry signal: basis regime + liquidity check. Returns signal (ENTER_*_BIAS/HOLD), z-score, maxNeutralUsd, recommended action. Params: exchangeA, exchangeB, symbol, maxSizeUsd (optional cap).
Input schema
{'type': 'object', 'required': ['exchangeA', 'exchangeB', 'symbol'], 'properties': {'symbol': {'type': 'string'}, 'exchangeA': {'type': 'string'}, 'exchangeB': {'type': 'string'}, 'maxSizeUsd': {'type': 'number'}}}
get_exchange_skills
List official exchange MCP servers and AI skill libraries we aggregate (Binance Skills Hub, BingX AI Skills, OKX Agent Trade Kit, Bybit MCP, Coinbase CDP, ...) with availability for YOUR connected exchange keys — tells an AI client which exchange skills it can actually use.
Input schema
{'type': 'object', 'properties': {}}
get_funding_arbitrage
Cross-exchange funding-rate arbitrage opportunities from our live table. Returns assets where one exchange pays positive funding (long side) and another negative (short side). Params: exchangeA (e.g. "binance"), exchangeB (e.g. "bingx") to filter pairs between these two, minRateDiff (minimum |rate_diff| in %, e.g. 0.05), limit (max rows, default 20).
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max rows (default 20, max 50)'}, 'exchangeA': {'type': 'string', 'description': 'First exchange id, e.g. "binance"'}, 'exchangeB': {'type': 'string', 'description': 'Second exchange id, e.g. "bingx"'}, 'minRateDiff': {'type': 'number', 'description': 'Minimum absolute rate diff in percent (default 0)'}}}
get_funding_rates
Current funding rates for perpetual futures from all exchanges. Params: asset (e.g. "BTC"), exchange (e.g. "binance"), limit (default 20, max 50).
Input schema
{'type': 'object', 'properties': {'asset': {'type': 'string'}, 'limit': {'type': 'number'}, 'exchange': {'type': 'string'}}}
get_funding_schedule
Funding schedule for a perp on an exchange: current rate %, interval hours, next payment time, mark price. Params: exchange, symbol.
Input schema
{'type': 'object', 'required': ['exchange', 'symbol'], 'properties': {'symbol': {'type': 'string'}, 'exchange': {'type': 'string'}}}
get_klines
OHLCV candles from the official exchange API (binance or xt). Params: exchange ("binance"|"xt"), symbol, interval ("1m","5m","1h"), limit (max 500).
Input schema
{'type': 'object', 'required': ['exchange', 'symbol'], 'properties': {'limit': {'type': 'number'}, 'symbol': {'type': 'string'}, 'exchange': {'enum': ['binance', 'xt'], 'type': 'string'}, 'interval': {'type': 'string'}}}
get_news
Latest crypto news headlines with short descriptions. Params: limit (default 10, max 30).
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number'}}}
get_open_orders
List open orders on an exchange (REAL). Params: exchange ("binance"|"bingx"|"bybit"), symbol (optional, e.g. "BTC_USDT"). binance = futures open orders, bybit = linear perps; bingx spot returns unsupported (single-order query only).
Input schema
{'type': 'object', 'required': ['exchange'], 'properties': {'symbol': {'type': 'string'}, 'exchange': {'type': 'string'}}}
get_orderbook
Orderbook depth snapshot for a symbol on an exchange. Params: exchange (e.g. "binance_spot", "bingx"), symbol (e.g. "BTC/USDT"), depth (default 10, max 25).
Input schema
{'type': 'object', 'required': ['exchange', 'symbol'], 'properties': {'depth': {'type': 'number'}, 'symbol': {'type': 'string'}, 'exchange': {'type': 'string'}}}
get_perp_arbitrage
Perpetual futures arbitrage: same perp traded on two exchanges with a price spread. Params: exchangeA, exchangeB, minSpreadPct, limit.
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max rows (default 20, max 50)'}, 'exchangeA': {'type': 'string'}, 'exchangeB': {'type': 'string'}, 'minSpreadPct': {'type': 'number', 'description': 'Minimum spread % (default 0)'}}}
get_portfolio
The user's real exchange balances from their connected accounts (Binance futures, BingX spot+futures, Bybit, XT, Pionex). Use when the user asks about their balances, positions, or portfolio. Params: exchange (optional: "binance" | "bingx" | "bybit" | "xt" | "pionex").
Input schema
{'type': 'object', 'properties': {'exchange': {'type': 'string'}}}
get_positions
The user's open positions from our registry (user_positions) — what the agent/bots have open. Params: exchange (optional), symbol (optional).
Input schema
{'type': 'object', 'properties': {'symbol': {'type': 'string'}, 'exchange': {'type': 'string'}}}
get_spot_arbitrage
Spot arbitrage opportunities: buy asset on one exchange, sell on another. Params: exchangeA, exchangeB (filter pairs between these two), minProfitPct (e.g. 0.5), limit.
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max rows (default 20, max 50)'}, 'exchangeA': {'type': 'string'}, 'exchangeB': {'type': 'string'}, 'minProfitPct': {'type': 'number', 'description': 'Minimum profit % (default 0)'}}}
get_threat_level
Instant risk assessment for a position: GREEN/YELLOW/RED, liq distance %, basis deviation %, reasons, recommended action. Params: positionId.
Input schema
{'type': 'object', 'required': ['positionId'], 'properties': {'positionId': {'type': 'string'}}}
get_tickers
Top crypto prices from our aggregated ticker feed (global VWAP across 60+ exchanges). Params: topN (default 10, max 30), symbols (optional array like ["BTC","ETH"]).
Input schema
{'type': 'object', 'properties': {'topN': {'type': 'number'}, 'symbols': {'type': 'array', 'items': {'type': 'string'}}}}
hedge_status
Current status of hedged position(s): legs, avg prices, current basis, PnL, margin/liq distance, threat level, funding countdown. Params: positionId (optional — omit for all open positions).
Input schema
{'type': 'object', 'properties': {'positionId': {'type': 'string'}}}
list_agents
List your AI agents: id, name, mode, scenario, status, last decision/trigger.
Input schema
{'type': 'object', 'properties': {}}
list_hedge_positions
All hedged positions of the user (open and closed).
Input schema
{'type': 'object', 'properties': {}}
open_hedged_position
Open a NEUTRAL hedged position: LONG on exchangeA + SHORT on exchangeB (or vice versa via longExchange param). Entry is executed by the hedge engine strictly from orderbooks (max neutral size, slices, basis control). REAL mode only. Params: exchangeA, exchangeB, symbol, sizeUsd (≤5000), leverage (1-10), strategy ("funding"|"basis"|"hybrid"), longExchange (optional, default exchangeA), protection: slPct/tpPct/maxBasisDeviationPct/marginAlertPct/maxSlippagePct/maxSlices/autoTopUpUsd.
Input schema
{'type': 'object', 'required': ['exchangeA', 'exchangeB', 'symbol', 'sizeUsd', 'leverage', 'agent'], 'properties': {'agent': {'type': 'string', 'description': 'Your REAL hedge agent (id or name) whose bound API keys will open the position'}, 'slPct': {'type': 'number'}, 'tpPct': {'type': 'number'}, 'symbol': {'type': 'string'}, 'sizeUsd': {'type': 'number'}, 'leverage': {'type': 'number'}, 'strategy': {'type': 'string'}, 'exchangeA': {'type': 'string'}, 'exchangeB': {'type': 'string'}, 'maxSlices': {'type': 'number'}, 'autoTopUpUsd': {'type': 'number'}, 'longExchange': {'type': 'string', 'description': 'which exchange is the LONG leg (default = exchangeA)'}, 'marginAlertPct': {'type': 'number'}, 'maxSlippagePct': {'type': 'number'}, 'maxBasisDeviationPct': {'type': 'number'}}}
place_order
Place a real market order on the user's exchange (Binance or BingX — only exchanges connected to this agent). Trading is only allowed when the agent mode is REAL. The order size is strictly limited by the agent's risk % of free balance; the system validates and may reject. A stop-loss and take-profit are placed on the exchange automatically. Params: exchange ("binance"|"bingx"), symbol (asset like "BTC"), side ("BUY"|"SELL"), amount_type ("PERCENTAGE"|"FIXED_USDT"), amount_value (number).
Input schema
{'type': 'object', 'required': ['exchange', 'symbol', 'side', 'amount_type', 'amount_value', 'agent'], 'properties': {'side': {'enum': ['BUY', 'SELL'], 'type': 'string'}, 'agent': {'type': 'string', 'description': 'Your REAL agent (id or name) whose bound API keys will execute the order (binance/bingx/bybit)'}, 'symbol': {'type': 'string'}, 'exchange': {'enum': ['binance', 'bingx'], 'type': 'string'}, 'amount_type': {'enum': ['PERCENTAGE', 'FIXED_USDT'], 'type': 'string'}, 'amount_value': {'type': 'number'}}}
set_hedge_protection
Update protection thresholds of an open position: slPct, tpPct, maxBasisDeviationPct, marginAlertPct, autoTopUpUsd. Params: positionId + any threshold.
Input schema
{'type': 'object', 'required': ['positionId'], 'properties': {'slPct': {'type': 'number'}, 'tpPct': {'type': 'number'}, 'positionId': {'type': 'string'}, 'autoTopUpUsd': {'type': 'number'}, 'marginAlertPct': {'type': 'number'}, 'maxBasisDeviationPct': {'type': 'number'}}}
set_sl_tp
Set/update exchange-side stop-loss and take-profit on an open position (REAL; binance futures, bybit linear; bingx spot unsupported). Params: exchange, symbol, stopLossPct/takeProfitPct (percent from entry) or absolute stopLossPrice/takeProfitPrice.
Input schema
{'type': 'object', 'required': ['exchange', 'symbol'], 'properties': {'symbol': {'type': 'string'}, 'exchange': {'type': 'string'}, 'stopLossPct': {'type': 'number'}, 'stopLossPrice': {'type': 'number'}, 'takeProfitPct': {'type': 'number'}, 'takeProfitPrice': {'type': 'number'}}}
square_post
Publish a post to Binance Square using YOUR Binance Square OpenAPI key (set in Integrations). Max 3 different $TICKER coin tags per post; write prices as plain numbers (no $). Daily limit: 100 posts.
Input schema
{'type': 'object', 'required': ['content'], 'properties': {'title': {'type': 'string', 'description': 'Optional article title (max 200 chars)'}, 'content': {'type': 'string', 'description': 'Post text (max 4000 chars)'}}}
Added
get_exchange_skills
Sept. 17, 2026, 12:49 p.m.
Added
square_post
Sept. 17, 2026, 12:49 p.m.
Added
agent_decisions
Sept. 17, 2026, 12:49 p.m.
Added
agent_trigger
Sept. 17, 2026, 12:49 p.m.
Added
agent_chat
Sept. 17, 2026, 12:49 p.m.
Added
agent_status
Sept. 17, 2026, 12:49 p.m.
Added
list_agents
Sept. 17, 2026, 12:49 p.m.
Added
place_order
Sept. 17, 2026, 12:49 p.m.
Added
set_sl_tp
Sept. 17, 2026, 12:49 p.m.
Added
close_position
Sept. 17, 2026, 12:49 p.m.
Added
get_open_orders
Sept. 17, 2026, 12:49 p.m.
Added
get_agent_events
Sept. 17, 2026, 12:49 p.m.
Added
list_hedge_positions
Sept. 17, 2026, 12:49 p.m.
Added
get_threat_level
Sept. 17, 2026, 12:49 p.m.
Added
set_hedge_protection
Sept. 17, 2026, 12:49 p.m.
Added
adjust_hedge
Sept. 17, 2026, 12:49 p.m.
Added
hedge_status
Sept. 17, 2026, 12:49 p.m.
Added
close_hedged_position
Sept. 17, 2026, 12:49 p.m.
Added
open_hedged_position
Sept. 17, 2026, 12:49 p.m.
Added
get_basis_signal
Sept. 17, 2026, 12:49 p.m.
Added
backtest_basis_strategy
Sept. 17, 2026, 12:49 p.m.
Added
analyze_pair_liquidity
Sept. 17, 2026, 12:49 p.m.
Added
get_klines
Sept. 17, 2026, 12:49 p.m.
Added
get_funding_schedule
Sept. 17, 2026, 12:49 p.m.
Added
get_basis_regime
Sept. 17, 2026, 12:49 p.m.
Added
get_basis_history
Sept. 17, 2026, 12:49 p.m.
Added
get_positions
Sept. 17, 2026, 12:49 p.m.
Added
get_portfolio
Sept. 17, 2026, 12:49 p.m.
Added
get_news
Sept. 17, 2026, 12:49 p.m.
Added
get_orderbook
Sept. 17, 2026, 12:49 p.m.