Leaderboard/io.github.junct-bot/binance-mcp
MCP ServerScored via MCP protocol probing: initialize handshake, tools/list conformance, and ping + tool invocation performance.

io.github.junct-bot/binance-mcp

Crypto & Web3

Binance MCP server — 340 tools for AI agent integration. Hosted by Junct.

49/100
Operational Score
Score Breakdown
Availability20/30
Conformance0/30
Performance29/40
Key Metrics
Uptime 30d
95.1%
P95 Latency
405.8ms
Conformance
Fail
Trend
What's Being Tested
Availability
HTTP health check to the service endpoint
Unreachable — Timeout:
ConformanceNot tested
MCP initialize handshake + tools/list
Performance
MCP ping + zero-arg tool invocation benchmarking
P95 latency: 405ms, task completion: 100%
Improvement Tips
  • -Improve uptime (currently 95.1%, target 99%+)
Skills
get_api_v3_ping

Test Connectivity — Test connectivity to the Rest API. Weight(IP): 1

get_api_v3_time

Check Server Time — Test connectivity to the Rest API and get the current server time. Weight(IP): 1 Returns: { serverTime: number }.

get_api_v3_exchange_info

[DISCOVERY] Exchange Information — Current exchange trading rules and symbol information - If any symbol provided in either symbol or symbols do not exist, the endpoint will throw an error. - All parameters are optional. - permissions can support single or multiple values (e.g. SPOT, ["MARGIN","LEVERAGED"]) - If permissions parameter not provided, the default values will be ["SPOT","MARGIN","LEVERAGED"]. - To display all permissions you need to specify them explicitly. (e.g. SPOT, MARGIN,...) Examples of Symbol Permissions Interpretation from the Response: - [["A","B"]] means you may place an order if you

get_api_v3_depth

