← 返回目录
W

Weather MCP Server

社区
为 Claude Desktop 提供实时天气查询的 MCP 服务器
分类
其他 第 150 / 230
Stars
★ 98 热门
传输方式
stdio(本地进程)
运行环境
Node.js 18+ · Docker
凭据
需要 API Key / 凭据
许可证
MIT
最近提交
⚠
工具数
4
50FMRS · D

该项目是一个功能完整的天气 MCP 服务器,采用 Clean Architecture,提供清晰的工具接口。适合希望在 Claude 中集成天气查询的开发者。

最强项 · 文档质量 12/20 最弱项 · 安全与权限 8/20

可靠性
9/20
安全与权限
8/20
维护活跃度
12/20
文档质量
12/20
安装易用性
9/20
查看各项评分依据
可靠性 9/20
仅基于静态源码与 README,无法验证实际运行。项目展示了清晰的架构、MCP 工具定义和测试配置(Jest),但缺少可复现的测试结果或 CI 日志证据。评分时考虑了以下扣分:未提供实际测试输出,错误处理细节(如 API 超时、重试)不明确。
安全与权限 8/20
源码中未发现恶意代码。凭据通过 .env 管理,README 中的配置示例使用占位符。但可能存在过度获取权限(如下载链接不明确)、依赖外部 API 和 Redis/PostgreSQL 服务,未明确说明数据流或最小权限原则。无确认机制,但操作均只读。
维护活跃度 12/20
仓库有 98 星、MIT 许可证,README 显示活跃开发和 CI/CD 流水线。但静态审查无法验证近期提交或版本发布记录。开放 5 个 issue,未见明确的安全响应渠道。
文档质量 12/20
README 非常详细,涵盖安装、配置、使用示例、故障排除和架构。但缺少工具参数类型/约束的详细说明,且部分文档使用葡萄牙语,可能造成语言障碍。无预算/费用信息。
安装易用性 9/20
README 提供了逐步安装指引,包括 Docker 和 Claude Desktop 配置示例。但需要外部依赖(PostgreSQL、Redis、API 密钥),安装步骤较多,且未提供自动化脚本或主流包管理器安装。

静态评测 · 未实际运行收录于 2026-08-07

查看 FMRS 评分方法 →

选型与风险

能访问什么访问网络连接数据库

适合谁

  • 开发者希望将实时天气数据集成到 Claude Desktop 中
  • 需要缓存以提高查询性能的场景
  • 希望使用干净架构和 SOLID 原则构建 MCP 服务器的开发者

不适合谁

  • 没有 OpenWeatherMap API 密钥的用户
  • 无需缓存或数据库的简单用例
  • 不希望运行 Docker 环境的用户

所需权限

  • 访问 OpenWeatherMap 外部 API
  • 读取/写入 PostgreSQL 数据库(用于存储查询历史)
  • 读写 Redis 缓存
  • 读取环境变量中的 API 密钥

风险与副作用

  • API 密钥泄露风险:如果密钥未安全保管
  • 数据库和 Redis 服务不可用导致查询失败
  • 缓存数据可能过期导致不准确
  • 依赖外部 OpenWeatherMap API,可能有限制或停机

安装接入

准备工作

运行环境:Node.js 18+ · Docker

WEATHER_API_KEY 必填密钥 OpenWeatherMap 的 API 密钥(必填,免费注册获取),在 openweathermap.org/api 申请。
DATABASE_URL 必填 PostgreSQL 连接字符串(必填),用于存储查询历史,由 docker:up 启动的本地数据库提供。
REDIS_URL 必填 Redis 连接地址(必填),用于缓存,由 docker:up 启动的本地 Redis 提供。
其他可选配置项(4 个)
NODE_ENV 可选 运行环境标识,如 production(可选)。
LOG_LEVEL 可选 日志级别,如 error 或 info(可选)。
MCP_MODE 可选 设为 true 以启用 MCP 模式(可选)。
PORT 可选 HTTP 服务端口,默认 3000(可选)。
  1. 克隆仓库: git clone https://github.com/glaucia86/weather-mcp-server.git
  2. 安装依赖: npm install
  3. 复制 .env.example 为 .env 并配置 WEATHER_API_KEY、DATABASE_URL、REDIS_URL
  4. 构建: npm run build
  5. 启动基础设施: npm run docker:up
  6. 配置 Claude Desktop 的 claude_desktop_config.json,添加上述配置。
