MCP服务器

一个基于C#的自包含MCP服务器,可作为NuGet包发布,用于开发工具集成。

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

使用说明

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/nuget/mcp/使用指南”。这里,“aka.ms”是一个用于短链接的域名,通常用于发布或指向特定的网页或资源,“nuget”是.NET的包管理工具,“mcp”可能代表某个特定的项目、模块或概念,而“guide”则明确指出了这是一个指南或使用说明 以获取完整指南。

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

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

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

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

本地开发

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

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

测试MCP服务器

一旦配置完成,您可以向Copilot Chat请求一个随机数,例如, Give me 3 random numbers它应该提示您使用 get_random_number 工具在……上 AzureDevSummitMCP 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": {
    "AzureDevSummitMCP": {
      "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的文档: