天气数据MCP服务器

基于.NET MCP库的实时天气数据服务器,集成天气API提供当前天气、天气预报和天气警报功能。

  • by K-Gulzada
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 k-gulzada/weathermcpserver

使用说明

真实天气MCP服务器-测试分配

这是一个测试任务 FastMCP.me -用于创建和部署MCP服务器的服务。

你的任务是创建一个 实时天气MCP服务器 使用新的。NET MCP(模型上下文协议)库。

备注:本次任务欢迎并鼓励使用Cursor、Claude Code、GitHub Copilot和其他AI IDE等AI开发工具。

任务概述

你的任务是创建一个功能齐全的MCP服务器,通过克劳德等人工智能助手提供真实的天气数据。服务器应与实际的天气API集成,并提供准确、最新的天气信息。

需求

核心功能

  • 真实天气数据:与真实天气API集成(例如,OpenWeatherMap、AccuWeather或类似)
  • 当前天气:获取任何城市/地点的当前天气状况
  • 天气预报:提供天气预报(至少3天预报)
  • 多个地点:支持全球不同城市的天气查询
  • 错误处理:对无效位置、API故障等进行正确的错误处理。

技术要求

  • 使用。NET MCP服务器库(Microsoft.Extensions.AI.Abstractions)
  • 使用适当的MCP工具 [McpServerTool] 属性
  • 包括API密钥的环境变量配置
  • 跟着。NET最佳实践和编码标准
  • 包括适当的日志记录和错误处理

预期实施工具

  1. GetCurrentWeather -获取指定位置的当前天气
  2. GetWeatherForecast -获取指定位置的天气预报
  3. GetWeatherAlerts -获取某个地点的天气警报/警告(额外奖励)

入门指南

先决条件

  • .NET 8.0或更高版本
  • Weather API密钥(推荐OpenWeatherMap免费层)

安装说明

  1. 安装MCP服务器模板:

    dotnet new install Microsoft.Extensions.AI.Templates
    
  2. 基本项目结构已在 WeatherMcpServer 目录

  3. 从天气服务提供商处获取免费的API密钥

  4. 将API密钥配置为环境变量

工具结构示例

[McpServerTool]
[Description("Gets current weather conditions for the specified city.")]
public async Task<string> GetCurrentWeather(
    [Description("The city name to get weather for")] string city,
    [Description("Optional: Country code (e.g., 'US', 'UK')")] string? countryCode = null)
{
    // Your implementation here
}

评估标准

您的解决方案将在以下方面进行评估:

  1. 功能 (40%)

    • 它是否适用于真实的天气数据?
    • 是否实现了所有必需的功能?
    • 它处理边缘案件的能力有多强?
  2. 代码质量 (30%)

    • 干净、可读、可维护的代码
    • 正确的错误处理和记录
    • 跟随。NET约定
  3. MCP集成 (20%)

    • 正确使用MCP服务器属性和模式
    • 良好的工具描述和参数定义
    • 正确的服务器配置
  4. 文件和测试 (10%)

    • 清晰的设置和使用文档
    • 功能的基本测试
    • API密钥配置说明

资源

提交

请提供:

  1. 具有适当项目结构的完整源代码
  2. 设置和配置说明
  3. 工作服务器的示例使用或演示
  4. 简要记录您的实施方法

预期时间

这项任务大约需要2-4个小时才能完成,具体取决于你的经验水平。

祝你好运 🌤️