'swarms-rs' 是一个 Rust 编写的多智能体编排框架。其仓库中的 'examples/binance-tools' 目录提供了一个 MCP 服务器的实现示例。该示例展示了如何使用 'rmcp' 库构建一个 MCP 服务器,将外部功能(如币安 API)暴露为 LLM 客户端可调用的工具。
主要功能点
- 币安 API 访问: 提供对币安市场数据 API 的访问能力,包括聚合交易、平均价格、市场深度、K 线数据、最新价格等。
- MCP 工具封装: 将上述币安 API 的不同功能封装为符合 Model Context Protocol (MCP) 规范的工具。
- 多协议支持: 支持通过标准输入输出 (Stdio) 和 Server-Sent Events (SSE) 两种标准的 MCP 传输协议进行通信。
- LLM 客户端集成: 允许任何支持 MCP 协议的 LLM 客户端(如 'swarms-rs' 框架中的 Agent)连接并调用这些工具,从而使 LLM 能够获取实时币安数据或执行相关操作。
安装步骤
- 确保您的系统已安装 Rust 编程语言及其包管理器 Cargo。您可以访问 Rust 官方网站 获取安装指南。
- 克隆 'swarms-rs' GitHub 仓库:
git clone https://github.com/The-Swarm-Corporation/swarms-rs cd swarms-rs - 构建 'binance-tools' 示例(这是一个独立的 MCP 服务器实现):
构建成功后,您可以在 'target/release/examples/' 目录下找到可执行文件 'binance-tools'。cargo build --release --example binance-tools
服务器配置 (供 MCP 客户端使用)
构建好的 'binance-tools' 示例是一个可独立运行的 MCP 服务器。MCP 客户端可以通过配置连接到这个服务器。典型的 MCP 客户端配置信息(例如在 'swarms-rs' Agent 中)如下所示:
-
Stdio 模式: 客户端通过标准输入输出与服务器进程通信。
- 'server name': 'binance-mcp-stdio' (客户端自定义的服务器唯一标识名称)
- 'protocol': 'stdio' (指定的传输协议为标准输入输出)
- 'command': 'cargo' (启动服务器进程的命令,此处是使用 cargo 运行示例)
- 'args': '["run", "--release", "--example", "binance-tools"]' (传递给 command 的参数,用于指定运行 'binance-tools' 示例)
-
SSE 模式: 客户端通过 HTTP Server-Sent Events 连接服务器。
- 'server name': 'binance-mcp-sse' (客户端自定义的服务器唯一标识名称)
- 'protocol': 'sse' (指定的传输协议为 Server-Sent Events)
- 'url': 'http://127.0.0.1:8000/sse' (服务器监听的地址和路径,该示例默认监听 8000 端口,请根据实际运行环境和配置调整)
MCP 客户端需要使用上述信息来建立与 'binance-tools' MCP 服务器的连接。
基本使用方法
一旦 MCP 客户端(例如配置了 'add_stdio_mcp_server' 或 'add_sse_mcp_server' 的 'swarms-rs' Agent)连接到 'binance-tools' MCP 服务器,集成的 LLM 智能体即可通过标准 JSON-RPC 协议调用服务器暴露的币安 API 工具。
LLM 智能体在接收到需要币安数据的任务时,会通过 MCP 客户端向 'binance-tools' 服务器发送一个 'call_tool' 请求,指定工具名称(如 'klines'、'ticker_price')和相应的参数(如交易对 'symbol'、时间间隔 'interval' 等)。
'binance-tools' 服务器接收到请求后,会执行对应的币安 API 调用,并将 API 返回的数据或执行结果按照 MCP 规范封装在 'call_tool' 响应中返回给 LLM 客户端。LLM 智能体即可解析这些结果并用于完成用户任务。
信息
分类
网页与API