servers / bybit-mcp-server

bybit-mcp-server

communityunknownpythondestructive capablehealthy

A Model Context Protocol server for Bybit V5 API


01Tools · 28

How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.

ToolRiskSide effectsApproval
get_server_time
Get the current Bybit server time.
readfalseunknown
get_wallet_balance
Get wallet balance and account risk information. Args: accountType: Account type - UNIFIED, CONTRACT, SPOT, OPTION, FUND coin: Coin name (e.g. BTC). If omitted, returns all coins with balance.
readfalseunknown
get_account_info
Get account margin mode and configuration info.
readfalseunknown
get_coin_info
Query coin information including chain info, deposit/withdraw status. Args: coin: Coin name. If omitted, returns all coins.
readfalseunknown
set_auto_add_margin
Turn on/off auto-add-margin for isolated margin position (MEDIUM risk). Args: category: Product type - linear symbol: Symbol name autoAddMargin: 0 to turn off, 1 to turn on positionIdx: Position index (0: one-way, 1: hedge buy, 2: hedge sell)
writetrueunknown
internal_transfer
Transfer funds between account types under same UID (HIGH risk, requires 'full' mode). Args: transferId: UUID (generate a UUID before calling) coin: Coin name (e.g. USDT) amount: Transfer amount (as string) fromAccountType: Source account type - UNIFIED, CONTRACT, SPOT, OPTION, FUND toAccountType: Destination account type
writetrueunknown
get_orderbook
Query order book depth data. Args: category: Product type - spot, linear, inverse, option symbol: Symbol name (e.g. BTCUSDT) limit: Depth limit (spot: 1-200, default 1; derivatives: 1-500, default 25)
readfalseunknown
set_leverage
Set leverage for a position (HIGH risk - requires confirmation). Args: category: Product type - linear, inverse symbol: Symbol name buyLeverage: Buy leverage (0 to max for risk limit) sellLeverage: Sell leverage (0 to max for risk limit)
writetrueunknown
get_fee_rate
Get trading fee rate. Args: category: Product type - spot, linear, inverse, option symbol: Symbol name baseCoin: Base coin
readfalseunknown
confirm_order
Execute a previously prepared HIGH-risk operation after review. When a HIGH-risk tool (place_order, amend_order, cancel_all_orders, set_leverage, internal_transfer) is called, it returns a confirmation summary instead of executing. Call this tool with the confirmation_id to actually execute the operation. Args: confirmation_id: The confirmation_id returned by the HIGH-risk tool.
writetrueunknown
get_order_history
Query order history. Args: category: Product type - spot, linear, inverse, option symbol: Symbol name orderId: Order ID orderLinkId: User custom order ID orderStatus: Order status - New, PartiallyFilled, Filled, Cancelled, etc. limit: Limit per page (max 50, default 20) cursor: Pagination cursor
writetrueunknown
get_open_orders
Query unfilled or partially filled orders. Args: category: Product type - spot, linear, inverse, option symbol: Symbol name baseCoin: Base coin (for linear/inverse only) orderId: Order ID orderLinkId: User custom order ID limit: Limit per page (max 50, default 20) cursor: Pagination cursor
readfalseunknown
get_funding_rate_history
Query historical funding rate. Args: category: Product type - linear, inverse symbol: Symbol name (e.g. BTCUSDT) startTime: Start timestamp in milliseconds endTime: End timestamp in milliseconds limit: Limit for data size per page (max 200, default 200)
readfalseunknown
place_order
Place an order (HIGH risk - requires confirmation). Args: category: Product type - spot, linear, inverse, option symbol: Symbol name (e.g. BTCUSDT) side: Buy or Sell orderType: Market or Limit qty: Order quantity (as string) price: Order price (required for Limit orders) timeInForce: Time in force - GTC, IOC, FOK, PostOnly orderLinkId: User custom order ID reduceOnly: Reduce only (true means close position) takeProfit: Take profit price stopLoss: Stop loss price
writetrueunknown
get_positions
Query real-time position data. Args: category: Product type - linear, inverse, option symbol: Symbol name baseCoin: Base coin settleCoin: Settle coin limit: Limit per page (max 200, default 20) cursor: Pagination cursor
readfalseunknown
set_trading_stop
Set take profit, stop loss, or trailing stop for a position (MEDIUM risk). Args: category: Product type - linear, inverse symbol: Symbol name takeProfit: Take profit price stopLoss: Stop loss price trailingStop: Trailing stop distance tpTriggerBy: TP trigger price type - LastPrice, MarkPrice, IndexPrice slTriggerBy: SL trigger price type tpSize: TP order quantity slSize: SL order quantity positionIdx: Position index (0: one-way, 1: hedge buy, 2: hedge sell)
writetrueunknown
get_tickers
Get latest price ticker for a symbol. Args: category: Product type - spot, linear, inverse, option symbol: Trading pair (e.g. BTCUSDT). If omitted, returns all tickers for the category.
readfalseunknown
get_kline
Query kline/candlestick data. Args: category: Product type - spot, linear, inverse symbol: Symbol name (e.g. BTCUSDT) interval: Kline interval - 1,3,5,15,30,60,120,240,360,720,D,M,W start: Start timestamp in milliseconds end: End timestamp in milliseconds limit: Limit for data size per page (max 200, default 200)
readfalseunknown
get_transfer_history
Query internal transfer records. Args: transferId: UUID of transfer coin: Coin name status: Transfer status - SUCCESS, PENDING, FAILED startTime: Start timestamp in milliseconds endTime: End timestamp in milliseconds limit: Limit per page (max 50, default 20) cursor: Pagination cursor
writetrueunknown
get_open_interest
Get open interest for each symbol. Args: category: Product type - linear, inverse symbol: Symbol name (e.g. BTCUSDT) intervalTime: Interval - 5min, 15min, 30min, 1h, 4h, 1d startTime: Start timestamp in milliseconds endTime: End timestamp in milliseconds limit: Limit for data size per page (max 200, default 50) cursor: Pagination cursor
readfalseunknown
get_public_trades
Query recent public trading data. Args: category: Product type - spot, linear, inverse, option symbol: Symbol name (e.g. BTCUSDT) baseCoin: Base coin (for option only) optionType: Option type - Call, Put (for option only) limit: Limit for data size (spot: 1-60 default 60; others: 1-1000 default 500)
readfalseunknown
get_instruments_info
Query instrument specifications and trading rules. Args: category: Product type - spot, linear, inverse, option symbol: Symbol name status: Symbol status filter - Trading, Settling, etc. baseCoin: Base coin limit: Limit for data size per page cursor: Pagination cursor
readfalseunknown
get_coin_balance
Query coin balance of a specific account type. Args: accountType: Account type - UNIFIED, CONTRACT, SPOT, OPTION, FUND coin: Coin name memberId: UID (required when querying sub UID balance) withTransferSafeAmount: Query transfer safe amount (0 or 1)
readfalseunknown
cancel_order
Cancel an existing order (MEDIUM risk - no confirmation required). Args: category: Product type - spot, linear, inverse, option symbol: Symbol name orderId: Order ID (either orderId or orderLinkId required) orderLinkId: User custom order ID
destructivetruetrue
get_trade_history
Query trade execution history. Args: category: Product type - spot, linear, inverse, option symbol: Symbol name orderId: Order ID startTime: Start timestamp in milliseconds endTime: End timestamp in milliseconds limit: Limit per page (max 100, default 50) cursor: Pagination cursor
readfalseunknown
cancel_all_orders
Cancel all open orders (HIGH risk - requires confirmation). Args: category: Product type - spot, linear, inverse, option symbol: Symbol name baseCoin: Base coin settleCoin: Settle coin
destructivetruetrue
amend_order
Amend an existing order (HIGH risk - requires confirmation). Args: category: Product type - spot, linear, inverse, option symbol: Symbol name orderId: Order ID (either orderId or orderLinkId required) orderLinkId: User custom order ID qty: New order quantity price: New order price triggerPrice: New trigger price takeProfit: New take profit price stopLoss: New stop loss price
writetrueunknown
get_closed_pnl
Query closed profit and loss records. Args: category: Product type - linear, inverse symbol: Symbol name startTime: Start timestamp in milliseconds endTime: End timestamp in milliseconds limit: Limit per page (max 100, default 50) cursor: Pagination cursor
readfalseunknown

02Install & source
uvx bybit-mcp-server
uvx
pip install bybit-mcp-server
pip

05Provenance & freshness
sourcesPyPI [p4]
last_checked2026-08-16 08:56Z
next_check2026-08-18 08:56Z
cadenceevery 48h
verifiedhandshake:failed metadata:passed metadata:passed metadata:passed metadata:passed handshake:failed metadata:passed handshake:failed metadata:passed handshake:failed
index_statusindex7 unique facts >= 5

06Badge

Add the “as seen on MCPExplorer” badge to your README. bybit-mcp-server MCP — as seen on mcpexplorer.com

[![bybit-mcp-server MCP — as seen on mcpexplorer.com](https://mcpexplorer.com/badge/bybit-mcp-server.svg)](https://mcpexplorer.com/servers/bybit-mcp-server)

Next step

This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.

Explore loadouts →
bybit-mcp-server — MCPExplorer