项目简介

mcp 是一个使用 Rust 语言开发的库,旨在帮助开发者快速构建符合 Model Context Protocol (MCP) 规范的服务器。该库提供了构建 MCP 服务器所需的核心组件和服务,例如资源管理、工具注册和调用、Prompt 模板定义和渲染等功能,并支持通过 Stdio 和 SSE 等传输协议与 MCP 客户端进行 JSON-RPC 通信。

主要功能点

  • 资源管理 (Resources):允许服务器托管和管理各种数据资源,并提供客户端访问这些资源的接口。资源可以是内存数据、文件数据、数据库数据等,并通过 URI 进行标识和访问。
  • 工具注册和执行 (Tools):支持将外部功能注册为工具,并允许 MCP 客户端通过服务器调用这些工具。工具可以是任何可执行的函数或服务,用于扩展 LLM 的能力。
  • Prompt 模板定义 (Prompts):允许定义和管理 Prompt 模板,支持根据客户端请求动态生成和渲染 Prompt,实现可定制的 LLM 交互模式。
  • JSON-RPC 协议通信:完全遵循 MCP 协议规范,使用 JSON-RPC 协议与客户端进行通信,处理客户端的请求并返回响应。
  • 多种传输协议支持:支持 Stdio 和 SSE (Server-Sent Events) 传输协议,方便在不同场景下部署和使用 MCP 服务器。
  • 会话管理和能力声明:服务器负责管理客户端会话,并在初始化时向客户端声明自身的能力,例如支持的资源、工具和 Prompt 等。

安装步骤

  1. 安装 Rust 环境:确保您的开发环境中已安装 Rust 编程语言和 Cargo 包管理器。您可以访问 Rust 官网 按照指引进行安装。

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

    git clone https://github.com/ghbountybot/mcp
    cd mcp
  3. 编译示例:进入 'examples' 目录,使用 Cargo 构建示例服务器程序 'weather.rs':

    cd examples
    cargo build
    cd ..

    编译成功后,在 'examples/target/debug/' 目录下会生成可执行文件 'weather' (或 'weather.exe' 在 Windows 下)。

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接。以下是针对 'examples/weather.rs' 示例服务器的配置信息,以 JSON 格式提供:

{
  "serverName": "weather-server",
  "command": "./examples/target/debug/weather",
  "args": [],
  "transport": "stdio"
}

配置参数说明

  • 'serverName': 服务器名称,可以自定义,用于在客户端标识服务器。例如:"weather-server"。
  • 'command': 服务器启动命令。指向编译后的服务器可执行文件的路径。例如:'"./examples/target/debug/weather"' (请根据实际编译路径调整)。
  • 'args': 启动参数列表。本示例服务器不需要额外的启动参数,因此为空数组 '[]'。如果服务器需要参数,请在此处添加。
  • 'transport': 传输协议。指定客户端与服务器之间通信使用的协议。本示例默认使用 'stdio' (标准输入输出) 协议。您也可以选择 'sse' (Server-Sent Events) 协议,并配置相应的网络地址。

注意

  • 上述配置中的 'command' 路径是相对路径,基于 MCP 客户端的运行目录。请根据您的实际情况调整路径。
  • 如果您希望使用 SSE 协议,需要修改 'examples/weather.rs' 中的 'USE_STDIO' 常量为 'false',并重新编译。同时,客户端的 'transport' 字段应设置为 '"sse"',并需要配置连接服务器的网络地址 (例如 '"ws://127.0.0.1:3000/api/events"',具体地址请参考服务器 SSE 服务端的配置)。

基本使用方法

  1. 启动服务器:在终端中执行编译后的示例服务器程序。例如,在仓库根目录下执行:

    ./examples/target/debug/weather

    服务器启动后,将等待 MCP 客户端的连接和请求。

  2. 配置 MCP 客户端:根据上述 “服务器配置” 部分的信息,配置您的 MCP 客户端,指定服务器的启动命令、参数和传输协议。

  3. 客户端与服务器交互:启动 MCP 客户端,客户端将根据配置连接到服务器。之后,客户端可以发送 MCP 请求 (例如 'listResources', 'callTool', 'getPrompt' 等) 到服务器,服务器将按照 MCP 协议规范处理请求并返回 JSON-RPC 响应。

通过以上步骤,您就可以使用 mcp 库构建的 MCP 服务器,并使用 MCP 客户端与之进行交互,实现基于上下文的 AI 模型应用。

信息

分类

AI与计算