使用说明

项目简介

本项目 'mcp-rust-sdk' 是一个使用 Rust 语言编写的,实现了 Model Context Protocol (MCP) 协议的服务器端示例程序。它主要用于演示 MCP 服务器的基本功能,例如响应客户端的初始化请求、列出可用的工具、资源和 Prompt 模板,以及模拟工具的调用过程。该服务器使用标准输入输出 (stdio) 作为通信通道,方便集成和测试。请注意,这是一个基础的示例实现,旨在学习和调试 MCP 协议,可能不包含完整的功能和生产级别的稳定性。

主要功能点

  • MCP 协议支持: 实现了 MCP 协议的核心消息处理机制,包括请求 (Request) 和通知 (Notification) 的解析和响应。
  • 初始化握手: 能够处理客户端的 'initialize' 请求,返回服务器端的能力信息 (Capabilities)。
  • 资源、工具和 Prompt 列表: 支持 'tools/list', 'resources/list', 'prompts/list' 请求,并返回预定义的虚拟列表数据。
  • 工具调用模拟: 实现了 'tools/call' 请求的处理,可以模拟调用预定义的 'dummy_tool_from_rust' 工具,并返回虚拟的执行结果。
  • 标准输入输出 (stdio) 通信: 使用 newline-delimited JSON 格式通过 stdio 与 MCP 客户端进行通信。
  • 日志记录: 集成了 'tracing' 日志库,支持通过 'RUST_LOG' 环境变量配置日志级别,并将日志输出到文件,方便调试和问题排查。

安装步骤

  1. 安装 Rust 环境: 如果您的机器上没有安装 Rust,请先根据 Rust 官网 的指引安装 Rust 工具链。
  2. 下载仓库代码: 将 'mcp-rust-sdk' 仓库克隆到本地。
    git clone https://github.com/mediar-ai/mcp-rust-sdk.git
    cd mcp-rust-sdk
  3. 编译服务器: 使用 'cargo build' 命令编译项目。编译成功后,可执行文件将生成在 'target/debug/mcp-rust-sdk' (或 'target/release/mcp-rust-sdk',如果使用 'cargo build --release' 编译)。
    cargo build

服务器配置

MCP 服务器是为 MCP 客户端提供服务的后端应用。您需要在 MCP 客户端的配置中指定如何启动和连接到该服务器。以下是 Claude Desktop 客户端配置示例,展示了如何配置 'mcp-rust-sdk' 服务器。您需要根据实际情况修改 'command' 字段中的可执行文件路径。

{
    "mcpServers": {
        "rust_stdio_test": {
            "command": "/path/to/your/mcp-rust-sdk/target/debug/mcp-rust-sdk"
            // "args": [] // 可选:如果服务器需要启动参数,可以在这里配置
        }
        // ... 其他服务器配置 ...
    }
}

配置说明:

  • '"rust_stdio_test"': 服务器名称,可以自定义,用于在客户端中标识该服务器连接。
  • '"command"': 必填。MCP 服务器可执行文件的绝对路径。请将 '/path/to/your/mcp-rust-sdk/target/debug/mcp-rust-sdk' 替换为您实际的 'mcp-rust-sdk' 可执行文件路径。
  • '"args"': 可选。启动服务器时需要传递的命令行参数,本项目示例服务器不需要额外的启动参数,所以这里留空即可。

重要提示: 请务必使用可执行文件的绝对路径配置 '"command"',否则客户端可能无法找到并启动服务器。

基本使用方法

  1. 配置 MCP 客户端: 根据您使用的 MCP 客户端 (例如 Claude Desktop) 的配置方法,添加上面提供的服务器配置信息。确保 '"command"' 路径正确指向编译后的 'mcp-rust-sdk' 可执行文件。
  2. 启动 MCP 客户端: 启动配置好的 MCP 客户端。客户端会根据配置尝试连接并初始化 'mcp-rust-sdk' 服务器。
  3. 查看日志 (可选): 您可以设置 'RUST_LOG' 环境变量来控制日志输出级别,例如 'RUST_LOG=debug' 或 'RUST_LOG=trace'。服务器日志默认会写入到 '$HOME/.screenpipe/logs/rust_stdio_test_logs/' 目录下,您可以查看日志文件以了解服务器的运行状态和请求处理情况。
  4. 在 MCP 客户端中使用功能: 一旦客户端成功连接到服务器,您就可以在客户端中使用 MCP 服务器提供的功能,例如列出工具、资源、Prompt,并调用工具。由于这是一个示例服务器,实际的功能比较有限,主要用于演示协议流程。

信息

分类

AI与计算