项目简介
本项目 'qeinfinity_binance-mcp-server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,专门为 LLM 应用提供币安(Binance)交易所的实时市场数据。它通过 WebSocket 连接币安 API,获取现货和期货市场的交易数据,并以 MCP 协议标准化的方式提供给客户端。
主要功能点
- 实时市场数据流: 通过 WebSocket 提供币安交易所的实时市场数据更新,包括交易数据 (trade)、24小时行情 (ticker)、最优买卖盘口 (bookTicker)、K线数据 (kline) 等。
- 现货和期货市场支持: 同时支持币安的现货 (spot) 和期货 (futures) 市场数据。
- 数据获取工具: 提供多种工具 (Tools),允许客户端请求特定交易对的市场数据快照、历史 K 线数据,以及订阅实时数据流。
- 错误处理和重连机制: 具备完善的错误处理机制,并支持 WebSocket 自动重连,确保数据连接的稳定性。
- 类型安全的消息处理: 使用 TypeScript 开发,提供类型安全的消息处理,提高开发效率和代码可靠性。
安装步骤
- 安装 Node.js 和 npm: 确保你的计算机上已安装 Node.js 和 npm (Node Package Manager)。
- 克隆仓库: 使用 Git 克隆该仓库到本地:
git clone https://github.com/MCP-Mirror/qeinfinity_binance-mcp-server.git cd qeinfinity_binance-mcp-server - 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
npm install
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以连接到此 MCP 服务器。请注意,此服务器无需额外参数,可以直接使用 'npm start' 命令启动。
{ "serverName": "binance-market-data", // 服务名称,来自 config.ts 中的 NAME 字段 "command": "npm", // 启动命令,使用 npm "args": [ // 启动参数 "start" // 运行 npm start 脚本 ] }
配置参数说明:
- 'serverName': MCP 服务器的名称,用于客户端识别。
- 'command': 启动服务器的命令,这里使用 'npm',假设用户通过 'npm start' 启动服务器。
- 'args': 传递给启动命令的参数,这里使用 'start',对应 'npm start'。
注意: 此配置假设用户在安装和配置好环境后,直接在项目根目录下使用 'npm start' 命令启动服务器。 MCP 客户端需要根据此配置来启动和连接服务器。
基本使用方法
-
启动服务器: 在仓库根目录下,运行以下命令启动 MCP 服务器:
npm start服务器成功启动后,会通过 Stdio 传输协议等待 MCP 客户端的连接和请求。
-
使用 MCP 客户端连接: 配置你的 MCP 客户端,使其能够连接到通过 Stdio 运行的 MCP 服务器。客户端会发送符合 MCP 协议的 JSON-RPC 请求到服务器。
-
调用工具 (Tools): 客户端可以调用服务器提供的工具来获取数据。以下是一些可用的工具示例:
- 'get_market_data': 获取指定交易对的综合市场数据 (例如: 'BTCUSDT', 'spot' 或 'futures')。
- 'get_klines': 获取指定交易对的历史 K 线数据 (例如: 'BTCUSDT', 'spot', '1h')。
- 'subscribe_market_data': 订阅指定交易对的实时市场数据流 (例如: 'BTCUSDT', 'spot', '["trade", "ticker"]')。
具体的工具名称、描述和参数定义,请参考 'src/index.ts' 文件中 'ListToolsRequestSchema' 请求处理器的实现。客户端可以发送 'ListToolsRequest' 请求获取完整的工具列表和详细信息。
-
接收实时数据: 对于 'subscribe_market_data' 工具,服务器会通过 Stdio 向客户端推送实时的市场数据更新 (Notifications)。客户端需要监听和处理这些通知消息。
示例 (在 MCP 客户端中调用工具):
假设你想使用 'get_market_data' 工具获取 'BTCUSDT' 现货市场的市场数据,你需要构造一个 'CallToolRequest' 请求,并将其发送给 MCP 服务器。服务器会返回包含市场数据的 'CallToolResponse' 响应。
订阅实时数据流后,服务器会在市场数据更新时主动向客户端推送数据。
请参考 MCP 协议文档和客户端 SDK 的使用说明,了解如何构建和发送 MCP 请求,以及如何处理服务器的响应和通知。
信息
分类
商业系统