mcpField
C
crypto_exchange_mcp

crypto_exchange_mcp

Local
github.com/sydowmaFinance7Updated 18w ago

About crypto_exchange_mcp

crypto_exchange_mcp provides a unified MCP interface for Bybit, Binance, and OKX, covering market data and authenticated account and trading operations. It can also aggregate tools from configured external exchange MCP servers.

Key features

  1. 01Access ticker, order book, and candlestick data
  2. 02Query funding rates and open interest
  3. 03View balances, positions, and order history
  4. 04Place and cancel orders
  5. 05Aggregate external exchange MCP tools

Use cases

  1. 01Inspect market data across supported exchanges
  2. 02Check account balances and open positions
  3. 03Place or cancel exchange orders
  4. 04Call tools from configured exchange MCP servers

MCP support

Exposes exchange market-data, account, and trading operations as MCP tools. It can launch configured exchange MCP servers as child processes and route tool listing and calls through a unified entrypoint.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Crypto Exchange MCP Server

A comprehensive MCP (Model Context Protocol) server implementation for cryptocurrency exchanges, supporting Bybit, Binance, and OKX. This package provides a unified interface to interact with both public APIs (market data) and private APIs (trading, account management).

Features

Public APIs (No authentication required)
  • Real-time price data - Get current ticker information
  • Order book access - Retrieve order book depth for spot and futures markets
  • Kline/candlestick data - Historical OHLCV data with various intervals
  • Funding rate monitoring - Track perpetual contract funding rates
  • Open interest tracking - Monitor contract open interest (Bybit)
  • Trading pair information - Query available symbols
Private APIs (Authentication required)
  • Account balance - Query wallet balances across multiple assets
  • Position management - View open positions and unrealized PnL
  • Order placement - Place market and limit orders
  • Order cancellation - Cancel individual or all orders
  • Order history - Retrieve past orders and fills
  • Open orders - View pending orders

Supported Exchanges

ExchangeSpotFuturesPublic APIPrivate API
Bybit✅✅✅✅
Binance✅✅✅✅
OKX✅✅✅✅

Installation

From GitHub Release
uv tool install https://github.com/sydowma/crypto_exchange_mcp/releases/download/v0.3.1/crypto_exchange_mcp_python-0.3.1-py3-none-any.whl
With uv (Recommended)
cd crypto_exchange_mcp/crypto_exchange_mcp_python
uv sync
With pip
cd crypto_exchange_mcp/crypto_exchange_mcp_python
pip install -r requirements.txt

Configuration

For Public APIs Only

No configuration needed! Public market data endpoints work out of the box.

For Private APIs

Set environment variables with your API credentials:

# Bybit
export BYBIT_API_KEY="your_bybit_api_key"
export BYBIT_API_SECRET="your_bybit_api_secret"

# Binance
export BINANCE_API_KEY="your_binance_api_key"
export BINANCE_API_SECRET="your_binance_api_secret"

# OKX
export OKX_API_KEY="your_okx_api_key"
export OKX_API_SECRET="your_okx_api_secret"
export OKX_PASSPHRASE="your_okx_passphrase"

Or copy .env.example to .env and fill in your credentials:

cp .env.example .env

Usage with Claude Desktop

Unified Server (Recommended)

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "crypto-exchange": {
      "command": "uv",
      "args": [
        "--directory",
        "{your_path}/crypto_exchange_mcp/crypto_exchange_mcp_python",
        "run",
        "crypto_exchange_server.py"
      ],
      "env": {
        "BYBIT_API_KEY": "your_bybit_api_key",
        "BYBIT_API_SECRET": "your_bybit_api_secret",
        "BINANCE_API_KEY": "your_binance_api_key",
        "BINANCE_API_SECRET": "your_binance_api_secret",
        "OKX_API_KEY": "your_okx_api_key",
        "OKX_API_SECRET": "your_okx_api_secret",
        "OKX_PASSPHRASE": "your_okx_passphrase"
      }
    }
  }
}
Individual Exchange Servers

You can also run each exchange separately:

