使用说明

项目简介

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 应用,包括资源访问和工具调用。

安装步骤

  1. 添加依赖到 Cargo.toml: 在你的 Rust 项目的 'Cargo.toml' 文件中,'[dependencies]' 部分添加 'mcpr' 依赖:

    [dependencies]
    mcpr = "0.2.3" # 确保使用 0.2.3 或更高版本
  2. 安装 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"]
}

基本使用方法

  1. 创建 MCP 服务器: 使用 MCPR 库提供的 'Server' 和 'ServerConfig' 结构体,配置服务器名称、版本和工具,并注册工具处理函数。选择合适的传输协议(如 'StdioTransport' 或 'SSETransport')启动服务器。

  2. 创建 MCP 客户端: 使用 MCPR 库提供的 'Client' 结构体,选择与服务器匹配的传输协议,并初始化客户端。之后可以使用 'call_tool' 方法调用服务器端注册的工具。

  3. 运行示例项目: 仓库的 'examples/github-tools' 目录下提供了一个完整的 GitHub 工具示例,可以参考该示例学习如何构建 MCP 客户端和服务器应用。

  4. 使用项目生成器: 使用 'mcpr generate-project' 命令快速生成包含客户端和服务端代码框架的项目,并根据需要修改和扩展功能。

请参考仓库 'README.md' 和 'examples' 目录下的文档获取更详细的使用说明和示例代码。

信息

分类

开发者工具