关于 crypto_exchange_mcp
crypto_exchange_mcp 为 Bybit、Binance 和 OKX 提供统一的 MCP 接口,涵盖行情数据及需认证的账户和交易操作。它还可聚合已配置的外部交易所 MCP 服务工具。
主要功能
- 01获取行情、订单簿和 K 线数据
- 02查询资金费率和未平仓量
- 03查看余额、持仓和订单历史
- 04下单和撤单
- 05聚合外部交易所 MCP 工具
适用场景
- 01查看受支持交易所的行情数据
- 02检查账户余额和未平仓位
- 03提交或取消交易所订单
- 04调用已配置交易所 MCP 服务的工具
MCP 相关
它将交易所行情、账户和交易操作作为 MCP 工具提供。它还可将配置的交易所 MCP 服务作为子进程启动,并通过统一入口列出和调用工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
加密货币交易所 MCP 服务
一款功能全面的 MCP(Model Context Protocol)服务实现,支持 Bybit、Binance 和 OKX。此软件包提供统一接口,可与公开 API(市场数据)和私有 API(交易、账户管理)交互。
功能
公开 API(无需身份验证)
- 实时价格数据 - 获取当前行情信息
- 订单簿访问 - 获取现货和期货市场的订单簿深度
- K 线/蜡烛图数据 - 获取不同时间间隔的历史 OHLCV 数据
- 资金费率监控 - 跟踪永续合约资金费率
- 未平仓合约量跟踪 - 监控合约未平仓合约量(Bybit)
- 交易对信息 - 查询可用交易标的
私有 API(需要身份验证)
- 账户余额 - 查询多个资产的钱包余额
- 持仓管理 - 查看未平仓持仓和未实现盈亏
- 下单 - 下达市价单和限价单
- 撤单 - 撤销单个或所有订单
- 订单历史 - 获取历史订单和成交记录
- 未结订单 - 查看待处理订单
支持的交易所
| 交易所 | 现货 | 期货 | 公开 API | 私有 API |
|---|---|---|---|---|
| Bybit | ✅ | ✅ | ✅ | ✅ |
| Binance | ✅ | ✅ | ✅ | ✅ |
| OKX | ✅ | ✅ | ✅ | ✅ |
安装
从 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
使用 uv(推荐)
cd crypto_exchange_mcp/crypto_exchange_mcp_python
uv sync
使用 pip
cd crypto_exchange_mcp/crypto_exchange_mcp_python
pip install -r requirements.txt
配置
仅使用公开 API
无需配置!公开市场数据端点开箱即用。
使用私有 API
设置包含 API 凭据的环境变量:
# 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"
或者,将 .env.example 复制为 .env 并填写凭据:
cp .env.example .env
在 Claude Desktop 中使用
统一服务(推荐)
将配置添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)
或 %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"
}
}
}
}
独立交易所服务
也可以分别运行各个交易所:
{
"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"
]
}
}
}
可用工具
公开市场数据
get_ticker(exchange, symbol)- 获取价格和 24 小时统计数据get_orderbook(exchange, symbol, limit)- 获取订单簿深度get_klines(exchange, symbol, interval, limit)- 获取蜡烛图数据get_symbols(exchange, spot, futures)- 列出交易对get_funding_rate(exchange, symbol)- 获取永续合约资金费率get_open_interest(exchange, symbol)- 获取合约未平仓合约量get_new_coins_okx(limit)- 获取 OKX 上新上线的币种
私有交易和账户
get_balance(exchange)- 获取账户余额get_positions(exchange)- 获取未平仓持仓place_order(exchange, symbol, side, order_type, quantity, price)- 下单cancel_order(exchange, symbol, order_id)- 撤单get_open_orders(exchange, symbol)- 获取待处理订单get_order_history(exchange, symbol, limit)- 获取订单历史
实用工具
get_supported_exchanges()- 列出交易所和身份验证状态get_external_mcp_servers()- 列出已配置且可用的现成外部 MCP 服务list_exchange_mcp_tools(exchange)- 列出外部交易所 MCP 服务提供的工具call_exchange_mcp_tool(exchange, tool_name, arguments)- 调用外部交易所 MCP 服务提供的工具
外部 MCP 聚合
统一服务可以将现有交易所 MCP 实现作为 stdio 子服务启动,并通过一个入口对外提供。
默认外部服务:
| 交易所 | 外部 MCP | 默认命令 |
|---|---|---|
| Bybit | 官方 Bybit Trading MCP | npx -y bybit-official-trading-server@latest |
| OKX | 官方 OKX Agent Trade Kit | npx -y @okx_ai/okx-trade-mcp@latest --modules market --read-only |
| Binance | 社区版 Binance MCP Server | uvx --from binance-mcp-server binance-mcp-server |
在主 crypto-exchange MCP 服务中使用以下工具:
get_external_mcp_servers()用于查看已配置的子服务。list_exchange_mcp_tools("bybit")或其他交易所名称,用于查看子服务工具。call_exchange_mcp_tool("bybit", "tool_name", {"arg": "value"})用于调用子服务工具。
使用 CRYPTO_EXCHANGE_MCP_CONFIG 覆盖或添加子 MCP 服务:
{
"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"]
}
}
}
设置 CRYPTO_EXCHANGE_MCP_ENABLE_DEFAULTS=false,可禁用内置外部 MCP 定义,仅使用你的配置文件。
各交易所的交易对格式
| 交易所 | 现货格式 | 期货格式 |
|---|---|---|
| Bybit | BTCUSDT | BTCUSDT |
| Binance | BTCUSDT | BTCUSDT |
| OKX | BTC-USDT | BTC-USDT-SWAP |
注意: OKX 现货交易实际使用 -USD 后缀(例如 BTC-USD),但查询行情时也可以使用 -USDT。
架构
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 文档
许可证
Apache License 2.0
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。