M

MCP天气服务器

@panzhenyao/mcp-server
0 Stars 114 次浏览 panzhenyao 更新于 2026-08-23

一个连接到OpenWeatherMap API的MCP服务器,用于以不同的测量单位提供全球各地的当前天气数据和多日预报。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

天气 MCP 服务器

这是一个使用 OpenWeatherMap API 获取天气数据的 MCP 服务器。它可以托管在 MCP.so 上。

功能

  • 任何地点的当前天气数据
  • 天气预报(最多 5 天)
  • 支持公制和英制单位
  • 兼容 stdio 和 REST 传输模式
  • Docker 容器化以便于部署
  • 符合 MCP.so 托管要求

前提条件

  • Node.js v18+
  • OpenWeatherMap API 密钥(可以在 OpenWeatherMap 免费获取)

开始使用

本地开发

  1. 克隆此仓库

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

    npm install
    
  3. 构建 TypeScript 代码

    npm run build
    
  4. 在 stdio 模式下运行服务器(用于本地测试)

    WEATHER_API_KEY=your_api_key_here npm start
    

以 REST 模式运行

WEATHER_API_KEY=your_api_key_here mode=rest port=9593 endpoint=/rest npm start

Docker

  1. 构建 Docker 镜像

    docker build -t mcp/weather-mcp-server .
    
  2. 运行容器

    docker run -i --rm -e WEATHER_API_KEY=your_api_key_here mcp/weather-mcp-server
    

使用方法

可用工具

current_weather

获取特定地点的当前天气数据。

参数:

  • location(必填):城市名称或城市名称+国家代码(例如,“London”,“Paris,FR”)
  • units(可选):测量单位。选项:“metric”(摄氏度)或“imperial”(华氏度)。默认值:“metric”

示例请求:

{
  "params": {
    "name": "current_weather",
    "arguments": {
      "location": "Tokyo,JP",
      "units": "metric"
    }
  }
}

weather_forecast

获取特定地点的天气预报。

参数:

  • location(必填):城市名称或城市名称+国家代码(例如,“London”,“Paris,FR”)
  • units(可选):测量单位。选项:“metric”(摄氏度)或“imperial”(华氏度)。默认值:“metric”
  • days(可选):预报天数。最大为 5 天。默认值:5

示例请求:

{
  "params": {
    "name": "weather_forecast",
    "arguments": {
      "location": "New York,US",
      "units": "imperial",
      "days": 3
    }
  }
}

在 MCP.so 上托管

要在 MCP.so 上托管此服务器:

  1. 确保您的 GitHub 仓库是公开的,并且具有 MIT、Apache 或类似的许可证
  2. 将您的 MCP 服务器提交给 MCP.so 审核
  3. 一旦通过审核,您的服务器将在 MCP Playground 上可用

许可证

MIT

联系方式

如有关于问题或支持的需求,请在 GitHub 上提出 issue。