SampleDotnetMcpServer(可译为“.NET MCP服务器示例”或根据具体上下文调整为更贴切的表述)
这个项目是.NET中模型上下文协议(MCP)服务器的一个示例实现,旨在演示如何使用C#和(相关技术)构建、运行和发布一个MCP服务器 ModelContextProtocol SDK.
MCP名称:io.github.timheuer/sampledotnetmcpserver
这是什么?
SampleDotnetMcpServer 翻译为中文可以是“DotnetMcp服务器示例”或“DotnetMcp服务器样本”,具体取决于上下文和偏好,但通常“示例”或“样本”都可以用来表示这个含义 是一个.NET的参考MCP服务器,展示了如何:
- 在C#中实现MCP工具(参见
Tools/RandomNumberTools.cs,Tools/SayHelloName.cs,Tools/WeatherTools.cs) - 注册工具并配置MCP服务器传输(参见
Program.cs) - 将服务器打包并发布为一个NuGet包,以便在VS Code和Visual Studio等集成开发环境(IDE)中使用
随附的工具展示了多种MCP(可能指某种特定系统或平台,如“多通道处理”、“管理控制协议”等,具体需根据上下文确定)功能:
get_random_number在指定范围内生成随机数say_hello_name并且say_goodbye_name简单的问候工具get_weather_by_zip_code获取美国任意邮政编码的当前天气信息get_weather_forecast获取美国任何邮编地区的多日天气预报
特点/特性
- 使用stdio传输实现MCP协议
- 提供多种示例工具:
- get_random_number返回指定范围内的随机整数 - say_hello_name 并且 say_goodbye_name简单的问候工具 - get_weather_by_zip_code使用wttr.in API获取美国任意邮编地区的当前天气 - get_weather_forecast获取美国任何邮编地区的多日天气预报
- 准备打包并发布为NuGet MCP服务器
- 包含示例配置文件和元数据
如何使用
本地运行
您可以直接从源代码运行MCP服务器以进行开发和测试:
dotnet run --project .或者配置您的集成开发环境 (IDE) 以使用以下 MCP 服务器定义:
{
"servers": {
"SampleDotnetMcpServer": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"
"
]
}
}
}测试MCP服务器
一旦运行起来,您可以使用 Copilot Chat 或任何 MCP 客户端来调用可用的工具:
天气工具:
- 问:“90210那里天气怎么样?”以获取当前天气情况
- 询问:“给我10001地区的3天天气预报”,以获取天气预报
- 询问:“查询60601的天气”,使用芝加哥的邮政编码进行测试
其他工具:
- 问:“给我三个随机数”,以使用随机数生成器
- 说:“向约翰问好”以使用问候工具
发布到 NuGet.org
CI(持续集成)系统负责将项目发布到NuGet,使用NuGet可信发布功能来处理密钥,并利用Nerdbank.GitVersioning实现自动版本控制。
从NuGet.org使用
发布后,配置您的集成开发环境 (IDE) 以使用来自 NuGet.org 的 MCP 服务器。配置示例(请替换包 ID 和版本):
{
"servers": {
"SampleDotnetMcpServer": {
"type": "stdio",
"command": "dnx",
"args": [
"TimHeuer.SampleMcpServer",
"--version",
"0.1.0-beta",
"--yes"
]
}
}
}项目结构
Program.csMCP服务器入口点和配置Tools/RandomNumberTools.cs用于生成随机数的示例MCP工具Tools/SayHelloName.cs示例:用于问候的MCP工具Tools/WeatherTools.cs根据邮政编码查询天气的天气相关MCP工具.mcp/server.jsonMCP服务器元数据和NuGet包信息SampleDotnetMcpServer.csproj项目和NuGet包配置
了解更多
______________________________________________________________________
此项目仅供演示和参考之用。如需反馈或贡献,请参阅 .