Order Book — | Limit | Weight(IP) | |---------------------|-------------| | 1-100 | 5 | | 101-500 | 25 | | 501-1000 | 50 | | 1001-5000 | 250 | Returns: { lastUpdateId: number, bids: string[][], asks: string[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_trades

Recent Trades List — Get recent trades. Weight(IP): 10 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_historical_trades

Old Trade Lookup — Get older market trades. Weight(IP): 10 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_agg_trades

Compressed/Aggregate Trades List — Get compressed, aggregate trades. Trades that fill at the time, from the same order, with the same price will have the quantity aggregated. - If `fromId`, `startTime`, and `endTime` are not sent, the most recent aggregate trades will be returned. - Note that if a trade has the following values, this was a duplicate aggregate trade and marked as invalid: p = '0' // price q = '0' // qty f = -1 // first_trade_id l = -1 // last_trade_id Weight(IP): 2 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_klines

Kline/Candlestick Data — Kline/candlestick bars for a symbol. Klines are uniquely identified by their open time. - If `startTime` and `endTime` are not sent, the most recent klines are returned. Weight(IP): 2 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_ui_klines

UIKlines — The request is similar to klines having the same parameters and response. uiKlines return modified kline data, optimized for presentation of candlestick charts. Weight(IP): 2 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_avg_price

Current Average Price — Current average price for a symbol. Weight(IP): 2 Returns: { mins: number, price: string, closeTime: number }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_ticker_24hr

24hr Ticker Price Change Statistics — 24 hour rolling window price change statistics. Careful when accessing this with no symbol. - If the symbol is not sent, tickers for all symbols will be returned in an array. Weight(IP): - `2` for a single symbol; - `80` when the symbol parameter is omitted;

get_api_v3_ticker_trading_day

Trading Day Ticker — Price change statistics for a trading day. Notes: - Supported values for timeZone: - Hours and minutes (e.g. -1:00, 05:45) - Only hours (e.g. 0, 8, 4) Weight: - `4` for each requested symbol. - The weight for this request will cap at `200` once the number of symbols in the request is more than `50`.

get_api_v3_ticker_price

Symbol Price Ticker — Latest price for a symbol or symbols. - If the symbol is not sent, prices for all symbols will be returned in an array. Weight(IP): - `2` for a single symbol; - `4` when the symbol parameter is omitted;

get_api_v3_ticker_book_ticker

[DISCOVERY] Symbol Order Book Ticker — Best price/qty on the order book for a symbol or symbols. - If the symbol is not sent, bookTickers for all symbols will be returned in an array. Weight(IP): - `2` for a single symbol; - `4` when the symbol parameter is omitted;

get_api_v3_ticker

[DISCOVERY] Rolling window price change statistics — The window used to compute statistics is typically slightly wider than requested windowSize. openTime for /api/v3/ticker always starts on a minute, while the closeTime is the current time of the request. As such, the effective window might be up to 1 minute wider than requested. E.g. If the closeTime is 1641287867099 (January 04, 2022 09:17:47:099 UTC) , and the windowSize is 1d. the openTime will be: 1641201420000 (January 3, 2022, 09:17:00 UTC) Weight(IP): 4 for each requested symbol regardless of windowSize. The weight for this request will cap at 20

post_api_v3_order_test

Test New Order (TRADE) — Test new order creation and signature/recvWindow long. Creates and validates a new order but does not send it into the matching engine. Weight(IP): - Without computeCommissionRates: `1` - With computeCommissionRates: `20` PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_order

Query Order (USER_DATA) — Check an order's status. - Either `orderId` or `origClientOrderId` must be sent. - For some historical orders `cummulativeQuoteQty` will be < 0, meaning the data is not available at this time. Weight(IP): 4 Returns: { symbol: string, orderId: number, orderListId: number, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

post_api_v3_order

New Order (TRADE) — Send in a new order. - `LIMIT_MAKER` are `LIMIT` orders that will be rejected if they would immediately match and trade as a taker. - `STOP_LOSS` and `TAKE_PROFIT` will execute a `MARKET` order when the `stopPrice` is reached. - Any `LIMIT` or `LIMIT_MAKER` type order can be made an iceberg order by sending an `icebergQty`. - Any order with an `icebergQty` MUST have `timeInForce` set to `GTC`. - `MARKET` orders using `quantity` specifies how much a user wants to buy or sell based on the market price. - `MARKET` orders using `quoteOrderQty` specifies the amount the user want PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

delete_api_v3_order

Cancel Order (TRADE) — Cancel an active order. Either `orderId` or `origClientOrderId` must be sent. Weight(IP): 1 Returns: { symbol: string, origClientOrderId: string, orderId: number, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

post_api_v3_order_cancel_replace

Cancel an Existing Order and Send a New Order (Trade) — Cancels an existing order and places a new order on the same symbol. Filters and Order Count are evaluated before the processing of the cancellation and order placement occurs. A new order that was not attempted (i.e. when newOrderResult: NOT_ATTEMPTED), will still increase the order count by 1. Weight(IP): 1 Returns: { cancelResult: string, newOrderResult: string, cancelResponse: { symbol: string, origClientOrderId: string, orderId: number, orderListId: number, clientOrderId: string, price: string, ... }, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_open_orders

Current Open Orders (USER_DATA) — Get all open orders on a symbol. Careful when accessing this with no symbol. Weight(IP): - `6` for a single symbol; - `80` when the symbol parameter is omitted;

delete_api_v3_open_orders

Cancel all Open Orders on a Symbol (TRADE) — Cancels all active orders on a symbol. This includes OCO orders. Weight(IP): 1 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_all_orders

All Orders (USER_DATA) — Get all account orders; active, canceled, or filled.. - If `orderId` is set, it will get orders >= that `orderId`. Otherwise most recent orders are returned. - For some historical orders `cummulativeQuoteQty` will be < 0, meaning the data is not available at this time. - If `startTime` and/or `endTime` provided, `orderId` is not required Weight(IP): 20 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

post_api_v3_order_list_oco

New Order list - OCO (TRADE) — Send in an one-cancels-the-other (OCO) pair, where activation of one order immediately cancels the other. - An `OCO` has 2 orders called the above order and below order. - One of the orders must be a `LIMIT_MAKER` order and the other must be `STOP_LOSS` or`STOP_LOSS_LIMIT` order. - Price restrictions: - If the `OCO` is on the `SELL` side: `LIMIT_MAKER` price > Last Traded Price > stopPrice - If the `OCO` is on the `BUY` side: `LIMIT_MAKER` price < Last Traded Price < stopPrice - OCOs add 2 orders to the unfilled order count, `EXCHANGE_MAX_ORDERS` filter, and the PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

post_api_v3_order_list_oto

New Order List - OTO (TRADE) — Places an `OTO`. - An `OTO` (One-Triggers-the-Other) is an order list comprised of 2 orders. - The first order is called the working order and must be `LIMIT` or `LIMIT_MAKER`. Initially, only the working order goes on the order book. - The second order is called the pending order. It can be any order type except for `MARKET` orders using parameter `quoteOrderQty`. The pending order is only placed on the order book when the working order gets fully filled. - If either the working order or the pending order is cancelled individually, the other order in the order l PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

post_api_v3_order_list_otoco

New Order List - OTOCO (TRADE) — Place an `OTOCO`. - An `OTOCO` (One-Triggers-One-Cancels-the-Other) is an order list comprised of 3 orders. - The first order is called the working order and must be `LIMIT` or `LIMIT_MAKER`. Initially, only the working order goes on the order book. - The behavior of the working order is the same as the `OTO`. - `OTOCO` has 2 pending orders (pending above and pending below), forming an `OCO` pair. The pending orders are only placed on the order book when the working order gets fully filled. - The rules of the pending above and pending below follow the same rule PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_order_list

[DISCOVERY] Query OCO (USER_DATA) — Retrieves a specific OCO based on provided optional parameters Weight(IP): 4 Returns: { orderListId: number, contingencyType: string, listStatusType: string, ... }.

delete_api_v3_order_list

[DISCOVERY] Cancel OCO (TRADE) — Cancel an entire Order List Canceling an individual leg will cancel the entire OCO Weight(IP): 1 Returns: { orderListId: number, contingencyType: string, listStatusType: string, ... }.

get_api_v3_all_order_list

[DISCOVERY] Query all OCO (USER_DATA) — Retrieves all OCO based on provided optional parameters Weight(IP): 20

get_api_v3_open_order_list

[DISCOVERY] Query Open OCO (USER_DATA) — Weight(IP): 6

post_api_v3_sor_order

New order using SOR (TRADE) — Weight(IP): 6 Returns: { symbol: string, orderId: number, orderListId: number, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

post_api_v3_sor_order_test

Test new order using SOR (TRADE) — Test new order creation and signature/recvWindow using smart order routing (SOR). Creates and validates a new order but does not send it into the matching engine. Weight(IP): - Without computeCommissionRates: `1` - With computeCommissionRates: `20` PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_account

Account Information (USER_DATA) — Get current account information. Weight(IP): 20 Returns: { makerCommission: number, takerCommission: number, buyerCommission: number, ... }.

get_api_v3_my_trades

Account Trade List (USER_DATA) — Get trades for a specific account and symbol. If `fromId` is set, it will get id >= that `fromId`. Otherwise most recent orders are returned. The time between startTime and endTime can't be longer than 24 hours. These are the supported combinations of all parameters: symbol symbol + orderId symbol + startTime symbol + endTime symbol + fromId symbol + startTime + endTime symbol+ orderId + fromId Weight(IP): 20 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_rate_limit_order

Query Current Order Count Usage (TRADE) — Displays the user's current order count usage for all intervals. Weight(IP): 40

get_api_v3_my_prevented_matches

Query Prevented Matches — Displays the list of orders that were expired because of STP. For additional information on what a Prevented match is, as well as Self Trade Prevention (STP), please refer to our STP FAQ page. These are the combinations supported: * symbol + preventedMatchId * symbol + orderId * symbol + orderId + fromPreventedMatchId (limit will default to 500) * symbol + orderId + fromPreventedMatchId + limit Weight(IP): Case Weight If symbol is invalid: 2 Querying by preventedMatchId: 2 Querying by orderId: 20 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_my_allocations

Query Allocations (USER_DATA) — Retrieves allocations resulting from SOR order placement. Weight: 20 Supported parameter combinations: Parameters Response symbol allocations from oldest to newest symbol + startTime oldest allocations since startTime symbol + endTime newest allocations until endTime symbol + startTime + endTime allocations within the time range symbol + fromAllocationId allocations by allocation ID symbol + orderId allocations related to an order starting with oldest symbol + orderId + fromAllocationId allocations related to an order by allocation ID Note: The time between star PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_api_v3_account_commission

Query Commission Rates (USER_DATA) — Get current account commission rates. Weight: 20 Returns: { symbol: string, standardCommission: { maker: string, taker: string, buyer: string, seller: string }, taxCommission: { maker: string, taker: string, buyer: string, seller: string }, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_sapi_v1_margin_borrow_repay

Query borrow/repay records in Margin account(USER_DATA) — Query borrow/repay records in Margin account - txId or startTime must be sent. txId takes precedence. Response in descending order - If an asset is sent, data within 30 days before endTime; If an asset is not sent, data within 7 days before endTime - If neither startTime nor endTime is sent, the recent 7-day data will be returned. - startTime set as endTime - 7 days by default, endTime set as current time by default Weight(IP): 10 Returns: { rows: { isolatedSymbol: string, amount: string, asset: string, interest: string, principal: stri

post_sapi_v1_margin_borrow_repay

Margin account borrow/repay(MARGIN) — Margin account borrow/repay(MARGIN) Weight(UID): 3000 Returns: { tranId: number }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_sapi_v1_margin_transfer

Get Cross Margin Transfer History (USER_DATA) — - Response in descending order - Returns data for last 7 days by default - Set `archived` to `true` to query data from 6 months ago Weight(IP): 1 Returns: { rows: { amount: string, asset: string, status: string, timestamp: number, txId: number, type: string }[], total: number }.

get_sapi_v1_margin_all_assets

[DISCOVERY] Get All Margin Assets (MARKET_DATA) — Weight(IP): 1

get_sapi_v1_margin_all_pairs

[DISCOVERY] Get All Cross Margin Pairs (MARKET_DATA) — Weight(IP): 1

get_sapi_v1_margin_price_index

Query Margin PriceIndex (MARKET_DATA) — Weight(IP): 10 Returns: { calcTime: number, price: string, symbol: string }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_sapi_v1_margin_order

Query Margin Account's Order (USER_DATA) — - Either `orderId` or `origClientOrderId` must be sent. - For some historical orders `cummulativeQuoteQty` will be < 0, meaning the data is not available at this time. Weight(IP): 10 Returns: { clientOrderId: string, cummulativeQuoteQty: string, executedQty: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

post_sapi_v1_margin_order

Margin Account New Order (TRADE) — Post a new order for margin account. Weight(UID): 6 PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

delete_sapi_v1_margin_order

Margin Account Cancel Order (TRADE) — Cancel an active order for margin account. Either `orderId` or `origClientOrderId` must be sent. Weight(IP): 10 Returns: { symbol: string, orderId: number, origClientOrderId: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data.

get_sapi_v1_margin_interest_history

Get Interest History (USER_DATA) — - Response in descending order - If `isolatedSymbol` is not sent, crossed margin data will be returned - Set `archived` to `true` to query data from 6 months ago - `type` in response has 4 enums: - `PERIODIC` interest charged per hour - `ON_BORROW` first interest charged on borrow - `PERIODIC_CONVERTED` interest charged per hour converted into BNB - `ON_BORROW_CONVERTED` first interest charged on borrow converted into BNB Weight(IP): 1 Returns: { rows: { isolatedSymbol: string, asset: string, interest: string, interestAccuredTime: number, interestRate: string

get_sapi_v1_margin_force_liquidation_rec

Get Force Liquidation Record (USER_DATA) — - Response in descending order Weight(IP): 1 Returns: { rows: { avgPrice: string, executedQty: string, orderId: number, price: string, qty: string, side: string, ... }[], total: number }.

get_sapi_v1_margin_account

Query Cross Margin Account Details (USER_DATA) — Weight(IP): 10 Returns: { created: boolean, borrowEnabled: boolean, marginLevel: string, ... }.

Recent Probe Results
TimestampStatusLatencyConformance
Apr 3, 2026timeout0msFail
Apr 3, 2026timeout0msFail
Apr 3, 2026timeout0msFail
Apr 3, 2026timeout0msFail
Apr 3, 2026timeout0msFail
Apr 3, 2026timeout0msFail
Apr 3, 2026timeout0msFail
Apr 3, 2026timeout0msFail
Apr 2, 2026timeout0msFail
Apr 2, 2026timeout0msFail
Source Registries
mcp-registry
First Seen
Mar 25, 2026
Last Seen
Apr 1, 2026
Last Probed
Apr 3, 2026