MCP服务器工具

一个基于C#的自包含MCP服务器,用于创建和发布NuGet包,支持多平台构建。

  • by DavidSuCS
  • C#
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 DavidSuCS/ADOMcpServer

使用说明

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/guide(或简化为:点击此处访问:aka.ms/nuget/mcp/guide)”。不过,通常在中文语境中,如果直接提及网址或链接,我们可能会保留原样,或者根据上下文稍作解释。所以,一个简洁的翻译可以是:“访问网址:aka.ms/nuget/mcp/guide” 以获取完整指南。

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

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

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

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

本地开发

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

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

测试MCP服务器

配置完成后,您可以向Copilot Chat请求一个随机数,例如, Give me 3 random numbers它应该提示您使用 get_random_number 工具在(某处) ADOMcpServer MCP服务器,并向您展示结果。

发布到 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创建一个 <SOLUTION DIRECTORY>\.mcp.json 文件

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

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

更多信息

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

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