天气数据服务

一个为VS Code提供的MCP服务器,通过Open-Meteo API提供实时天气数据,包括当前天气、天气预报、空气质量等多种天气信息。

  • by marcbat
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 marcbat/mcp-meteo-demo

使用说明

MCP天气演示

用于VS代码的MCP(模型上下文协议)服务器,通过开放气象API提供气象数据。

描述

该项目是一个MCP服务器。Net 8.0与VS代码集成,提供实时天气信息。它使用语义内核来协调各种函数,并通过stdin/stdout上的JSON-RPC协议与VS代码通信。

功能

服务器公开了9种天气工具:

  • get_weather -当前天气(温度、风、条件)
  • get_hourly_forecast -7-16天每小时预报
  • get_daily_forecast -每日预测(最小/最大、紫外线、日出/日落)
  • get_air_quality -空气质量(PM2.5、PM10、NO2、O3等)
  • get_marine_forecast -海洋条件(波浪、洋流、水温)
  • get_historical_weather -两个日期之间的历史数据
  • get_geocoding -按城市名称搜索GPS坐标
  • get_solar_radiation -太阳辐射和阳光
  • get_agriculture_data -农业数据(土壤湿度、蒸散量)

技术

  • .NET 8.0 -基础框架
  • 语义内核1.0.1 -插件编排IA
  • 开放气象API -天气数据源(免费,无钥匙)
  • MCP协议 -与VS代码通信

项目结构

├── Program.cs          # Point d'entrée et boucle JSON-RPC
├── McpDispatcher.cs    # Gestion du protocole MCP
├── WeatherPlugin.cs    # 9 fonctions météo
└── SimpleLogger.cs     # Logger personnalisé (stderr)

使用

  1. 编制项目:

    dotnet build
    
  2. 在VS代码中配置(MCP设置)

  3. 服务器自动启动并向副驾驶助手公开其工具

示例

Utilisateur : "Quel temps fait-il à New York ?"
Copilot : [Appelle get_weather avec lat=40.71, lon=-74.01]
Résultat : Température -8.8°C, vent 18.5 km/h, ciel couvert

许可证

演示项目-免费使用