claude_desktop_config.json
{
  "mcpServers": {
    "weather-mcp": {
      "command": "node",
      "args": [
        "/caminho/completo/para/weather-mcp-server/dist/mcp-entry.js"
      ],
      "env": {
        "WEATHER_API_KEY": "SUA_API_KEY_OPENWEATHERMAP",
        "DATABASE_URL": "postgresql://mcp_user:mcp_pass@localhost:5432/weather_mcp",
        "REDIS_URL": "redis://localhost:6379",
        "NODE_ENV": "production",
        "LOG_LEVEL": "error",
        "MCP_MODE": "true"
      }
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "weather-mcp": {
      "command": "node",
      "args": [
        "/caminho/completo/para/weather-mcp-server/dist/mcp-entry.js"
      ],
      "env": {
        "WEATHER_API_KEY": "SUA_API_KEY_OPENWEATHERMAP",
        "DATABASE_URL": "postgresql://mcp_user:mcp_pass@localhost:5432/weather_mcp",
        "REDIS_URL": "redis://localhost:6379",
        "NODE_ENV": "production",
        "LOG_LEVEL": "error",
        "MCP_MODE": "true"
      }
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add weather-mcp -e WEATHER_API_KEY=SUA_API_KEY_OPENWEATHERMAP -e DATABASE_URL=postgresql://mcp_user:mcp_pass@localhost:5432/weather_mcp -e REDIS_URL=redis://localhost:6379 -e NODE_ENV=production -e LOG_LEVEL=error -e MCP_MODE=true -- node /caminho/completo/para/weather-mcp-server/dist/mcp-entry.js

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

运行 npm run build 并完全重启 Claude Desktop 后,工具列表中应出现 get_current_weather、get_weather_forecast、get_weather_history、get_cache_statistics 四个工具;询问"东京现在的气温是多少?"如能返回实时数据即说明连接成功。

常见排障

  1. 如果遇到 'Cannot find module',执行 rm -rf node_modules package-lock.json; npm cache clean --force; npm install; npm run build
  2. 如果 MCP 不连接 Claude Desktop,检查 claude_desktop_config.json 中的路径是否完整,确认 dist/mcp-entry.js 存在,完全重启 Claude Desktop
  3. 如果 PostgreSQL 连接被拒绝,运行 npm run docker:down 和 npm run docker:up,等待30秒

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • São Paulo 现在的天气怎么样?
  • 伦敦明天的天气预报如何?
  • 给我看最近的天气查询历史
  • 显示 Redis 缓存统计信息

工具能力 4

get_current_weather 只读
获取任何城市的当前天气状况。
get_weather_forecast 只读
获取未来5天的天气预报。
get_weather_history 只读
获取过去的天气查询记录。
get_cache_statistics 只读
获取 Redis 缓存性能统计。

使用场景

实时查询任何城市的当前天气
获取未来5天的天气预报
查看历史天气查询记录
监控系统缓存性能

支持客户端

Claude Desktop

依据项目文档列出,未经本站实测。

详细介绍

Weather MCP Server 是一个使用 TypeScript 实现的 MCP 服务器,遵循 Clean Architecture 和 SOLID 原则。它允许 Claude Desktop 通过 OpenWeatherMap、PostgreSQL 和 Redis 查询实时天气、未来5天预报、查询历史以及缓存统计。

同类可选方案

BioMCP 75 · B

统一的命令行语法,接入约30个可信生物医学数据源。

★ 654 · 工具数 11 与当前对比 →

源版本 25d68abac2b1 数据同步于 2026-10-12 查看 FMRS 评分方法