使用说明
项目简介
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 运行时环境。
- 安装 .NET SDK: 确保您的开发机器上安装了 .NET SDK (>= .NET 9)。您可以从 https://dotnet.microsoft.com/download 下载并安装。
- 克隆仓库: 从 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' 不需要任何参数,因此留空即可。
基本使用方法
- 编译 MCP 服务器: 在 'MCPServer' 目录下,使用 .NET CLI 构建 MCP 服务器应用程序。
构建成功后,可执行文件 'MCPServer.exe' 将在 'MCPServer/bin/Debug/net9.0/' 或 'MCPServer/bin/Release/net9.0/' 目录下生成,具体取决于您的构建配置。cd MCPServer dotnet build - 配置 MCP 客户端: MCP 客户端 (例如 'MCPClient' 项目) 需要配置 'McpServerConfig',在 'TransportOptions' 的 '"command"' 属性中填入 步骤 1 中生成的 'MCPServer.exe' 文件的实际路径。
- 运行 MCP 客户端: 导航到 'MCPClient' 目录,并运行 MCP 客户端应用程序。
客户端将启动并连接到 MCP 服务器,发送时间查询请求,并在控制台输出 MCP 服务器返回的当前时间信息。cd MCPClient dotnet run
注意: 请确保 MCP 客户端能够正确找到并执行 MCP 服务器程序,路径配置是关键。在实际应用中,MCP 服务器可以独立部署,客户端配置指向服务器的部署位置即可。
信息
分类
AI与计算