返回市场
如何创建MCP服务器

如何创建MCP服务器

作者:nisalgunawardhana32 星标更新:2025-06-25

项目介绍

如何使用.NET创建MCP服务器

本指南将帮助您在.NET中设置一个基本的MCP(模型上下文协议)服务器,在VS Code中配置它,并使用Copilot Chat与其进行交互。

关注我

如何克隆此仓库并开始工作

  1. 将此仓库分叉到您的GitHub账户。

  2. 将您的分叉克隆到本地机器:

    git clone https://github.com/<your-username>/How-To-Create-MCP-Server
    cd How-To-Create-MCP-Server
    

    注意: 在上述克隆URL中,请将<your-username>替换为您实际的GitHub用户名。

  3. 为您的更改创建一个新的分支(例如,feature/my-contribution):

    git checkout -b feature/my-contribution
    

    <span style="background-color:#ffdddd; padding:2px 6px; border-radius:4px;">🛑 已经完成步骤1-3了吗?</span>
    如果您已经分叉、克隆并创建了分支,您可以跳到🚀 立即开始工作并继续其余的设置!

  4. 进行您的更改并提交它们。

    git add .
    git commit -m"my-contribution"
    
  5. 将您的分支推送到您的分叉:

    git push origin feature/my-contribution
    

    推送更改后,请在浏览器中转到您的GitHub仓库。切换到feature/my-contribution分支

