天气数据服务

通过OpenWeatherMap API提供全面的天气数据和预测服务,包括实时天气信息、预报、空气质量数据和位置服务。

  • by robertn702
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 robertn702/mcp-openweathermap

使用说明

OpenWeatherMap MCP服务器

模型上下文协议(MCP)服务器,通过OpenWeatherMap API提供全面的天气数据和预报。该服务器使人工智能助手能够访问实时天气信息、预报、空气质量数据和位置服务。

特性

天气工具

  • 当前天气 -获取任何位置的当前状况
  • 天气预报 -5天天气预报,每3小时一次
  • 逐时预报 -长达48小时的详细小时预报
  • 每日预报 -长达8天的每日天气预报,包括温度范围和天文数据
  • 分钟预测 -未来一小时的逐分钟降水预报
  • 天气警报 -具有严重性分类的主动天气预警和警报

空气质量和位置

  • 当前空气污染 -实时空气质量指数和污染物测量
  • 位置信息 -反向地理编码从坐标中获取位置详细信息
  • OneCall天气 -结合多种预报的综合天气数据
  • 空气污染 -历史和预测空气质量数据
  • 地理编码 -将位置名称转换为坐标

安装

先决条件

设置

  1. 克隆存储库:
git clone https://github.com/robertn702/mcp-openweathermap.git
cd mcp-openweathermap
  1. 安装依赖项:
bun install
  1. 设置环境变量:
cp .env.example .env
# Edit .env and add your OpenWeatherMap API key

环境变量:

  • OPENWEATHER_API_KEY -您的OpenWeatherMap API密钥(仅用于stdio传输)
  • PORT -HTTP传输的服务器端口(默认值:3000)
  • MCP_TRANSPORT -运输类型: stdio 或 httpStream (默认值:stdio)
  • MCP_ENDPOINT -HTTP端点路径(默认值:/stream)

用法

运行服务器

标准传输(默认):

bun run src/main.ts

HTTP流传输:

MCP_TRANSPORT=httpStream PORT=3000 bun run src/main.ts

Claude桌面配置

将此配置添加到您的Claude Desktop MCP设置中:

{
  "mcpServers": {
    "openweathermap": {
      "command": "npx",
      "args": ["mcp-openweathermap"],
      "env": {
        "OPENWEATHER_API_KEY": "your-api-key-here"
      }
    }
  }
}

API工具

天气信息

  • get-current-weather -当前天气状况
  • get-weather-forecast -5天预报
  • get-hourly-forecast -每小时预测(最多48小时)
  • get-daily-forecast -每日预报(最多8天)
  • get-minutely-forecast -逐分钟降水

警报和空气质量

  • get-weather-alerts -天气预警和警报
  • get-current-air-pollution -当前空气质量数据
  • get-air-pollution -空气质量预报和历史

定位服务

  • get-location-info -从坐标反向地理编码
  • geocode-location -将地址转换为坐标
  • get-onecall-weather -综合天气数据

发展

在发展中奔跑

bun run src/main.ts

MCP检验员测试

bun run src/main.ts

然后连接MCP检查器以交互方式测试工具。

构建

bun run build

认证

标准运输: 需要 OPENWEATHER_API_KEY 环境变量。

HTTP传输: OpenWeatherMap API密钥作为承载令牌在HTTP请求头中传递。不需要环境变量。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

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

支持