MCP服务器开发工具

一个基于C#的MCP服务器开发工具,用于创建和打包NuGet包,支持在VS Code中集成使用。

  • by joelverhagen
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 joelverhagen/Knapcode.SampleMcpServer

使用说明

MCP服务器-Knapcode。SampleMcpServer

此README是使用C#MCP服务器模板项目创建的。它演示了如何使用C#轻松创建MCP服务器,然后将其打包到NuGet包中。

看 aka.ms/nuget/mcp/guide 完整的指南。

发布到NuGet.org之前的检查表

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

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

在VS代码中使用MCP服务器

一旦MCP服务器包发布到NuGet.org,您就可以使用以下VS Code用户配置下载并安装MCP服务器包。看 在VS代码中使用MCP服务器(预览版) 有关在VS Code中使用MCP服务器的更多信息。

{
  "mcp": {
    "servers": {
      "Knapcode.SampleMcpServer": {
        "type": "stdio",
        "command": "dnx",
        "args": [
          "Knapcode.SampleMcpServer@0.4.0-beta",
          "--yes",
          "--",
          "mcp",
          "start"
        ],
        "env": {
          "WEATHER_CHOICES": "sunny,humid,freezing"
        }
      }
    }
  }
}

现在,您可以向Copilot Chat询问随机数,例如, Give me 3 random numbers。它应该提示您使用 get_random_number 工具上 Knapcode.SampleMcpServer MCP服务器,并向您显示结果。

在VS代码中本地开发

要从源代码(本地)测试此MCP服务器,而不使用内置的MCP服务器包,请创建 .vscode/mcp.json 将文件(VS Code工作区设置文件)添加到项目目录中,并添加以下配置:

{
  "servers": {
    "Knapcode.SampleMcpServer": {
      "type": "stdio",
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "<RELATIVE PATH TO PROJECT DIRECTORY>",
        "--",
        "mcp",
        "start"
      ],
      "env": {
        "WEATHER_CHOICES": "sunny,humid,freezing"
      }
    }
  }
}

或者,您可以配置您的VS Code用户设置以使用您的本地项目:

{
  "mcp": {
    "servers": {
      "Knapcode.SampleMcpServer": {
        "type": "stdio",
        "command": "dotnet",
        "args": [
          "run",
          "--project",
          "<FULL PATH TO PROJECT DIRECTORY>"
          "--",
          "mcp",
          "start"
        ]
      },
      "env": {
        "WEATHER_CHOICES": "sunny,humid,freezing"
      }
    }
  }
}