项目简介

mcp-server-hello 是一个使用 Rust 编写的 MCP (Model Context Protocol) 服务器模板,旨在帮助开发者快速搭建 MCP 服务器。该模板提供了一个基础的 MCP 服务器框架,实现了 MCP 协议中资源 (Resources)、Prompt 模板 (Prompts) 和工具 (Tools) 的基本管理和交互功能。开发者可以基于此模板扩展和定制自己的 MCP 服务器,以便为 LLM 应用提供上下文数据和功能支持。

主要功能点

  • 资源管理: 支持列出和读取预定义的资源,例如应用日志。
  • Prompt 模板管理: 支持列出和获取预定义的 Prompt 模板,例如获取城市当前时间。
  • 工具注册和执行: 支持注册和调用预定义的工具,例如获取城市当前时间。
  • JSON-RPC 通信: 使用 JSON-RPC 协议与 MCP 客户端进行通信。
  • CLI 界面: 提供命令行界面,可以通过参数启动 MCP 服务器,或查看预定义的资源、Prompt 和工具列表。
  • 可扩展性: 模板结构清晰,易于扩展新的资源、Prompt 和工具处理逻辑。

安装步骤

  1. 克隆仓库

    git clone https://github.com/TeamDman/mcp-server-hello
    cd mcp-server-hello
  2. 修改项目信息 (可选)

    • 编辑 'Cargo.toml' 文件,修改 '[package]' 部分的项目名称、版本、作者等信息。
    • 编辑 'src/mcp/mod.rs' 文件,修改 'SERVER_NAME' 和 'SERVER_VERSION' 常量。
  3. 修改服务器处理逻辑 (可选,根据需要扩展功能)

    • 'src/mcp/prompts.rs': 修改 Prompt 模板的处理逻辑,例如 'prompts_list' (列出 Prompt) 和 'prompts_get' (获取 Prompt)。
    • 'src/mcp/resources.rs': 修改资源的处理逻辑,例如 'resources_list' (列出资源) 和 'resource_read' (读取资源)。
    • 'src/mcp/tools.rs': 修改工具的处理逻辑,例如 'tools_list' (列出工具) 和具体的工具函数 (如 'current_time')。
    • 如果需要使用 JSON 文件管理 Prompt、资源和工具,可以修改 'src/mcp/templates/*.json' 文件,并在对应的处理函数中加载这些 JSON 文件。

服务器配置

MCP 服务器需要配置在 MCP 客户端中才能使用。以下是一个配置 Claude Desktop 使用 'mcp-server-hello' 服务器的示例配置 (json 格式,无需用户修改代码):

{
   "mcpServers": {
      "current-time": {
         "command": "mcp-server-hello",
         "args": [
            "--mcp"
         ],
         "env": {
            "API_KEY": "xxxx"  // 可选:如果服务器需要环境变量,可以在这里配置
         }
      }
   }
}

配置参数说明:

  • '"current-time"': 服务器名称,可以自定义,用于在客户端中标识该服务器。
  • '"command": "mcp-server-hello"': MCP 服务器的启动命令。假设您已经将项目编译为可执行文件 'mcp-server-hello',并将其放在了系统 PATH 环境变量包含的目录下,或者这里使用可执行文件的完整路径。
  • '"args": ["--mcp"]': 传递给服务器的命令行参数。'"--mcp"' 参数用于启动 MCP 服务器模式。
  • '"env": { "API_KEY": "xxxx" }': 可选的环境变量配置。如果您的服务器需要访问 API 密钥或其他敏感信息,可以通过环境变量传递。

请注意: MCP 客户端 (例如 Claude Desktop) 需要读取以上 JSON 配置信息,才能正确连接和使用 MCP 服务器。用户 无需 手动创建或修改 'claude_desktop_config.json' 文件,通常在客户端的设置或开发者选项中进行配置。

基本使用方法

  1. 编译项目 在项目根目录下,使用 Rust 工具链编译项目:

    cargo build --release

    编译成功后,可执行文件 'mcp-server-hello' (或 'mcp-server-hello.exe' 在 Windows 下) 将位于 'target/release/' 目录下。

  2. 启动 MCP 服务器 打开终端,导航到 'target/release/' 目录,并执行以下命令启动 MCP 服务器:

    ./mcp-server-hello --mcp

    服务器启动后,将监听标准输入 (stdin) 的 JSON-RPC 请求,并将响应输出到标准输出 (stdout)。

  3. 在 MCP 客户端中配置并使用 根据 MCP 客户端 (例如 Claude Desktop) 的配置方法,将上面提供的服务器配置信息添加到客户端中。配置完成后,客户端即可与 'mcp-server-hello' 服务器建立连接,并调用服务器提供的资源、Prompt 和工具功能。

  4. 查看预定义信息 (可选,不启动服务器) 您可以使用以下命令查看服务器预定义的资源、Prompt 和工具列表,而无需启动 MCP 服务器模式:

    • 查看资源列表: './mcp-server-hello --resources'
    • 查看 Prompt 列表: './mcp-server-hello --prompts'
    • 查看工具列表: './mcp-server-hello --tools'

通过以上步骤,您可以快速搭建并运行 'mcp-server-hello' MCP 服务器,并将其集成到支持 MCP 协议的 LLM 应用中。

信息

分类

开发者工具