使用说明
项目简介
MCP-rs 是 Model Context Protocol (MCP) 的 Rust 语言实现,旨在为大型语言模型(LLM)客户端提供一个高效、类型安全且可扩展的后端服务。它允许开发者轻松构建符合 MCP 协议的服务器,以标准化方式向 LLM 应用提供上下文信息和功能,从而简化 LLM 应用的开发流程并提升性能。
主要功能点
- 资源管理 (Resources): 支持托管和管理各种类型的数据资源,并提供标准化的数据访问接口,使 LLM 客户端能够便捷地获取外部数据。
- 工具注册与执行 (Tools): 允许注册和执行外部工具,扩展 LLM 的能力边界,例如调用计算器、搜索引擎或其他外部服务。
- Prompt 模板 (Prompts): 支持定义和渲染 Prompt 模板,实现可定制的 LLM 交互模式,方便管理和复用 Prompt 逻辑。
- 多种传输协议: 支持 STDIO, Server-Sent Events (SSE), WebSocket 等多种传输协议,适应不同的应用场景和网络环境。
- 类型安全: 基于 Rust 强类型系统构建,确保协议实现的正确性和代码的健壮性。
- 异步优先: 采用 Tokio 异步运行时,提供高性能和非阻塞 I/O 操作,提升服务器的并发处理能力。
安装步骤
-
安装 Rust 环境: 确保您的系统已安装 Rust 编程环境。您可以访问 Rust 官网 按照指引进行安装。
-
克隆仓库: 使用 Git 克隆 'mcp-rs' 仓库到本地:
git clone https://github.com/iskng/mcp-rs cd mcp-rs -
运行服务器示例: 使用 Cargo 构建并运行 'server_test' 示例:
cargo run --example server_test此命令将启动一个 MCP 服务器,默认监听 'http://127.0.0.1:8090',并注册了一个计算器工具。
服务器配置
MCP 服务器主要通过代码进行配置,以下是一个基于 'server_test' 示例的配置信息,展示了如何定义服务器名称、绑定地址以及注册工具:
{ "server name": "MCP-RS Example Server", "bind_address": "127.0.0.1:8090", "transport": "SSE", // 使用 Server-Sent Events 传输协议 "tools": [ { "name": "calculator", "description": "Performs basic arithmetic operations" // 工具的详细参数定义在代码中注册 } ], "prompts": [ { "name": "welcome", "description": "A welcome message for users of the calculator server" // Prompt 模板的详细定义在代码中注册 } ] }
参数注释:
- 'server name': MCP 服务器的名称,用于标识服务器实例。
- 'bind_address': 服务器监听的网络地址和端口,客户端需要连接此地址。
- 'transport': 服务器使用的传输协议,例如 "SSE" (Server-Sent Events)。
- 'tools': 服务器注册的工具列表,每个工具包含 'name' (工具名称) 和 'description' (工具描述)。工具的详细参数、功能实现等需要在服务器代码中定义。
- 'prompts': 服务器注册的 Prompt 模板列表,每个 Prompt 模板包含 'name' (Prompt 名称) 和 'description' (Prompt 描述)。Prompt 模板的详细内容、参数等需要在服务器代码中定义。
基本使用方法
-
启动 MCP-rs 服务器: 按照 "安装步骤" 中的指示,运行 'server_test' 或其他示例服务器。
-
配置 MCP 客户端: MCP 客户端 (例如 'python_client' 目录下的 Python 客户端) 需要配置 MCP 服务器的连接信息。对于 'server_test' 示例,客户端通常需要配置服务器地址 'http://127.0.0.1:8090/sse'。
-
运行 MCP 客户端: 导航到 'python_client' 目录,运行 'run_client.sh' 脚本。客户端将连接到 MCP-rs 服务器,并展示如何列出工具、调用计算器工具等操作。
-
开发自定义 MCP 服务器: 您可以参考 'examples' 目录下的示例代码,例如 'calculator.rs' 或 'server_with_prompts.rs',创建自定义的 MCP 服务器,注册您自己的工具、资源和 Prompt 模板,以满足特定的 LLM 应用需求。
信息
分类
AI与计算