在Copilot Chat中添加工具

  1. 从您的分支向此仓库的Submit分支(而不是main打开一个拉取请求(PR)

步骤01 在Copilot Chat中添加工具 步骤02 在Copilot Chat中添加工具


拉取请求评论指南

当您创建拉取请求(PR)时,请添加一条评论,包括您的全名电子邮件地址。这有助于我们追踪贡献并在需要时联系您。

示例:

全名:Nisal Gunawardhana
电子邮件:info@nisalgunawardhana.com

注意: 请不要直接向main分支打开PR。始终针对Submit分支进行贡献。 按照以下步骤设置并运行MCP服务器。


🚀 立即开始工作

准备好深入了吗?
克隆并设置好您的分支后,您可以立即开始对MCP服务器项目进行更改或添加功能。使用下面提供的步骤来指导您的开发过程。如果您遇到困难,请参考本文档末尾的资源和讨论链接。


1. 安装.NET

下载并安装适用于您操作系统的.NET SDK

注意: 本指南使用的是**.NET SDK 8**。请确保您下载了适合您操作系统的正确版本。

如果您正在使用VS Code,请安装C# Dev Kit扩展,以获得最佳的开发体验。

在终端中验证安装:

dotnet --version

2. 创建新项目

打开终端并运行:

dotnet new console -o HelloSriLankaServer
cd HelloSriLankaServer

3. 安装所需包

安装必要的NuGet包:

dotnet add package ModelContextProtocol --prerelease
dotnet add package Microsoft.Extensions.Hosting 

项目文件夹结构

创建项目后,您的文件夹结构应如下所示:

How-To-create-MCP-Server/
├── HelloSriLankaServer/
│   ├── Program.cs
│   ├── HelloSriLankaServer.csproj
│   └── (其他项目文件)
├── images/
│   ├── image1.png
│   └── image2.png
├── README.md
└── LICENSE

这种结构有助于保持源代码、配置和文档的组织。


4. 更新Program.cs

清空Program.cs的内容并替换为:

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Console;
using Microsoft.Extensions.Options;
using ModelContextProtocol.Server;
using System.ComponentModel;

var builder = Host.CreateApplicationBuilder(args);

builder.Logging.AddConsole(options => {
    options.LogToStandardErrorThreshold = LogLevel.Trace;
});

builder.Services.AddMcpServer()
    .WithStdioServerTransport()
    .WithToolsFromAssembly();

Console.WriteLine(builder.Environment.ContentRootPath);
var app = builder.Build();

await app.RunAsync();

[McpServerToolType]
public static class HelloTool
{
    [McpServerTool(Name = "HelloTool"), Description("向斯里兰卡问好")]
    public static void SayHello()
    {
        Console.WriteLine("你好,斯里兰卡!");
        
    }
}

5. 在VS Code中配置MCP

  1. 在项目根目录下,创建一个.vscode目录:

在创建.vscode目录之前,如果当前位于HelloSriLankaServer文件夹内,请先返回到项目根目录:

cd ..
mkdir -p .vscode

创建.vscode目录后,您的文件夹结构应如下所示:

How-To-create-MCP-Server/
├── HelloSriLankaServer/
│   ├── Program.cs
│   ├── HelloSriLankaServer.csproj
│   └── (其他项目文件)
├── images/
│   ├── image1.png
│   └── image2.png
├── .vscode/
├── README.md
└── LICENSE
  1. .vscode内,创建一个名为mcp.json的文件并添加您的服务器配置。

    • 创建后,您会看到一个添加服务器按钮。点击它。
      添加服务器按钮

    • 选择**"命令(标准输入输出)"**作为服务器类型。
      选择命令(标准输入输出)

    • 输入"dotnet"作为命令并按回车键。
      输入dotnet

    • 输入服务器名称"Hello-SriLankaServer"并按回车键。
      输入服务器名称

    • mcp.json文件将自动填充。用以下内容替换缺失的部分:

      {
        "servers": {
          "Hello-SriLankaServer": {
            "type": "stdio",
            "command": "dotnet",
            "args": [
              "run",
              "--project",
              "${workspaceFolder}/HelloSriLankaServer/HelloSriLankaServer.csproj"
            ]
          }
        }
      }
      

      注意: ${workspaceFolder}将自动解析为您的项目根目录。如果不起作用,请将其替换为.csproj文件的实际路径(在VS Code中右键单击文件并选择“复制路径”)。

6. 运行MCP服务器(测试是否正常)

HelloSriLankaServer目录启动服务器:

dotnet run

注意: 确认服务器成功运行后,可以停止它(在终端中按Ctrl+C),然后进入下一步(第7步)。


7. 在Copilot Chat中添加工具

注意: 在Copilot Chat中添加工具前,请确保您的MCP服务器正在运行。然后,在VS Code中打开mcp.json文件。您会在JSON代码中的"servers": {行下方看到一个小的添加工具按钮——点击此按钮继续。

  1. 在VS Code中打开Copilot Chat。
  2. 点击齿轮图标(⚙️)或添加工具按钮。
  3. 从列表中选择您的MCP服务器(Hello-SriLankaServe)。

图像示例:

注意: 示例图像可能显示“LocationServer”或其他类似名称,但实际上是指您的MCP服务器(Hello-SriLankaServer)。 在Copilot Chat中添加工具 在Copilot Chat中添加工具


8. 使用Copilot Chat发送消息

  1. 在Copilot Chat中选择Hello-SriLankaServer工具。

  2. 输入消息以调用您的工具,例如:

    你能向斯里兰卡问好吗?
    

    注意: 当VS Code提示时,您可能需要授予权限或继续。有时,Copilot Chat或其他AI工具默认情况下没有访问终端或工作区的权限。如果看到要求访问的提示,请确保允许它,以便您的工具能够成功运行。

  3. 您应在聊天窗口中收到MCP服务器的回复。

    你好,斯里兰卡!
    
    

9. 从MCP服务器获取回复

您将在Copilot Chat窗口中收到MCP服务器的响应。


10. 高级演示:尝试MCP位置服务器

对于更高级的示例,您可以探索尝试MCP位置服务器演示仓库。该演示展示了如何使用.NET构建和与基于位置的MCP服务器进行交互。


🎁 分享并赢取精美科技礼品!

喜欢这个项目吗?分享给您的朋友和社区,有机会赢得独家科技礼品!

  • 如何参与:
    填写此表单以请求您的个性化分享链接。我们将在2-3个工作日内通过电子邮件发送您的独特链接。

  • 分享并赢取:
    收到链接后,请与您的朋友分享。请他们完成项目并在提交时包含您的推荐链接。

  • 为什么分享?
    使用您推荐链接的朋友越多,您赢得酷炫科技礼品的机会就越大——贴纸、T恤等!

注意: 确保您的电子邮件在您的GitHub个人资料中可见,或在请求链接时在表单中提及。

敬请关注——获奖者将在讨论标签中公布!


额外学习资源

为了更深入地了解MCP并获得更多实践示例,请查看介绍MCP仓库。此资源提供了教程、示例项目以及更多关于在.NET中使用MCP的指导。


💬 加入讨论!

有疑问、想法或想要分享您的经验吗?
欢迎您使用GitHub讨论

  • 关于设置或使用的提问
  • 提供反馈或建议
  • 请求新功能
  • 与其他贡献者交流

👉 点击此仓库顶部的“讨论”标签开始或加入对话!

让我们一起建设和学习!


联系我

在社交媒体上关注我,获取更多课程、技术技巧和赠品信息:

随时联系并保持更新!


许可证

本项目根据MIT许可证授权。


提示:
您可以通过扩展Program.cs中的HelloTool类来向您的MCP服务器添加更多工具。