使用说明

项目简介

aiPlayground MCPServer 项目是一个基于 Model Context Protocol (MCP) 框架构建的简单 MCP 服务器示例。它使用官方的 csharp-sdk 库,展示了如何创建一个基本的 MCP 服务器,该服务器能够注册和提供工具 (Tools) 给 MCP 客户端使用。该示例主要用于演示 MCP 服务器的基本概念和搭建流程,帮助开发者理解如何利用 MCP 协议构建应用后端,以便 LLM 客户端能够安全、可扩展地访问上下文信息和外部功能。

主要功能点

  • 资源管理 (Resources): 虽然此示例未显式展示资源管理,但 MCP 服务器框架本身支持资源的托管和管理,为数据访问提供基础。
  • 工具注册 (Tools): 演示了如何注册和暴露工具 (Tools),允许 LLM 客户端通过 MCP 协议调用服务器端的功能。示例中提供了一个获取当前时间的工具。
  • Prompt 模板 (Prompts): 该示例未涉及 Prompt 模板,但 MCP 服务器框架支持定义和渲染 Prompt 模板,以实现 LLM 交互模式的定制。
  • 基于 Stdio 传输协议: MCP 服务器使用 Stdio 作为传输协议,通过标准输入输出与 MCP 客户端进行通信。
  • 能力声明: MCP 服务器能够声明自身提供的能力,使 MCP 客户端能够了解服务器的功能范围。

安装步骤

由于这是一个 .NET 控制台应用程序,因此需要 .NET 运行时环境。

  1. 安装 .NET SDK: 确保您的开发机器上安装了 .NET SDK (>= .NET 9)。您可以从 https://dotnet.microsoft.com/download 下载并安装。
  2. 克隆仓库: 从 GitHub 克隆 'aiPlayground' 仓库到本地。
    git clone https://github.com/laurentkempe/aiPlayground
    cd aiPlayground/MCPServer

服务器配置

MCP 服务器是设计为与 MCP 客户端协同工作的后端服务。对于 'aiPlayground MCPServer' 示例,MCP 客户端需要以下配置信息来连接和使用该服务器。这些配置通常以 JSON 格式提供给 MCP 客户端,告知客户端如何启动和连接到 MCP 服务器。

{
  "id": "time",  // MCP 服务器的唯一标识符,客户端使用该 ID 来引用服务器
  "name": "Time MCP Server", // MCP 服务器的名称,用于描述服务器
  "transportType": "Stdio", // 指定 MCP 服务器使用的传输协议为标准输入输出 (Stdio)
  "transportOptions": {
    "command": "path/to/MCPServer.exe", // **[重要]** 启动 MCP 服务器的可执行文件路径。**请替换为实际的 MCPServer.exe 文件路径**
    "arguments": "" // 启动 MCP 服务器时需要传递的命令行参数,此示例中无需参数
  }
}

配置参数注释:

  • 'id': MCP 服务器的唯一标识符,例如 "time"。客户端在请求服务时会使用这个 ID。
  • 'name': MCP 服务器的名称,例如 "Time MCP Server",用于描述服务器的功能。
  • 'transportType': 传输协议类型,设置为 '"Stdio"' 表示使用标准输入输出进行通信。
  • 'transportOptions': 传输协议的配置选项。
    • 'command': [重要] 指向 MCP 服务器可执行文件 ('MCPServer.exe') 的路径。用户需要根据 'MCPServer' 项目的编译输出路径,填写实际的 'MCPServer.exe' 文件路径。 例如,如果从 'MCPServer' 根目录编译 Debug 版本,该路径可能类似于 '"../../MCPServer/bin/Debug/net9.0/MCPServer.exe"' (相对路径,根据 MCP 客户端的执行位置调整)。
    • 'arguments': 启动 MCP 服务器时需要传递的任何命令行参数。此示例的 'MCPServer.exe' 不需要任何参数,因此留空即可。

基本使用方法

  1. 编译 MCP 服务器: 在 'MCPServer' 目录下,使用 .NET CLI 构建 MCP 服务器应用程序。
    cd MCPServer
    dotnet build
    构建成功后,可执行文件 'MCPServer.exe' 将在 'MCPServer/bin/Debug/net9.0/' 或 'MCPServer/bin/Release/net9.0/' 目录下生成,具体取决于您的构建配置。
  2. 配置 MCP 客户端: MCP 客户端 (例如 'MCPClient' 项目) 需要配置 'McpServerConfig',在 'TransportOptions' 的 '"command"' 属性中填入 步骤 1 中生成的 'MCPServer.exe' 文件的实际路径。
  3. 运行 MCP 客户端: 导航到 'MCPClient' 目录,并运行 MCP 客户端应用程序。
    cd MCPClient
    dotnet run
    客户端将启动并连接到 MCP 服务器,发送时间查询请求,并在控制台输出 MCP 服务器返回的当前时间信息。

注意: 请确保 MCP 客户端能够正确找到并执行 MCP 服务器程序,路径配置是关键。在实际应用中,MCP 服务器可以独立部署,客户端配置指向服务器的部署位置即可。

信息

分类

AI与计算