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.
| Tool | Risk | Side effects | Approval |
|---|---|---|---|
| get_server_time Get the current Bybit server time. | read | false | unknown |
| 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.
| read | false | unknown |
| get_account_info Get account margin mode and configuration info. | read | false | unknown |
| get_coin_info Query coin information including chain info, deposit/withdraw status.
Args:
coin: Coin name. If omitted, returns all coins.
| read | false | unknown |
| 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)
| write | true | unknown |
| 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
| write | true | unknown |
| 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)
| read | false | unknown |
| 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)
| write | true | unknown |
| get_fee_rate Get trading fee rate.
Args:
category: Product type - spot, linear, inverse, option
symbol: Symbol name
baseCoin: Base coin
| read | false | unknown |
| 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.
| write | true | unknown |
| 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
| write | true | unknown |
| 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
| read | false | unknown |
| 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)
| read | false | unknown |
| 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
| write | true | unknown |
| 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
| read | false | unknown |
| 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)
| write | true | unknown |
| 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.
| read | false | unknown |
| 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)
| read | false | unknown |
| 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
| write | true | unknown |
| 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
| read | false | unknown |
| 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)
| read | false | unknown |
| 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
| read | false | unknown |
| 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)
| read | false | unknown |
| 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
| destructive | true | true |
| 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
| read | false | unknown |
| 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
| destructive | true | true |
| 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
| write | true | unknown |
| 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
| read | false | unknown |
02Install & source
uvx bybit-mcp-server
uvxpip install bybit-mcp-server
pip- repohttps://github.com/workspace/bybit-mcp-server
- packagehttps://pypi.org/project/bybit-mcp-server
- homepagehttps://github.com/workspace/bybit-mcp-server
- adoption1 stars · 0 forks
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_statusindex — 7 unique facts >= 5
06Badge
Add the “as seen on MCPExplorer” badge to your README.
[](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 →