本指南将帮助您在.NET中设置一个基本的MCP(模型上下文协议)服务器,在VS Code中配置它,并使用Copilot Chat与其进行交互。
将此仓库分叉到您的GitHub账户。
将您的分叉克隆到本地机器:
git clone https://github.com/<your-username>/How-To-Create-MCP-Server
cd How-To-Create-MCP-Server
注意: 在上述克隆URL中,请将
<your-username>替换为您实际的GitHub用户名。
为您的更改创建一个新的分支(例如,feature/my-contribution):
git checkout -b feature/my-contribution
<span style="background-color:#ffdddd; padding:2px 6px; border-radius:4px;">🛑 已经完成步骤1-3了吗?</span>
如果您已经分叉、克隆并创建了分支,您可以跳到🚀 立即开始工作并继续其余的设置!
进行您的更改并提交它们。
git add .
git commit -m"my-contribution"
将您的分支推送到您的分叉:
git push origin feature/my-contribution
推送更改后,请在浏览器中转到您的GitHub仓库。切换到feature/my-contribution分支

Submit分支(而不是main)打开一个拉取请求(PR)。步骤01
步骤02

当您创建拉取请求(PR)时,请添加一条评论,包括您的全名和电子邮件地址。这有助于我们追踪贡献并在需要时联系您。
示例:
全名:Nisal Gunawardhana
电子邮件:info@nisalgunawardhana.com
注意: 请不要直接向
main分支打开PR。始终针对Submit分支进行贡献。 按照以下步骤设置并运行MCP服务器。
准备好深入了吗?
克隆并设置好您的分支后,您可以立即开始对MCP服务器项目进行更改或添加功能。使用下面提供的步骤来指导您的开发过程。如果您遇到困难,请参考本文档末尾的资源和讨论链接。
下载并安装适用于您操作系统的.NET SDK。
注意: 本指南使用的是**.NET SDK 8**。请确保您下载了适合您操作系统的正确版本。
如果您正在使用VS Code,请安装C# Dev Kit扩展,以获得最佳的开发体验。
在终端中验证安装:
dotnet --version
打开终端并运行:
dotnet new console -o HelloSriLankaServer
cd HelloSriLankaServer
安装必要的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
这种结构有助于保持源代码、配置和文档的组织。
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("你好,斯里兰卡!");
}
}
.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
在.vscode内,创建一个名为mcp.json的文件并添加您的服务器配置。
创建后,您会看到一个添加服务器按钮。点击它。

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

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

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

mcp.json文件将自动填充。用以下内容替换缺失的部分:
{
"servers": {
"Hello-SriLankaServer": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"${workspaceFolder}/HelloSriLankaServer/HelloSriLankaServer.csproj"
]
}
}
}
注意:
${workspaceFolder}将自动解析为您的项目根目录。如果不起作用,请将其替换为.csproj文件的实际路径(在VS Code中右键单击文件并选择“复制路径”)。
从HelloSriLankaServer目录启动服务器:
dotnet run
注意: 确认服务器成功运行后,可以停止它(在终端中按
Ctrl+C),然后进入下一步(第7步)。
注意: 在Copilot Chat中添加工具前,请确保您的MCP服务器正在运行。然后,在VS Code中打开
mcp.json文件。您会在JSON代码中的"servers": {行下方看到一个小的添加工具按钮——点击此按钮继续。
Hello-SriLankaServe)。图像示例:
注意: 示例图像可能显示“LocationServer”或其他类似名称,但实际上是指您的MCP服务器(
Hello-SriLankaServer)。![]()
在Copilot Chat中选择Hello-SriLankaServer工具。
输入消息以调用您的工具,例如:
你能向斯里兰卡问好吗?
注意: 当VS Code提示时,您可能需要授予权限或继续。有时,Copilot Chat或其他AI工具默认情况下没有访问终端或工作区的权限。如果看到要求访问的提示,请确保允许它,以便您的工具能够成功运行。
您应在聊天窗口中收到MCP服务器的回复。
你好,斯里兰卡!
您将在Copilot Chat窗口中收到MCP服务器的响应。
对于更高级的示例,您可以探索尝试MCP位置服务器演示仓库。该演示展示了如何使用.NET构建和与基于位置的MCP服务器进行交互。
喜欢这个项目吗?分享给您的朋友和社区,有机会赢得独家科技礼品!
如何参与:
填写此表单以请求您的个性化分享链接。我们将在2-3个工作日内通过电子邮件发送您的独特链接。
分享并赢取:
收到链接后,请与您的朋友分享。请他们完成项目并在提交时包含您的推荐链接。
为什么分享?
使用您推荐链接的朋友越多,您赢得酷炫科技礼品的机会就越大——贴纸、T恤等!
注意: 确保您的电子邮件在您的GitHub个人资料中可见,或在请求链接时在表单中提及。
敬请关注——获奖者将在讨论标签中公布!
为了更深入地了解MCP并获得更多实践示例,请查看介绍MCP仓库。此资源提供了教程、示例项目以及更多关于在.NET中使用MCP的指导。
有疑问、想法或想要分享您的经验吗?
欢迎您使用GitHub讨论:
👉 点击此仓库顶部的“讨论”标签开始或加入对话!
让我们一起建设和学习!
在社交媒体上关注我,获取更多课程、技术技巧和赠品信息:
随时联系并保持更新!
本项目根据MIT许可证授权。
提示:
您可以通过扩展Program.cs中的HelloTool类来向您的MCP服务器添加更多工具。