Bybit Mcp Full

by BCusack

596 downloads
Not rated
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.

Details

Author
BCusack
Downloads
596
Categories
Cloud Service, Other, Finance

- 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

Install via Smithery, uvx, uv, pip, or Docker. Set the required environment variables BYBIT_API_KEY and BYBIT_API_SECRET. Optionally set BYBIT_TESTNET for testnet usage and BYBIT_TRADING_ENABLED to enable trading tools. Configure the server in your MCP client (e.g., Claude Desktop settings or VS Code settings) and restart the client. The server then exposes tools based on your configuration.

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.