MCP 服务器
此README文件是使用C# MCP服务器项目模板创建的。 它展示了如何使用C#轻松创建一个MCP服务器,并将其发布为NuGet包。
MCP服务器被构建为一个独立的应用程序,无需在目标机器上安装.NET运行时。 然而,由于它是自包含的,因此必须针对每个目标平台单独进行构建。 默认情况下,模板配置为构建以下内容:
win-x64win-arm64osx-arm64linux-x64linux-arm64linux-musl-x64
如果您的用户需要支持更多平台,请更新项目中的运行时标识符列表 `` 元素。
请注意,此模板目前仍处于早期预览阶段。如果您有任何反馈,请 简要调查.
在发布到 NuGet.org 前的检查清单
- 使用以下步骤在本地测试MCP服务器。
- 在.csproj文件中更新包元数据,特别是 `
`。
- 更新
.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",
"
"
]
}
}
}可用工具
这个MCP服务器提供了以下工具:
随机数工具
- 获取随机数在指定的最小值和最大值之间生成一个随机数
- 获取意大利城市信息返回一个意大利城市名称(北部或南部)
Microsoft Graph 工具
- 获取用户从 Microsoft Graph 获取用户列表,可选择应用过滤条件
- 根据ID获取用户通过用户ID或用户全称(UPN)获取特定用户的详细信息
- 获取图形身份验证信息返回身份验证配置信息
对于Microsoft Graph工具,请参阅 GRAPH_SETUP.md 翻译为中文是:“图表设置.md”(注:这里的“.md”通常表示Markdown文件格式,但在中文语境下,我们通常不直接翻译文件扩展名,而是保留原样或根据上下文决定是否翻译,此处为保持文件名的完整性,未对“.md”进行翻译)。所以,完整的翻译可以是“图表设置文件(.md)” 用于身份验证配置。
测试MCP服务器
配置完成后,您可以测试这些工具:
- 请求随机数:
Give me 3 random numbers - 询问意大利的城市:
Give me a city in northern Italy - 查询 Microsoft Graph(如果已配置):
Get all users in the Sales department
发布到 NuGet.org
- 跑
dotnet pack -c Release创建NuGet包 - 发布到 NuGet.org,使用
dotnet nuget push bin/Release/*.nupkg --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创建一个
/.vscode/mcp.json文件 - Visual Studio(通常翻译为“Visual Studio”本身,无需额外翻译,但若强调其功能或地位,可译为“Visual Studio(一款强大的集成开发环境)”等,不过在此直接使用原名更为常见)创建一个
\.mcp.json文件
对于VS Code和Visual Studio,配置文件使用以下服务器定义:
{
"servers": {
"SampleMcpServer": {
"type": "stdio",
"command": "dnx",
"args": [
"",
"--version",
"",
"--yes"
]
}
}
}更多信息
.NET MCP 服务器使用 模型上下文协议 C# SDK。有关MCP的更多信息:
有关配置和使用MCP服务器的更多信息,请参阅VS Code或Visual Studio的文档:
