使用说明
项目简介
MCPR 是一个使用 Rust 语言实现的模型上下文协议 (Model Context Protocol, MCP) 库。它旨在帮助开发者快速构建兼容 MCP 协议的服务器和客户端应用,以便于大型语言模型 (LLM) 客户端能够以标准化的方式访问数据源和工具。该库提供了包括核心协议实现、多种传输层支持、高层客户端和服务端 API 以及项目脚手架工具等功能。
主要功能点
- MCP 协议完整实现: 实现了模型上下文协议 (MCP) 的核心规范,确保服务器和客户端之间的兼容通信。
- 多种传输协议支持: 支持 Stdio (标准输入输出) 和 SSE (Server-Sent Events) 传输协议,为不同的应用场景提供灵活的选择。WebSocket 传输协议也在计划中。
- 高层客户端/服务端 API: 提供易于使用的 Rust API,简化 MCP 客户端和服务器的开发过程。
- CLI 工具: 包含命令行工具,用于生成服务器和客户端代码框架,快速启动 MCP 项目。
- 项目生成器: 能够快速生成包含客户端和服务端基本结构的 MCP 项目,方便用户快速开始开发。
- 示例项目: 提供 GitHub 工具示例项目,展示如何构建一个实际的 MCP 应用,包括资源访问和工具调用。
安装步骤
-
添加依赖到 Cargo.toml: 在你的 Rust 项目的 'Cargo.toml' 文件中,'[dependencies]' 部分添加 'mcpr' 依赖:
[dependencies] mcpr = "0.2.3" # 确保使用 0.2.3 或更高版本 -
安装 CLI 工具 (可选): 如果需要使用 MCPR 的命令行工具(例如项目生成器),可以全局安装:
cargo install mcpr
服务器配置
MCP 服务器配置主要涉及服务器的启动命令及其参数。以下是基于仓库信息生成的 JSON 格式配置信息示例,用于 MCP 客户端连接到服务器:
{ "server name": "my_mcpr_server", "command": "./server/target/debug/my-stdio-project-server", "args": [] // 对于 stdio 传输,通常不需要额外的启动参数 // 如果使用 SSE 传输,command 可能指向 SSE 服务器的可执行文件, // args 可能包含端口号等参数,例如: // "command": "./server/target/debug/my-sse-project-server", // "args": ["--port", "8080"] }
基本使用方法
-
创建 MCP 服务器: 使用 MCPR 库提供的 'Server' 和 'ServerConfig' 结构体,配置服务器名称、版本和工具,并注册工具处理函数。选择合适的传输协议(如 'StdioTransport' 或 'SSETransport')启动服务器。
-
创建 MCP 客户端: 使用 MCPR 库提供的 'Client' 结构体,选择与服务器匹配的传输协议,并初始化客户端。之后可以使用 'call_tool' 方法调用服务器端注册的工具。
-
运行示例项目: 仓库的 'examples/github-tools' 目录下提供了一个完整的 GitHub 工具示例,可以参考该示例学习如何构建 MCP 客户端和服务器应用。
-
使用项目生成器: 使用 'mcpr generate-project' 命令快速生成包含客户端和服务端代码框架的项目,并根据需要修改和扩展功能。
请参考仓库 'README.md' 和 'examples' 目录下的文档获取更详细的使用说明和示例代码。
信息
分类
开发者工具