Skip to main content
Glama
kukapay

crypto-orderbook-mcp

by kukapay
README.md
# Crypto Orderbook MCP

An MCP server that analyzes order book depth and imbalance across major crypto exchanges, empowering AI agents and trading systems with real-time market structure insights.

![License](https://img.shields.io/badge/license-MIT-green)
![Python](https://img.shields.io/badge/python-3.10%2B-blue)
![Status](https://img.shields.io/badge/status-active-brightgreen.svg)


## Features

- **Order Book Metrics**: Calculate bid/ask depth and imbalance for a specified trading pair on a given exchange.
- **Cross-Exchange Comparison**: Compare order book depth and imbalance across multiple exchanges in a unified Markdown table.
- **Supported Exchanges**: Binance, Kraken, Coinbase, Bitfinex, Okx, Bybit

## Installation

### Prerequisites

- Python 3.10 or higher
- [uv](https://github.com/astral-sh/uv) (Python package and project manager)

### Setup

1. **Clone the Repository**

   ```bash
   git clone https://github.com/kukapay/crypto-orderbook-mcp.git
   cd crypto-orderbook-mcp
   ```

2. **Install Dependencies**

   Use `uv` to install the required packages:

   ```bash
   uv sync
   ```
   
3. **Configure the MCP Client(Claude Desktop)**

    ```
    "mcpServers": { 
      "crypto-orderbook-mcp": { 
        "command": "uv", 
        "args": [ "--directory", "/absolute/path/to/crypto-orderbook-mcp", "run", "main.py" ]
      } 
    }
    ```

## Usage

The server provides two main tools:

1. **`calculate_orderbook`**: Computes bid depth, ask depth, and imbalance for a trading pair on a specified exchange.
2. **`compare_orderbook`**: Compares bid depth, ask depth, and imbalance across multiple exchanges, returning a Markdown table.

### Example: Calculate Order Book Metrics

**Prompt**: "Calculate the order book metrics for BTC/USDT on Binance with a 1% depth range."

**Expected Output** (JSON object):

```json
{
  "exchange": "binance",
  "symbol": "BTC/USDT",
  "bid_depth": 123.45,
  "ask_depth": 234.56,
  "imbalance": 0.1234,
  "mid_price": 50000.0,
  "timestamp": 1698765432000
}
```

### Example: Compare Order Book Across Exchanges

**Prompt**: "Compare the order book metrics for BTC/USDT across Binance, Kraken, and OKX with a 1% depth range."

**Expected Output** (Markdown table):

```markdown
| exchange | bid_depth | ask_depth | imbalance |
|----------|-----------|-----------|-----------|
| binance  |    123.45 |    234.56 |    0.1234 |
| kraken   |     89.12 |    178.34 |    0.0987 |
| okx      |    145.67 |    256.78 |    0.1345 |
```

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: calculate_orderbook focuses on a single exchange, while compare_orderbook aggregates data across multiple exchanges. There is no overlap in functionality, and the descriptions clearly differentiate between individual analysis and comparative analysis.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (calculate_orderbook, compare_orderbook) with clear, descriptive names that reflect their actions. The naming is uniform and predictable across the tool set.

Tool Count2/5

With only 2 tools, the server feels thin for a crypto orderbook domain. While the tools cover calculation and comparison, there are likely missing operations such as fetching raw orderbook data, historical analysis, or alerts for imbalances, making the scope incomplete.

Completeness2/5

The tool set is severely incomplete for a crypto orderbook server. It lacks basic CRUD operations like fetching raw orderbook data, updating or deleting calculations, and monitoring features. The two tools provide only calculation and comparison, leaving significant gaps for agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues