天气数据服务

一个基于AccuWeather API的MCP服务器,提供实时天气数据服务,包括小时和日预报,适用于需要天气信息的应用场景。

  • by TimLukaHorstmann
  • TypeScript
  • 混合部署
  • 34 星标
  • 更新于
在 GitHub 查看 TimLukaHorstmann/mcp-weather

使用说明

MCP气象服务器

模型上下文协议(MCP)服务器,使用AccuWeather API提供每小时和每日天气预报。


快速开始

您需要一个AccuWeather API密钥(可用的免费层)。
在这里注册 并创建一个应用程序来获取您的密钥。

将API密钥导出为环境变量:

export ACCUWEATHER_API_KEY=your_api_key_here

然后直接使用以下命令运行MCP天气服务器:

npx -y @timlukahorstmann/mcp-weather

或者,对于HTTP/REST访问,通过 超级通道:

npx -y supergateway --stdio "npx -y @timlukahorstmann/mcp-weather" \
  --port 4004 \
  --baseUrl http://127.0.0.1:4004 \
  --ssePath /messages \
  --messagePath /message \
  --cors "*" \
  --env ACCUWEATHER_API_KEY="$ACCUWEATHER_API_KEY"

MCP服务器配置示例

要与Claude Desktop或其他MCP兼容客户端集成,请将其添加到您的配置中(例如。 claude_desktop_config.json):

{
  "mcpServers": {
    "weather": {
      "command": "npx",
      "args": ["-y", "@timlukahorstmann/mcp-weather"],
      "env": {
        "ACCUWEATHER_API_KEY": "your_api_key_here"
      }
    }
  }
}

概述

这个MCP服务器允许大型语言模型(如Claude)访问实时天气数据。当与LLM集成时,它使模型能够:

  • 获取准确、最新的天气预报
  • 提供未来12小时的每小时天气数据
  • 获取长达15天的每日天气预报
  • 以公制(°C)和英制(°F)单位显示数据
  • 查看温度、条件、降水信息和其他天气详细信息

可用工具

每小时天气预报

  • 工具名称: weather-get_hourly
  • 提供未来12小时的每小时预测
  • 参数:
    • location (必填):城市或地点名称
    • units (可选):“公制”(摄氏度,默认值)或“英制”(华氏度)

每日天气预报

  • 工具名称: weather-get_daily
  • 提供长达15天的每日预报
  • 参数:
    • location (必填):城市或地点名称
    • days (可选):预测天数(1、5、10或15;默认值为5)
    • units (可选):“公制”(摄氏度,默认值)或“英制”(华氏度)

先决条件

  • Node.js≥18
  • AccuWeather API密钥(通过 .env 或你的壳)

设置

  1. 克隆此存储库:

    git clone https://github.com/TimLukaHorstmann/mcp-weather.git
    cd mcp-weather
    
  2. 安装依赖项:

    npm install
    
  3. 获取AccuWeather API密钥:

  4. 创建一个 .env 使用API密钥文件:

    ACCUWEATHER_API_KEY=your_api_key_here
    
  5. 构建项目:

    npm run build
    

使用Claude Desktop

  1. 配置Claude Desktop以使用此MCP服务器:

    • 打开克劳德桌面
    • 前往“设置”>“开发人员”>“编辑配置”
    • 将以下内容添加到您的 claude_desktop_config.json:
    {
      "mcpServers": {
        "weather": {
          "command": "npx",
          "args": ["-y", "@timlukahorstmann/mcp-weather"],
          "env": {
            "ACCUWEATHER_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    
  2. 重新启动克劳德桌面

  3. 在新对话中,通过单击插头图标并选择“天气”来启用MCP服务器

  4. 现在你可以问克劳德天气预报,比如:

    • “纽约市每小时的天气预报是什么?”
    • “给我伦敦的5天天气预报。”
    • “以华氏度计算,本周东京的天气会是什么样子?”
    • “明天旧金山会下雨吗?”

发展

  • 安装开发依赖项: npm install
  • 打开你的代码: npm run lint
  • 构建: npm run build
  • 运行测试: npm test
  • 以开发模式启动: npm run dev

贡献

欢迎投稿!请随时提交拉取请求。

未来的增强功能

我们一直在寻求改进MCP天气服务器。以下是我们正在考虑在未来版本中使用的一些功能:

  • 延长每小时预测: 超过12小时,例如24或48小时。
  • 天气警报: 与AccuWeather的恶劣天气警报API集成。
  • 位置自动完成: 通过自动完成建议改进了位置搜索。
  • 历史天气数据: 查看过去的天气状况。

如果您对其他功能有想法,请随时打开一个问题!

更新日志

0.4.0

  • 移除 sessionId 所有工具的要求,因为它没有在内部用于任何事情
  • 这简化了集成,减少了LLM使用的混乱

0.3.0及更早版本

  • 具有基本功能的初始版本

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。