天气数据服务

提供天气预警、天气预报和当前天气数据的服务,适用于AI助手集成和天气应用开发。

  • by Eagor1968
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 eagor1968/weathermcpserver

使用说明

---具有适当项目结构的完整源代码 源代码在这里https://github.com/Eagor1968/WeatherMcpServer ---设置和配置说明 应安装Dotnet 9.0 构建: .net构建 .net build-p:DefineConstants=“DEBUG”

运行: 点运行

日志包含在 WeatherMcpServer\logs\server-202508DD.log

---工作服务器的示例用法或演示:

2025-08-13 17:30:08[信息]调试调用预测:“俄罗斯萨马拉预测: 日期/时间=13.08.25 19:00,温度:23,0,小雨 .... 日期/时间=18.08.25 16:00,温度:32.3,多云”

2025-08-13 17:30:09[信息]调试调用警报:“在俄罗斯萨马拉发现的警报:

  1. 事件:火灾危险:适度紧急状态:即时效果:10.08.2025 15:05:00 Expires:14.08.2025 19:00:00
  2. 在未来1-3小时内,一些地方预计会出现雷暴事件:雷暴Severity:Moderate Urgency:Immediate Effective:13.08.2025 5:06:00 Expires:13.08.2025 22:00:00
  3. 阵风:微风:局部紧急情况:瞬时效应:13.08.2025 5:07:00 Expires:13.08.2025 22:00:00
  4. Местамиливень事件:Дождь严重程度:中度紧急:立即生效:13.08.2025 5:07:00到期:13.08.22025 22:00:00 "

---实施方法的简要文件

MCP服务器应该由集成到AI中的MCP客户端使用,特别是在Copilot中,但Copilot在俄罗斯不起作用,所以我不得不创建一个MCP客户端 就在这里https://github.com/Eagor1968/McpFullClient 它看起来如下 [SERVER]收到的工具列表:

  • get_weather_alerts-获取指定城市的天气警报。
  • get_random_number-在指定的最小值和最大值之间生成一个随机数。
  • get_weather_forecast-获取指定城市的天气预报。
  • get_current_weather-获取指定城市的当前天气状况。

可用工具:get_weather_alerts、get_random_number、get_weather_forecast、get_current_weather 输入调用工具名称( 或输出工具名称 q) :

Alerts found in Samara,RU:

  1. 事件:火灾危险:适度紧急状态:即时效果:10.08.2025 15:05:00 Expires:14.08.2025 19:00:00
  2. 在未来1-3小时内,一些地方预计会出现雷暴事件:雷暴Severity:Moderate Urgency:Immediate Effective:13.08.2025 5:06:00 Expires:13.08.2025 22:00:00
  3. 阵风:微风:局部紧急情况:瞬时效应:13.08.2025 5:07:00 Expires:13.08.2025 22:00:00
  4. Местамиливень事件:Дождь严重程度:中度紧急:立即生效:13.08.2025 5:07:00到期:13.08.22025 22:00:00

我使用OpenWeatherMap API实现了GetCurrentWeather和GetWeatherForecast,但是 API不允许免费使用警报,所以我使用API.weatherapi.com实现了GetWeatherAlerts。