Back to MCP directory
publicPublicdnsLocal runtime

weather-mcp-server-zf7

一个基于MCP协议的天气数据服务器,提供美国国家气象局API的天气信息和警报服务,支持与Claude等MCP客户端集成。

article

README

🚀 天气 MCP 服务器

这是一个模型上下文协议 (MCP) 服务器,它能提供来自国家气象局 API 的天气数据,可有效帮助用户获取所需天气信息。

🚀 快速开始

天气 MCP 服务器可提供来自国家气象局 API 的天气数据。在使用前,请确保满足以下先决条件,并按照安装步骤进行操作。

先决条件

  • Node.js(推荐使用 LTS 版本)
  • npm 或 yarn 包管理器

安装步骤

  1. 克隆仓库
git clone https://github.com/nakamurau1/weather-mcp.git
cd weather-mcp
  1. 安装依赖项
npm install
  1. 构建服务器
npm run build

✨ 主要特性

  • 根据地理位置获取天气预报。
  • 根据美国州份获取天气警报。
  • 提供干净、格式化的天气数据供 LLM 使用。
  • 集成与Claude和其他兼容 MCP 的客户端。

💻 使用示例

直接运行服务器

npm start

或直接运行:

./dist/index.js

与 Claude Desktop 连接

  1. 编辑你的 Claude Desktop 配置文件:
# MacOS 系统
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. 添加天气 MCP 服务器配置:
{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["/绝对路径/到你的/weather-mcp/dist/index.js"]
    }
  }
}
  1. 重启 Claude Desktop
  2. 使用以下查询测试服务器:
    • "Sacramento 的天气怎么样?"
    • "Texas 有没有生效的天气警报?"

📚 详细文档

可用工具

get_forecast

获取某个地理位置的天气预报。 参数:

  • latitude: 地点纬度(-90 到 90 之间的数字)
  • longitude: 地点经度(-180 到 180 之间的数字)

get_alerts

获取美国州份的生效天气警报。 参数:

  • state: 美国两个字母的州代码(例如 "CA","NY","TX")

资源模板

按州查询天气警报

URI 模板: weather://{state}/alerts 示例: weather://CA/alerts

限制

  • 天气数据仅限于美国地区(NWS API)。
  • 没有历史天气数据,仅有当前状况和预报。

开发

  • 以开发模式运行: npm run dev
  • 构建项目: npm run build

📄 许可证

ISC

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client