返回市场
气象服务

气象服务

作者:TimLukaHorstmann28 星标更新:2025-09-08

项目介绍

MCP天气服务器

npm版本 许可证 Node.js版本 问题 每周下载量 信任评分

<p align="center"> <img src="logo.png" alt="MCP天气服务器Logo" width="250"/> <a href="https://glama.ai/mcp/servers/@TimLukaHorstmann/mcp-weather"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=1064351741,1965040731&fm=3081&app=3081&f=PNG?w=760&h=400" alt="天气MCP服务器" /> </a> </p>

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


快速开始

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

导出你的API密钥作为环境变量:

export ACCUWEATHER_API_KEY=your_api_key_here

然后直接运行MCP天气服务器:

npx -y @timlukahorstmann/mcp-weather

或者,通过super gateway进行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(可选):"metric"(摄氏度,默认)或"imperial"(华氏度)

每日天气预报

  • 工具名称:weather-get_daily
  • 提供长达15天的每日预报
  • 参数:
    • location(必需):城市或地点名称
    • days(可选):预报天数(1, 5, 10或15;默认是5)
    • units(可选):"metric"(摄氏度,默认)或"imperial"(华氏度)

预备知识

  • Node.js ≥18
  • 一个AccuWeather API密钥(通过.env或你的shell设置)

安装

  1. 克隆此仓库:

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

    npm install
    
  3. 获取AccuWeather API密钥:

    • AccuWeather API注册
    • 创建一个新的应用程序并获得API密钥
  4. 创建一个包含你的API密钥的.env文件:

    ACCUWEATHER_API_KEY=your_api_key_here
    
  5. 构建项目:

    npm run build
    

使用Claude Desktop

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

    • 打开Claude Desktop
    • 前往设置 > 开发者 > 编辑配置
    • 将以下内容添加到你的claude_desktop_config.json
    {
      "mcpServers": {
        "weather": {
          "command": "npx",
          "args": ["-y", "@timlukahorstmann/mcp-weather"],
          "env": {
            "ACCUWEATHER_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    
  2. 重启Claude Desktop

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

  4. 现在你可以向Claude询问天气预报,例如:

    • “纽约市的每小时天气预报是什么?”
    • “给我伦敦的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许可证发布 - 详情见LICENSE文件。