使用说明
项目简介
本项目 'Crypto Exchange MCP Server' 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供加密货币交易所的数据访问能力。它集成了Bybit和OKX交易所的公共API,通过标准化的MCP接口向LLM客户端提供实时的市场数据,例如价格、订单簿、资金费率和持仓量等。
主要功能点
- 实时价格数据: 获取Bybit和OKX交易所的最新交易价格。
- 订单簿访问: 查询现货和合约市场的订单簿信息。
- 资金费率监控: 获取Bybit合约市场的资金费率。
- 持仓量跟踪: 监控Bybit合约市场的持仓量。
- 价格变动百分比: 计算价格在过去24小时内的变动百分比。
- Prompt模板: 提供获取最新价格的Prompt模板,方便LLM客户端调用。
- 可扩展性: 通过简单的API封装,易于扩展支持更多交易所或数据源。
安装步骤
-
克隆仓库 打开终端,执行以下命令克隆代码仓库到本地:
git clone https://github.com/sydowma/crypto_exchange_mcp.git -
进入代码目录
cd crypto_exchange_mcp/crypto_exchange_mcp_python -
安装依赖 虽然仓库中没有明确的依赖安装说明,但根据代码推测可能需要 'mcp' 和 'requests' 库。建议使用 'uv' 或 'pip' 安装:
uv pip install mcp requests # 如果使用 uv pip install mcp requests # 如果使用 pip或者使用 requirements.txt 文件(如果存在):
uv pip install -r requirements.txt # 如果使用 uv 且存在 requirements.txt pip install -r requirements.txt # 如果使用 pip 且存在 requirements.txt
服务器配置
MCP客户端(例如 Claude 桌面应用)需要配置服务器的启动命令才能连接。以下是针对 Claude 桌面应用的配置示例,其他MCP客户端配置方式类似。
打开 Claude 桌面应用的配置文件 'claude_desktop_config.json' (通常位于 '~/Library/Application\ Support/Claude/' 目录下),在 'mcpServers' 字段中添加服务器配置。
Bybit 服务器配置示例
{ "mcpServers": { "Bybit": { // 服务器名称,客户端中用于标识和选择 "command": "uv", // 启动命令,这里使用 uv (或者根据你的环境使用 python 或 python3) "args": [ // 启动参数 "--directory", // 指定工作目录 "{your_path}/crypto_exchange_mcp/crypto_exchange_mcp_python", // 替换为你的仓库本地路径 "run", // 运行命令 "bybit.py" // 运行 bybit.py 文件,启动 Bybit MCP 服务器 ] } } }
注意:
- '{your_path}' 需要替换为你克隆仓库后 'crypto_exchange_mcp' 文件夹在本地的绝对路径。
- 'command' 可能需要根据你的 Python 环境进行调整,例如使用 'python3' 或 'python'。
- 如果使用 'pip' 安装依赖,且没有 'uv',可以将 'command' 改为 'python3' 或 'python',并确保 Python 环境中安装了必要的库。
OKX 服务器配置示例
{ "mcpServers": { "OKX": { // 服务器名称,客户端中用于标识和选择 "command": "uv", // 启动命令,这里使用 uv (或者根据你的环境使用 python 或 python3) "args": [ // 启动参数 "--directory", // 指定工作目录 "{your_path}/crypto_exchange_mcp/crypto_exchange_mcp_python", // 替换为你的仓库本地路径 "run", // 运行命令 "okx.py" // 运行 okx.py 文件,启动 OKX MCP 服务器 ] } } }
通用服务器 (server.py) 配置示例
通用服务器 'server.py' 提供了一个简单的加法工具和问候资源,可以用于测试 MCP 客户端的连接和基本功能。
{ "mcpServers": { "Demo": { // 服务器名称,客户端中用于标识和选择 "command": "uv", // 启动命令,这里使用 uv (或者根据你的环境使用 python 或 python3) "args": [ // 启动参数 "--directory", // 指定工作目录 "{your_path}/crypto_exchange_mcp/crypto_exchange_mcp_python", // 替换为你的仓库本地路径 "run", // 运行命令 "server.py" // 运行 server.py 文件,启动通用 MCP 服务器 ] } } }
天气服务器 (weather.py) 配置示例
天气服务器 'weather.py' 提供了获取天气预警和天气预报的工具。
{ "mcpServers": { "Weather": { // 服务器名称,客户端中用于标识和选择 "command": "uv", // 启动命令,这里使用 uv (或者根据你的环境使用 python 或 python3) "args": [ // 启动参数 "--directory", // 指定工作目录 "{your_path}/crypto_exchange_mcp/crypto_exchange_mcp_python", // 替换为你的仓库本地路径 "run", // 运行命令 "weather.py" // 运行 weather.py 文件,启动天气 MCP 服务器 ] } } }
基本使用方法
-
启动 MCP 服务器 根据你希望使用的功能,配置好 MCP 客户端后,启动对应的服务器。例如,要使用 Bybit 交易所数据,则启动 'bybit.py' 服务器。服务器启动后通常会在终端保持运行状态,等待客户端连接和请求。
-
在 MCP 客户端中使用 在支持 MCP 协议的客户端(如 Claude 桌面应用)中,根据配置的服务器名称选择对应的服务器。客户端会自动连接到服务器并获取其提供的工具、资源和Prompt模板。
-
调用工具和资源 在客户端中,你可以通过自然语言指令或图形界面来调用服务器提供的工具和资源。例如,在 Claude 中,你可以这样提问:
- "Bybit的BTCUSDT最新价格是多少?" (客户端可能会调用 'get_last_price' 工具)
- "获取纽约的天气预警信息" (客户端可能会调用 'get_alerts' 工具,并传递 "NY" 作为参数)
注意:
- 本仓库提供的 MCP 服务器通过标准输入输出 (stdio) 与客户端通信。
- 确保 MCP 客户端和服务器的网络环境允许通信(通常本地运行无需特殊网络配置)。
- 详细的工具和资源列表请参考各个服务器文件 ('bybit.py', 'okx.py', 'weather.py', 'server.py') 中的 '@mcp.tool()' 和 '@mcp.resource()' 注解。
- Prompt模板可以通过 'prompt_manager.py' 查看和管理。
信息
分类
网页与API