Skip to main content
Glama
Atharva-Varpe

Bybit MCP Server

README.md
# Bybit MCP Server

A Model Context Protocol (MCP) server for the Bybit V5 API. This server allows LLMs (like Gemini, Claude, etc.) to interact with Bybit for market data, trading, account management, and position tracking.

## Features

- **Market Data:** Get tickers, K-lines (candlesticks), and orderbook data.
- **Trading:** Place, cancel, and track orders across Spot and Derivatives.
- **Account:** Check wallet balances and account information.
- **Positions:** Monitor open positions for linear/inverse perpetuals and options.

## Installation

### Prerequisites

- Node.js (v18 or higher)
- Bybit API Key and Secret (with V5 permissions)

### Setup

1. Clone the repository:
   ```bash
   git clone https://github.com/YOUR_USERNAME/bybit-mcp.git
   cd bybit-mcp
   ```

2. Install dependencies:
   ```bash
   npm install
   ```

3. Build the project:
   ```bash
   npm run build
   ```

## Configuration

The server requires environment variables for authentication. You can set these in your shell or via an MCP client configuration (like Claude Desktop or Gemini).

| Variable | Description | Default |
|----------|-------------|---------|
| `BYBIT_API_KEY` | Your Bybit API Key | Required |
| `BYBIT_API_SECRET` | Your Bybit API Secret | Required |
| `BYBIT_TESTNET` | Set to `true` for Testnet | `false` |

### Using with Claude Desktop

Add this to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "bybit": {
      "command": "node",
      "args": ["/path/to/bybit-mcp/dist/index.js"],
      "env": {
        "BYBIT_API_KEY": "your_api_key",
        "BYBIT_API_SECRET": "your_api_secret",
        "BYBIT_TESTNET": "false"
      }
    }
  }
}
```

## Available Tools

- `get_tickers`: Get latest ticker information for symbols.
- `get_kline`: Get candlestick data (K-line).
- `get_orderbook`: Get orderbook data.
- `get_wallet_balance`: Get wallet balance for the account.
- `get_account_info`: Get account configuration and info.
- `place_order`: Place a new order.
- `cancel_order`: Cancel an order.
- `get_open_orders`: Get open orders.
- `get_positions`: Get position information.

## License

MIT License. See [LICENSE](LICENSE) for details.

## Contributing

Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

TDQS

C2.8/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: market data (tickers, kline, orderbook), account state (balance, info), and trading actions (place, cancel, open orders, positions). No two tools appear to do the same thing or have ambiguous boundaries.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern: get_*, place_*, cancel_*. The convention is predictable and readable, with no mixing of styles.

Tool Count5/5

Nine tools is well-scoped for an exchange trading server. Each tool earns its place covering market data, account management, and order/position operations without redundancy.

Completeness4/5

Core trading workflows are covered: place, cancel, open orders, positions, and account state. Minor gaps exist, such as order history, trade history, modify order, or cancel-all, but agents can work around them for basic trading.

Maintenance

ActivityInactive
ResponsivenessNo issues