使用说明
项目简介
本项目是一个使用 C# 编写的 "Hello World" 级别的 MCP (Model Context Protocol) 服务器示例。它展示了如何使用 'modelcontextprotocol/csharp-sdk' 库快速搭建一个基础的 MCP 服务器,并注册一个简单的工具供 LLM 客户端调用。
主要功能点
- 工具注册: 示例中注册了一个名为 'GetGreeting' 的工具,该工具接收城市名称作为参数,并返回一句欢迎语。
- 基于 Stdio 传输: 服务器使用标准输入输出 (Stdio) 作为传输协议与 MCP 客户端通信。
- 易于上手: 代码简洁明了,适合初学者快速了解 MCP 服务器的基本结构和开发流程。
安装步骤
- 安装 .NET SDK: 确保您的计算机上已安装 .NET SDK 9.0 或更高版本。您可以从 https://dotnet.microsoft.com/download 下载并安装。
- 安装 Node.js 和 npm: 为了运行 MCP Inspector (客户端工具),您需要安装 Node.js 和 npm。您可以从 https://nodejs.org/ 下载并安装。npm 通常会随 Node.js 一起安装。
- 创建项目目录并下载代码: 您可以直接从 GitHub 仓库克隆或下载此示例代码到本地。
- 添加 ModelContextProtocol SDK 包: 如果从零创建项目,请按照 README.md 中的指示,使用 'dotnet add package ModelContextProtocol --version 0.1.0-preview.1.25171.12' 命令添加 SDK 依赖。
- 构建项目: 在项目根目录下,打开终端并运行 'dotnet build' 命令来构建项目。
服务器配置
MCP 客户端需要配置以下 JSON 信息才能连接到此 MCP 服务器。请将以下配置信息添加到您的 MCP 客户端的服务器配置中。
{ "serverName": "mcp-csharp-hello-world", // 服务器名称,可以自定义 "command": "dotnet", // 启动服务器的命令,这里使用 dotnet 运行 "args": [ // 启动命令的参数 "run", // dotnet run 命令 "--project", // 指定项目路径(可选,如果当前目录已是项目根目录则可省略) "./MCPServer.csproj" // 项目文件路径,根据实际情况调整 ] }
配置说明:
- '"serverName"': 为您的服务器指定一个易于识别的名称。
- '"command"': 指定用于启动服务器进程的命令。对于 .NET 应用,通常是 'dotnet'。
- '"args"': 一个字符串数组,包含传递给启动命令的参数。
- '"run"': 'dotnet run' 命令用于运行 .NET 项目。
- '"--project", "./MCPServer.csproj"': (可选) 指定要运行的 .NET 项目文件路径。如果您的 MCP 客户端和服务器在同一目录下,并且您在项目根目录运行客户端,则可以简化 'args' 为 '["run"]'。 请根据您的实际项目结构调整路径。
基本使用方法
- 启动 MCP 服务器: 在终端中,导航到 'MCPServer' 项目目录,并运行 'dotnet run' 命令启动服务器。服务器将开始监听 Stdio 的输入。
- 启动 MCP Inspector (或您自己的 MCP 客户端): 在另一个终端中,运行 'npx @modelcontextprotocol/inspector dotnet run' (如 README.md 中所述) 或者配置您自己的 MCP 客户端,并使用上面提供的服务器配置信息连接到服务器。
- 使用 MCP Inspector 测试工具:
- 在 MCP Inspector 中点击 "Connect" 连接到服务器。
- 连接成功后,点击 "list tools" 查看服务器注册的工具列表。您应该能看到 'GetGreeting' 工具。
- 在 'GetGreeting' 工具的参数输入框中输入城市名称,例如 "Beijing"。
- 点击 "Run Tool" 执行工具。
- 在 MCP Inspector 中查看工具返回的结果,您应该看到类似 "Hello! Welcome to Beijing. Enjoy your stay!" 的欢迎消息。
通过以上步骤,您就成功运行并测试了这个简单的 MCP C# Hello World 服务器示例。您可以基于此示例扩展更多功能,例如注册更多工具、管理资源和定义 Prompt 模板。
信息
分类
开发者工具