MCP服务器工具

一个基于C#的自包含MCP服务器,提供随机数生成和Microsoft Graph数据查询功能,适用于开发者在多种平台上部署和使用。

  • by svesax
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 svesax/TestMcpDotNet

使用说明

MCP 服务器

此README文件是使用C# MCP服务器项目模板创建的。 它展示了如何使用C#轻松创建一个MCP服务器,并将其发布为NuGet包。

MCP服务器被构建为一个独立的应用程序,无需在目标机器上安装.NET运行时。 然而,由于它是自包含的,因此必须针对每个目标平台单独进行构建。 默认情况下,模板配置为构建以下内容:

  • win-x64
  • win-arm64
  • osx-arm64
  • linux-x64
  • linux-arm64
  • linux-musl-x64

如果您的用户需要支持更多平台,请更新项目中的运行时标识符列表 <RuntimeIdentifiers /> 元素。

见 aka.ms/nuget/mcp/guide 翻译为中文是:“aka.ms/nuget/mcp/指南”。不过,这里的“aka.ms”是微软的一个短链接服务,通常用于指向特定的资源或页面,所以在中文语境下,我们可能会保留“aka.ms”不变,直接翻译后面的路径部分。因此,整个表达可以理解为指向某个特定指南的微软短链接。如果非要给出一个更贴近中文表达习惯的翻译,可以是“微软短链接:aka.ms/nuget/mcp/指南”,但具体翻译还需根据上下文和使用场景来确定 以下是完整指南。

请注意,此模板目前仍处于早期预览阶段。如果您有任何反馈,请 简要调查.

在发布到 NuGet.org 前的检查清单

  • 使用以下步骤在本地测试MCP服务器。
  • 在.csproj文件中更新包元数据,特别是 <PackageId>。
  • 更新 .mcp/server.json 声明您的MCP服务器的输入。
  • 使用(指定工具或方法)打包项目 dotnet pack。

这个(或“该”) bin/Release 目录将包含包文件(.nupkg),该文件可以 发布到 NuGet.org。

本地开发

要从源代码(本地)测试这个MCP服务器,而不使用已构建的MCP服务器包,你可以配置你的集成开发环境(IDE)直接运行该项目,使用 dotnet run。

{
  "servers": {
    "SampleMcpServer": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "<PATH TO PROJECT DIRECTORY>"
      ]
    }
  }
}

可用工具

这个MCP服务器提供了以下工具:

随机数工具

  • 获取随机数在指定的最小值和最大值之间生成一个随机数
  • 获取意大利城市信息返回一个意大利城市名称(北部或南部)

Microsoft Graph 工具

  • 获取用户从 Microsoft Graph 获取用户列表,可选择应用过滤条件
  • 根据ID获取用户通过用户ID或用户全称(UPN)获取特定用户的详细信息
  • 获取图形身份验证信息返回身份验证配置信息

对于Microsoft Graph工具,请参阅 GRAPH_SETUP.md 翻译为中文是:“图表设置.md”(注:这里的“.md”通常表示Markdown文件格式,但在中文语境下,我们通常不直接翻译文件扩展名,而是保留原样或根据上下文决定是否翻译,此处为保持文件名的完整性,未对“.md”进行翻译)。所以,完整的翻译可以是“图表设置文件(.md)” 用于身份验证配置。

测试MCP服务器

配置完成后,您可以测试这些工具:

  • 请求随机数: Give me 3 random numbers
  • 询问意大利的城市: Give me a city in northern Italy
  • 查询 Microsoft Graph(如果已配置): Get all users in the Sales department

发布到 NuGet.org

  1. 跑 dotnet pack -c Release 创建NuGet包
  2. 发布到 NuGet.org,使用 dotnet nuget push bin/Release/*.nupkg --api-key <your-api-key> --source https://api.nuget.org/v3/index.json

使用来自 NuGet.org 的 MCP 服务器

一旦MCP服务器包发布到NuGet.org,您就可以在您偏好的集成开发环境(IDE)中进行配置。VS Code和Visual Studio都支持使用该包 dnx 命令用于从 NuGet.org 下载并安装 MCP 服务器包。

  • VS Code创建一个 <WORKSPACE DIRECTORY>/.vscode/mcp.json 文件
  • **Visual Studio(通常翻译为“Visual Studio”本身,无需额外翻译,但若强调其功能或地位,可译为“Visual Studio(一款强大的集成开发环境)”等,不过在此直接使用原名更为常见)**创建一个 <SOLUTION DIRECTORY>\.mcp.json 文件

对于VS Code和Visual Studio,配置文件使用以下服务器定义:

{
  "servers": {
    "SampleMcpServer": {
      "type": "stdio",
      "command": "dnx",
      "args": [
        "<your package ID here>",
        "--version",
        "<your package version here>",
        "--yes"
      ]
    }
  }
}

更多信息

.NET MCP 服务器使用 模型上下文协议 C# SDK。有关MCP的更多信息:

有关配置和使用MCP服务器的更多信息,请参阅VS Code或Visual Studio的文档: