CoinCryptoRank MCP
by qqdd27 · remote · no sign-in to list tools · v1.0.1 · published by GitHub user qqdd27
Real-time crypto market data, funding rates, arbitrage and trading tools from 60+ exchanges.
38 tools: 2 do something that can't be undone, 10 change things and 26 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things10Claude Code: ask: see these tools
- Only reads26Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http coincryptorank https://coincryptorank.com/api/v1/mcp --header 'Authorization: <your-authorization>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
38 tools
Can't be undone 2Claude Code: ask
agent_chatSend a message to your agent (free-form conversation; it answers with its strategy, live data and tools).No findings
Why it is in this group
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Send a message to your agent (free-form conversation; it answers with its strategy, live data and tools).
square_postPublish a post to Binance Square using YOUR Binance Square OpenAPI key (set in Integrations).No findings
Why it is in this group
- The name "square_post" says "post": a word for a change.
- The description's first verb is "publish": a word for a change that another call does not undo.
Description, as the server wrote it 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.
Changes things 10Claude Code: ask
adjust_hedgeAdjust one leg of a hedged position: add_long / add_short / trim_long / trim_short.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Adjust one leg of a hedged position: add_long / add_short / trim_long / trim_short. Params: positionId, action, sizeUsd.
agent_decisionsRecent decisions/log of one of your agents (status, trigger, summary, reply).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Recent decisions/log of one of your agents (status, trigger, summary, reply).
agent_triggerRun the agent's selected trigger (interval → news → trading signal) and return the decision.No findings
Why it is in this group
- The name "agent_trigger" says "trigger": a word for a change.
Description, as the server wrote it Run the agent's selected trigger (interval → news → trading signal) and return the decision.
backtest_basis_strategyBacktest the funding-harvest strategy (S2) on our REAL funding archive: gross/net %, annualized, winrate, max consecutive negative periods, verdict.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
close_hedged_positionClose a hedged position (both legs, market, reduce-only).No findings
Why it is in this group
- The name "close_hedged_position" says "close": a word for a change.
Description, as the server wrote it Close a hedged position (both legs, market, reduce-only). Params: positionId, reason (optional).
close_positionClose an open position from our registry (user_positions): market reduce-only on the exchange (binance/bingx/bybit), cancel exchange SL/TP, record realized PnL.No findings
Why it is in this group
- The name "close_position" says "close": a word for a change.
Description, as the server wrote it 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.
open_hedged_positionOpen a NEUTRAL hedged position: LONG on exchangeA + SHORT on exchangeB (or vice versa via longExchange param).No findings
Why it is in this group
- The name "open_hedged_position" says "open": a word for a change.
Description, as the server wrote it 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.
place_orderPlace a real market order on the user's exchange (Binance or BingX — only exchanges connected to this agent).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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).
set_hedge_protectionUpdate protection thresholds of an open position: slPct, tpPct, maxBasisDeviationPct, marginAlertPct, autoTopUpUsd.No findings
Why it is in this group
- The name "set_hedge_protection" says "set": a word for a change.
Description, as the server wrote it Update protection thresholds of an open position: slPct, tpPct, maxBasisDeviationPct, marginAlertPct, autoTopUpUsd. Params: positionId + any threshold.
set_sl_tpSet/update exchange-side stop-loss and take-profit on an open position (REAL; binance futures, bybit linear; bingx spot unsupported).No findings
Why it is in this group
- The name "set_sl_tp" says "set": a word for a change.
Description, as the server wrote it 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.
Only reads 26Claude Code: allow
agent_statusGet details of one of your agents (mode, status, risk, triggers, last activity).No findings
Why it is in this group
- The name "agent_status" says "status": a word for reading.
Description, as the server wrote it Get details of one of your agents (mode, status, risk, triggers, last activity).
analyze_pair_liquidityOrderbook liquidity for a hedged pair: max neutral size (min of both legs depth within slippage), best prices, recommendation.No findings
Why it is in this group
- The name "analyze_pair_liquidity" says "analyze": a word for reading.
Description, as the server wrote it 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).
get_24h_stats24-hour rolling statistics for one symbol from the exchange itself: last price, change percent, high/low, base and quote volume.No findings
Why it is in this group
- The name "get_24h_stats" says "get": a word for reading.
Description, as the server wrote it 24-hour rolling statistics for one symbol from the exchange itself: last price, change percent, high/low, base and quote volume. Params: exchange ("binance"=futures, "binance_spot", "bybit", "bybit_spot", "okx", "okx_spot"), symbol (base ticker "BTC" or pair "BTCUSDT"/"BTC/USDT" — both accepted).
get_agent_eventsEngine event feed for a position (slices, funding collected, alerts, liquidation).No findings
Why it is in this group
- The name "get_agent_events" says "get": a word for reading.
Description, as the server wrote it Engine event feed for a position (slices, funding collected, alerts, liquidation). Params: positionId (optional), limit (default 30).
get_basis_historyMinute-level price basis history between two exchanges for the same perp symbol (buyPrice vs sellPrice from our archive).No findings
Why it is in this group
- The name "get_basis_history" says "get": a word for reading.
Description, as the server wrote it 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).
get_basis_regimeBasis 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).No findings
Why it is in this group
- The name "get_basis_regime" says "get": a word for reading.
Description, as the server wrote it 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.
get_basis_signalCombined entry signal: basis regime + liquidity check.No findings
Why it is in this group
- The name "get_basis_signal" says "get": a word for reading.
Description, as the server wrote it Combined entry signal: basis regime + liquidity check. Returns signal (ENTER_*_BIAS/HOLD), z-score, maxNeutralUsd, recommended action. Params: exchangeA, exchangeB, symbol, maxSizeUsd (optional cap).
get_exchange_skillsList 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 fo…No findings
Why it is in this group
- The name "get_exchange_skills" says "get": a word for reading.
Description, as the server wrote it 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.
get_funding_arbitrageCross-exchange funding-rate arbitrage opportunities from our live table.No findings
Why it is in this group
- The name "get_funding_arbitrage" says "get": a word for reading.
Description, as the server wrote it 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).
get_funding_ratesCurrent funding rates for perpetual futures from all exchanges.No findings
Why it is in this group
- The name "get_funding_rates" says "get": a word for reading.
Description, as the server wrote it Current funding rates for perpetual futures from all exchanges. Params: asset (e.g. "BTC"), exchange (e.g. "binance"), limit (default 20, max 50).
get_funding_scheduleFunding schedule for a perp on an exchange: current rate %, interval hours, next payment time, mark price.No findings
Why it is in this group
- The name "get_funding_schedule" says "get": a word for reading.
Description, as the server wrote it Funding schedule for a perp on an exchange: current rate %, interval hours, next payment time, mark price. Params: exchange, symbol.
get_klinesOHLCV candles from the official exchange API (binance or xt).No findings
Why it is in this group
- The name "get_klines" says "get": a word for reading.
Description, as the server wrote it OHLCV candles from the official exchange API (binance or xt). Params: exchange ("binance"|"xt"), symbol, interval ("1m","5m","1h"), limit (max 500).
get_newsLatest crypto news headlines with short descriptions.No findings
Why it is in this group
- The name "get_news" says "get": a word for reading.
Description, as the server wrote it Latest crypto news headlines with short descriptions. Params: limit (default 10, max 30).
get_open_ordersList open orders on an exchange (REAL).No findings
Why it is in this group
- The name "get_open_orders" says "get": a word for reading.
Description, as the server wrote it 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).
get_orderbookOrderbook depth snapshot for a symbol on an exchange.No findings
Why it is in this group
- The name "get_orderbook" says "get": a word for reading.
Description, as the server wrote it 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).
get_perp_arbitragePerpetual futures arbitrage: same perp traded on two exchanges with a price spread.No findings
Why it is in this group
- The name "get_perp_arbitrage" says "get": a word for reading.
Description, as the server wrote it Perpetual futures arbitrage: same perp traded on two exchanges with a price spread. Params: exchangeA, exchangeB, minSpreadPct, limit.
get_portfolioThe user's real exchange balances from their connected accounts (Binance futures, BingX spot+futures, Bybit, XT, Pionex).No findings
Why it is in this group
- The name "get_portfolio" says "get": a word for reading.
Description, as the server wrote it 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").
get_positionsThe user's open positions from our registry (user_positions) — what the agent/bots have open.No findings
Why it is in this group
- The name "get_positions" says "get": a word for reading.
Description, as the server wrote it The user's open positions from our registry (user_positions) — what the agent/bots have open. Params: exchange (optional), symbol (optional).
get_recent_tradesRecent public trades (tape) for a symbol, straight from the exchange API — no aggregator.No findings
Why it is in this group
- The name "get_recent_trades" says "get": a word for reading.
Description, as the server wrote it Recent public trades (tape) for a symbol, straight from the exchange API — no aggregator. Params: exchange ("binance", "binance_spot", "bybit", "bybit_spot", "okx", "okx_spot"), symbol (base ticker "BTC" or pair "BTCUSDT"/"BTC/USDT"), limit (default 50, max 200). Returns price, size, side and timestamp per trade.
get_spot_arbitrageSpot arbitrage opportunities: buy asset on one exchange, sell on another.No findings
Why it is in this group
- The name "get_spot_arbitrage" says "get": a word for reading.
Description, as the server wrote it 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.
get_symbol_rulesTrading rules for a symbol as the EXCHANGE defines them: minimum quantity, minimum notional, quantity/price step (tick size) and max leverage.No findings
Why it is in this group
- The name "get_symbol_rules" says "get": a word for reading.
Description, as the server wrote it Trading rules for a symbol as the EXCHANGE defines them: minimum quantity, minimum notional, quantity/price step (tick size) and max leverage. Call this before sizing an order — a size below minNotional is rejected by the venue. Params: exchange ("binance"=futures, "binance_spot", "bybit", "bybit_spot", "okx", "okx_spot"), symbol (base ticker "BTC" or pair "BTCUSDT"/"BTC/USDT").
get_threat_levelInstant risk assessment for a position: GREEN/YELLOW/RED, liq distance %, basis deviation %, reasons, recommended action.No findings
Why it is in this group
- The name "get_threat_level" says "get": a word for reading.
Description, as the server wrote it Instant risk assessment for a position: GREEN/YELLOW/RED, liq distance %, basis deviation %, reasons, recommended action. Params: positionId.
get_tickersTop crypto prices from our aggregated ticker feed (global VWAP across 60+ exchanges).No findings
Why it is in this group
- The name "get_tickers" says "get": a word for reading.
Description, as the server wrote it 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"]).
hedge_statusCurrent status of hedged position(s): legs, avg prices, current basis, PnL, margin/liq distance, threat level, funding countdown.No findings
Why it is in this group
- The name "hedge_status" says "status": a word for reading.
Description, as the server wrote it 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).
list_agentsList your AI agents: id, name, mode, scenario, status, last decision/trigger.No findings
Why it is in this group
- The name "list_agents" says "list": a word for reading.
Description, as the server wrote it List your AI agents: id, name, mode, scenario, status, last decision/trigger.
list_hedge_positionsAll hedged positions of the user (open and closed).No findings
Why it is in this group
- The name "list_hedge_positions" says "list": a word for reading.
Description, as the server wrote it All hedged positions of the user (open and closed).
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http coincryptorank https://coincryptorank.com/api/v1/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__coincryptorank__get_funding_arbitrage",
"mcp__coincryptorank__get_spot_arbitrage",
"mcp__coincryptorank__get_perp_arbitrage",
"mcp__coincryptorank__get_funding_rates",
"mcp__coincryptorank__get_tickers",
"mcp__coincryptorank__get_orderbook",
"mcp__coincryptorank__get_recent_trades",
"mcp__coincryptorank__get_24h_stats",
"mcp__coincryptorank__get_symbol_rules",
"mcp__coincryptorank__get_news",
"mcp__coincryptorank__get_portfolio",
"mcp__coincryptorank__get_positions",
"mcp__coincryptorank__get_basis_history",
"mcp__coincryptorank__get_basis_regime",
"mcp__coincryptorank__get_funding_schedule",
"mcp__coincryptorank__get_klines",
"mcp__coincryptorank__analyze_pair_liquidity",
"mcp__coincryptorank__get_basis_signal",
"mcp__coincryptorank__hedge_status",
"mcp__coincryptorank__get_threat_level",
"mcp__coincryptorank__list_hedge_positions",
"mcp__coincryptorank__get_agent_events",
"mcp__coincryptorank__get_open_orders",
"mcp__coincryptorank__list_agents",
"mcp__coincryptorank__agent_status",
"mcp__coincryptorank__get_exchange_skills"
],
"ask": [
"mcp__coincryptorank__backtest_basis_strategy",
"mcp__coincryptorank__open_hedged_position",
"mcp__coincryptorank__close_hedged_position",
"mcp__coincryptorank__adjust_hedge",
"mcp__coincryptorank__set_hedge_protection",
"mcp__coincryptorank__close_position",
"mcp__coincryptorank__set_sl_tp",
"mcp__coincryptorank__place_order",
"mcp__coincryptorank__agent_chat",
"mcp__coincryptorank__agent_trigger",
"mcp__coincryptorank__agent_decisions",
"mcp__coincryptorank__square_post"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as coincryptorank. Review it before you use it.
