MCP服务器工具

一个基于C#的自包含MCP服务器,用于生成随机数等功能,支持多平台发布为NuGet包。

  • by Jay-jamplu
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 Jay-jamplu/samplemcpserver

使用说明

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/指南” 或者 “nuget 的 MCP 指南(通过 aka.ms 访问)”。不过,通常我们会简化为“aka.ms/nuget/mcp/guide”直接作为链接或指南的名称,因为“aka.ms”是一个用于短链接的域名,其后的内容通常是描述性的,无需完全翻译。所以,最直接的翻译或表述方式就是保留原链接形式 以获取完整指南。

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

在发布到 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服务器

一旦配置好,您可以向Copilot Chat请求一个随机数,例如, Give me 3 random numbers它应该提示您使用 get_random_number 工具在(某处) SampleMcpServer 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(Visual Studio Code)**创建一个 <WORKSPACE DIRECTORY>/.vscode/mcp.json 文件
  • 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的文档: