Bybit Mcp Full

by BCusack

596 downloads Not rated yet
GitHub

About

A comprehensive Model Context Protocol (MCP) server that provides full access to Bybit's v5 API. This server enables AI assistants to fetch real-time market data, execute trading operations, manage positions, and access account information from the Bybit cryptocurrency exchange.

Explore

- Always-available market data tools (tickers, order book, klines)
- Trading tools enabled via BYBIT_TRADING_ENABLED=true
- Batch order operations (place, amend, cancel multiple orders)
- Wallet and account balance queries
- Position management and leverage settings
- Testnet mode for safe, paper trading

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Bybit Mcp Full
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Python 3.13+
- uv package manager

To install bybit-full-mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @BCusack/bybit-full-mcp --client claude

Run directly from GitHub without cloning or installing:


BYBIT_API_KEY=your_api_key BYBIT_API_SECRET=your_api_secret uvx --from git+https://github.com/your-username/bybit-mcp.git bybit-mcp

Or with all options:

BYBIT_API_KEY=your_api_key \
BYBIT_API_SECRET=your_api_secret \
BYBIT_TESTNET=false \
BYBIT_TRADING_ENABLED=false \
uvx --from git+https://github.com/your-username/bybit-mcp.git bybit-mcp

> Note: Replace your-username/bybit-mcp with the actual GitHub repository URL

cp .env.example .env

docker run -i --rm --init \
-e BYBIT_API_KEY=your_api_key \
-e BYBIT_API_SECRET=your_api_secret \
-e BYBIT_TESTNET=false \
-e BYBIT_TRADING_ENABLED=false \
bybit-mcp


docker-compose up

- BYBIT_API_KEY: Your Bybit API key
- BYBIT_API_SECRET: Your Bybit API secret
- BYBIT_TESTNET: Set to true to use the Bybit testnet (default is false)
- BYBIT_TRADING_ENABLED: Set to true to enable trading operations (default is false)

- set_leverage: Set position leverage
- switch_cross_isolated_margin: Switch margin mode
- switch_position_mode: Switch between one-way/hedge mode
- set_auto_add_margin: Configure automatic margin addition

- Problem: API keys not being passed to Docker container
- Solution: Use the -e flag format shown in the Docker configuration above
- Note: The env section in VS Code MCP settings sets variables in VS Code's environment, which are then passed to Docker via -e flags

category

Product type (linear, inverse, option, spot)

symbol

Trading symbol (e.g., BTCUSDT)

limit

Data size limit per page

start

/`end`: Time range for historical data

All tools support the following common parameters where applicable:

- category: Product type (linear, inverse, option, spot)
- symbol: Trading symbol (e.g., BTCUSDT)
- limit: Data size limit per page
- start/end: Time range for historical data

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "bybit mcp full": {
            "bybit-mcp": {
                "type": "stdio",
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "--init",
                    "-e",
                    "DOCKER_CONTAINER",
                    "-e",
                    "BYBIT_API_KEY",
                    "-e",
                    "BYBIT_API_SECRET",
                    "-e",
                    "BYBIT_TRADING_ENABLED",
                    "-e",
                    "BYBIT_TESTNET",
                    "falconiun/bybit-mcp"
                ],
                "env": {
                    "DOCKER_CONTAINER": "true",
                    "BYBIT_API_KEY": "<BYBIT_API_KEY>",
                    "BYBIT_API_SECRET": "<BYBIT_API_SECRET>",
                    "BYBIT_TRADING_ENABLED": "<BYBIT_TRADING_ENABLED>",
                    "BYBIT_TESTNET": "<BYBIT_TESTNET>"
                }
            }
        }
    }
}

McpServers

{
    "bybit-mcp": {
        "type": "stdio",
        "command": "docker",
        "args": [
            "run",
            "-i",
            "--rm",
            "--init",
            "-e",
            "DOCKER_CONTAINER",
            "-e",
            "BYBIT_API_KEY",
            "-e",
            "BYBIT_API_SECRET",
            "-e",
            "BYBIT_TRADING_ENABLED",
            "-e",
            "BYBIT_TESTNET",
            "falconiun/bybit-mcp"
        ],
        "env": {
            "DOCKER_CONTAINER": "true",
            "BYBIT_API_KEY": "<BYBIT_API_KEY>",
            "BYBIT_API_SECRET": "<BYBIT_API_SECRET>",
            "BYBIT_TRADING_ENABLED": "<BYBIT_TRADING_ENABLED>",
            "BYBIT_TESTNET": "<BYBIT_TESTNET>"
        }
    }
}

Installation

Installing via Smithery

To install bybit-full-mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @BCusack/bybit-full-mcp --client claude

Prerequisites

- Python 3.13+ - uv package manager

Using uvx (Easiest - No Installation Required)

Run directly from GitHub without cloning or installing:

# Set environment variables and run
BYBIT_API_KEY=your_api_key BYBIT_API_SECRET=your_api_secret uvx --from git+https://github.com/your-username/bybit-mcp.git bybit-mcp

Or with all options:

BYBIT_API_KEY=your_api_key \
BYBIT_API_SECRET=your_api_secret \
BYBIT_TESTNET=false \
BYBIT_TRADING_ENABLED=false \
uvx --from git+https://github.com/your-username/bybit-mcp.git bybit-mcp

> Note: Replace your-username/bybit-mcp with the actual GitHub repository URL

Using uv (Recommended for Development)

1. Clone the repository:

git clone <repository-url>
cd bybit-mcp

2. Install dependencies:

uv sync