{
  "mcpServers": {
    "bybit": {
      "command": "uv",
      "args": [
        "--directory",
        "{your_path}/crypto_exchange_mcp/crypto_exchange_mcp_python",
        "run",
        "bybit.py"
      ]
    },
    "binance": {
      "command": "uv",
      "args": [
        "--directory",
        "{your_path}/crypto_exchange_mcp/crypto_exchange_mcp_python",
        "run",
        "binance.py"
      ]
    },
    "okx": {
      "command": "uv",
      "args": [
        "--directory",
        "{your_path}/crypto_exchange_mcp/crypto_exchange_mcp_python",
        "run",
        "okx.py"
      ]
    }
  }
}

Available Tools

Public Market Data
  • get_ticker(exchange, symbol) - Get price and 24h statistics
  • get_orderbook(exchange, symbol, limit) - Get order book depth
  • get_klines(exchange, symbol, interval, limit) - Get candlestick data
  • get_symbols(exchange, spot, futures) - List trading pairs
  • get_funding_rate(exchange, symbol) - Get perpetual funding rate
  • get_open_interest(exchange, symbol) - Get contract open interest
  • get_new_coins_okx(limit) - Get newly listed coins on OKX
Private Trading & Account
  • get_balance(exchange) - Get account balances
  • get_positions(exchange) - Get open positions
  • place_order(exchange, symbol, side, order_type, quantity, price) - Place order
  • cancel_order(exchange, symbol, order_id) - Cancel order
  • get_open_orders(exchange, symbol) - Get pending orders
  • get_order_history(exchange, symbol, limit) - Get order history
Utility
  • get_supported_exchanges() - List exchanges and auth status
  • get_external_mcp_servers() - List configured ready-made external MCP servers
  • list_exchange_mcp_tools(exchange) - List tools from an external exchange MCP server
  • call_exchange_mcp_tool(exchange, tool_name, arguments) - Call a tool exposed by an external exchange MCP server

External MCP Aggregation

The unified server can launch existing exchange MCP implementations as stdio child servers and expose them through one entrypoint.

Default external servers:

ExchangeExternal MCPDefault command
BybitOfficial Bybit Trading MCPnpx -y bybit-official-trading-server@latest
OKXOfficial OKX Agent Trade Kitnpx -y @okx_ai/okx-trade-mcp@latest --modules market --read-only
BinanceCommunity Binance MCP Serveruvx --from binance-mcp-server binance-mcp-server

Use these tools from the main crypto-exchange MCP server:

  1. get_external_mcp_servers() to inspect configured children.
  2. list_exchange_mcp_tools("bybit") or another exchange to see child tools.
  3. call_exchange_mcp_tool("bybit", "tool_name", {"arg": "value"}) to call a child tool.

Override or add child MCP servers with CRYPTO_EXCHANGE_MCP_CONFIG:

{
  "servers": {
    "okx": {
      "command": "npx",
      "args": [
        "-y",
        "@okx_ai/okx-trade-mcp@latest",
        "--modules",
        "market,spot,account",
        "--read-only"
      ],
      "env_keys": ["OKX_API_KEY", "OKX_API_SECRET", "OKX_PASSPHRASE"]
    }
  }
}

Set CRYPTO_EXCHANGE_MCP_ENABLE_DEFAULTS=false to disable built-in external MCP definitions and rely only on your config file.

Symbol Format by Exchange

ExchangeSpot FormatFutures Format
BybitBTCUSDTBTCUSDT
BinanceBTCUSDTBTCUSDT
OKXBTC-USDTBTC-USDT-SWAP

Note: OKX spot trading actually uses -USD suffix (e.g., BTC-USD), but -USDT also works for ticker queries.

Architecture

crypto_exchange_mcp_python/
├── core/                      # Core abstractions
│   ├── __init__.py
│   ├── base.py               # Base exchange class and data models
│   ├── config.py             # Configuration and credential management
│   └── exceptions.py         # Custom exceptions
├── exchanges/                 # Exchange implementations
│   ├── bybit/
│   │   └── client.py         # Bybit API client
│   ├── binance/
│   │   └── client.py         # Binance API client
│   └── okx/
│       └── client.py         # OKX API client
├── bybit.py                  # Legacy Bybit MCP server
├── okx.py                    # Legacy OKX MCP server
├── crypto_exchange_server.py # Unified MCP server
└── .env.example              # Example configuration

API Documentation

License

Apache License 2.0

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.