get_server_timeLABSCO SUMMARY
The safety switch is the design.
Trading and position tools do not appear in the tool list at all while BYBIT_TRADING_ENABLED is false, so an assistant cannot place an order it cannot see — that is a stronger guarantee than a warning in a description. When you do turn it on, BYBIT_TESTNET=true gives you the same surface against fake money first.
What it is
An MCP server over the Bybit cryptocurrency exchange, covering linear, inverse, option and spot categories. It splits its surface in two: read-only market data is always available, while anything that moves money stays out of the tool list entirely unless you switch it on.
What you get
- Market reads, always available —
get_server_time,get_tickers,get_order_book,get_recent_trades,get_instruments_info,get_funding_rate_history,get_open_interest,get_insurance,get_risk_limit,get_long_short_ratio - Four candlestick series:
get_kline,get_mark_price_kline,get_index_price_kline,get_premium_index_price_kline - Orders, once trading is enabled —
place_order,place_trigger_orderfor conditional entries and stops,amend_order,cancel_order,cancel_all_orders - Batch equivalents for all three:
batch_place_order,batch_amend_order,batch_cancel_order - Order and account history —
get_open_closed_orders,get_order_history,get_trade_history,get_wallet_balance,get_single_coin_balance,get_account_info - Position control —
get_position_info,get_closed_pnl,set_leverage,switch_cross_isolated_margin,switch_position_mode,set_auto_add_margin,set_trading_stop,modify_position_margin - A resource at
bybit://market/infodescribing the available endpoints
Requirements
A Bybit account and an API key with the permissions you actually intend to use — read-only for market data, Trade for orders, Position for position management; withdraw is not needed. Pass BYBIT_API_KEY and BYBIT_API_SECRET in the client's env block, plus BYBIT_TESTNET and BYBIT_TRADING_ENABLED. Run it with uvx bybit-mcp (Python 3.13+ and uv), or point the client at the published image falconiun/bybit-mcp. Package bybit-mcp at 0.1.9, MIT.
Setup effort
One command plus a key — uvx bybit-mcp, then supply credentials
USE CASES
Reading the market without handing over trading rights
Leave trading disabled and use a read-only key; tickers, order book, klines and funding history still work.
Rehearsing a strategy on testnet
Set BYBIT_TESTNET=true and enable trading, then place and cancel orders against fake balances before pointing the same config at live.
Reviewing what a position actually cost
Pull the open position alongside closed profit and loss records, so the current exposure and its history are in one answer.
Tightening risk on a running position
Set take profit and stop loss, adjust leverage, or add margin without leaving the conversation.
36 tools
Listed in project docs. Your client may show a different list.
get_tickersget_order_bookget_recent_tradesget_klineget_mark_price_klineget_index_price_klineget_premium_index_price_klineget_instruments_infoget_funding_rate_historyget_open_interestget_insuranceget_risk_limitget_long_short_ratioplace_orderplace_trigger_orderamend_ordercancel_ordercancel_all_ordersbatch_place_orderbatch_amend_orderbatch_cancel_orderget_open_closed_ordersget_order_historyget_trade_historyget_wallet_balanceget_single_coin_balanceget_account_infoget_position_infoget_closed_pnlset_leverageswitch_cross_isolated_marginswitch_position_modeset_auto_add_marginset_trading_stopmodify_position_marginBEFORE YOU INSTALL
What to know first
Tools you get
36 tools named in the project's documentation.
Requires
- Python 3.13+
- BYBIT_API_KEY in your environment
- BYBIT_API_SECRET in your environment
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx bybit-mcpMCP Clients
Claude Desktop
{
"mcpServers": {
"bybit-mcp": {
"command": "uvx",
"args": [
"bybit-mcp"
],
"env": {
"BYBIT_API_KEY": "<YOUR_BYBIT_API_KEY>",
"BYBIT_API_SECRET": "<YOUR_BYBIT_API_SECRET>",
"BYBIT_TESTNET": "false",
"BYBIT_TRADING_ENABLED": "false"
}
}
}
}VS Code
{
"servers": {
"bybit-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"bybit-mcp"
],
"env": {
"BYBIT_API_KEY": "${input:bybit_api_key}",
"BYBIT_API_SECRET": "${input:bybit_api_secret}",
"BYBIT_TESTNET": "${input:bybit_testnet}",
"BYBIT_TRADING_ENABLED": "${input:bybit_trading_enabled}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "bybit_api_key",
"description": "Bybit API Key",
"password": true
},
{
"type": "promptString",
"id": "bybit_api_secret",
"description": "Bybit API Secret",
"password": true
},
{
"type": "promptString",
"id": "bybit_testnet",
"description": "Use Bybit Testnet",
"default": "false"
},
{
"type": "promptString",
"id": "bybit_trading_enabled",
"description": "Enable Bybit Trading",
"default": "false"
}
]
}Any MCP client — Docker
{
"mcpServers": {
"bybit-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"BYBIT_API_KEY=<YOUR_BYBIT_API_KEY>",
"-e",
"BYBIT_API_SECRET=<YOUR_BYBIT_API_SECRET>",
"-e",
"BYBIT_TESTNET=false",
"-e",
"BYBIT_TRADING_ENABLED=false",
"falconiun/bybit-mcp"
]
}
}
}