3. Set up environment variables:

# Copy the example environment file
cp .env.example .env

Edit .env with your Bybit API credentials

BYBIT_API_KEY=your_api_key_here BYBIT_API_SECRET=your_api_secret_here BYBIT_TESTNET=false # Set to true for testnet BYBIT_TRADING_ENABLED=false # Set to true to enable trading operations

4. Run the server:

uv run bybit-mcp

Using pip

pip install -e .
python -m bybit_mcp.main

Docker Usage

Build and Run

# Build the Docker image
docker build -t bybit-mcp .

Run with environment variables (correct syntax)

docker run -i --rm --init \ -e BYBIT_API_KEY=your_api_key \ -e BYBIT_API_SECRET=your_api_secret \ -e BYBIT_TESTNET=false \ -e BYBIT_TRADING_ENABLED=false \ bybit-mcp

Using Docker Compose

# Set environment variables in .env file first
docker-compose up

Using Published Image

# Use the published Docker image
docker run -i --rm --init \
  -e BYBIT_API_KEY=your_api_key \
  -e BYBIT_API_SECRET=your_api_secret \
  -e BYBIT_TESTNET=false \
  -e BYBIT_TRADING_ENABLED=false \
  falconiun/bybit-mcp

Configuration

Environment Variables

- BYBIT_API_KEY: Your Bybit API key
- BYBIT_API_SECRET: Your Bybit API secret
- BYBIT_TESTNET: Set to true to use the Bybit testnet (default is false)
- BYBIT_TRADING_ENABLED: Set to true to enable trading operations (default is false)

Safety Controls

The server implements several safety controls for trading operations:

Trading Disabled by Default
- All trading and position management tools are disabled by default - Must explicitly set BYBIT_TRADING_ENABLED=true to enable trading - Market data tools are always available regardless of this setting
Testnet Support
- Set BYBIT_TESTNET=true to use Bybit's testnet environment - Recommended for development and testing - Testnet trading uses fake money and won't affect real balances
Tool Visibility
- Trading tools only appear in the tool list when BYBIT_TRADING_ENABLED=true - Position management tools require the same flag - This prevents accidental trading operations
API Permissions
Ensure your Bybit API key has the appropriate permissions: - Read-only: For market data (always safe) - Trade: Required for order operations (enable only when needed) - Position: Required for position management - Withdraw: Not required for this server

MCP Client Integration

Claude Desktop

To use the Bybit MCP server with Claude Desktop, add the following configuration to your Claude Desktop MCP settings file:

Location of Claude Desktop MCP config:
- Windows: %APPDATA%\Claude\claude_desktop_config.json
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json

Option 1: Using Published Docker Image (Recommended)

{
"mcpServers": {
"bybit-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e", "BYBIT_API_KEY=your_api_key_here",
"-e", "BYBIT_API_SECRET=your_api_secret_here",
"-e", "BYBIT_TESTNET=false",
"-e", "BYBIT_TRADING_ENABLED=false",
"falconiun/bybit-mcp"
]
}
}
}

Option 2: Using uvx (No Installation Required)

{
"mcpServers": {
"bybit-mcp": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/your-username/bybit-mcp.git",
"bybit-mcp"
],
"env": {
"BYBIT_API_KEY": "your_api_key_here",
"BYBIT_API_SECRET": "your_api_secret_here",
"BYBIT_TESTNET": "false",
"BYBIT_TRADING_ENABLED": "false"
}
}
}
}

Option 3: Local Development

{
"mcpServers": {
"bybit-mcp": {
"command": "uv",
"args": ["run", "bybit-mcp"],
"cwd": "path/to/your/bybit-mcp",
"env": {
"BYBIT_API_KEY": "your_api_key_here",
"BYBIT_API_SECRET": "your_api_secret_here",
"BYBIT_TESTNET": "false",
"BYBIT_TRADING_ENABLED": "false"
}
}
}
}

Important Claude Desktop Notes:
- Replace your_api_key_here and your_api_secret_here with your actual Bybit API credentials
- Set BYBIT_TESTNET=true for testing with fake money (recommended for first use)
- Set BYBIT_TRADING_ENABLED=true only when you want to enable real trading operations
- Restart Claude Desktop after modifying the configuration file

Claude Desktop Usage Examples:

Once configured, you can ask Claude Desktop questions like:
- "What's my USDT balance?"
- "What's the current price of BTCUSDT?"
- "Show me the order book for ETHUSDT"
- "Get me the recent trading history for my account"
- "What positions do I currently have open?"

For trading (when BYBIT_TRADING_ENABLED=true):
- "Place a limit buy order for 0.001 BTC at $95,000"
- "Cancel all my open orders"
- "Set leverage to 10x for BTCUSDT"
- "Set a stop loss at $90,000 for my BTC position"

Security Best Practices:
- Start with BYBIT_TESTNET=true to test functionality safely
- Use API keys with minimal required permissions (read-only for market data, trade permissions only when needed)
- Never share your configuration file containing API keys
- Consider using environment variables for sensitive credentials in production

Other MCP Clients

This server works with any MCP-compatible client. The configuration format may vary slightly between clients, but the core setup remains the same:

VS Code MCP Integration
Option 1: Local Development (Recommended)

Add to your VS Code settings.json:

{
  "mcp": {
    "servers": {
      "bybit-mcp": {
        "type": "stdio",
        "command": "uv",
        "args": ["run", "bybit-mcp"],
        "cwd": "path/to/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"
      }
    ]
  }
}
Option 2: Docker (Production)

For using the published Docker image:

…

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.