使用说明

项目简介

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 操作,提升服务器的并发处理能力。

安装步骤

  1. 安装 Rust 环境: 确保您的系统已安装 Rust 编程环境。您可以访问 Rust 官网 按照指引进行安装。

  2. 克隆仓库: 使用 Git 克隆 'mcp-rs' 仓库到本地:

    git clone https://github.com/iskng/mcp-rs
    cd mcp-rs
  3. 运行服务器示例: 使用 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 模板的详细内容、参数等需要在服务器代码中定义。

基本使用方法

  1. 启动 MCP-rs 服务器: 按照 "安装步骤" 中的指示,运行 'server_test' 或其他示例服务器。

  2. 配置 MCP 客户端: MCP 客户端 (例如 'python_client' 目录下的 Python 客户端) 需要配置 MCP 服务器的连接信息。对于 'server_test' 示例,客户端通常需要配置服务器地址 'http://127.0.0.1:8090/sse'。

  3. 运行 MCP 客户端: 导航到 'python_client' 目录,运行 'run_client.sh' 脚本。客户端将连接到 MCP-rs 服务器,并展示如何列出工具、调用计算器工具等操作。

  4. 开发自定义 MCP 服务器: 您可以参考 'examples' 目录下的示例代码,例如 'calculator.rs' 或 'server_with_prompts.rs',创建自定义的 MCP 服务器,注册您自己的工具、资源和 Prompt 模板,以满足特定的 LLM 应用需求。

信息

分类

AI与计算