天气数据服务

一个基于Model Context Protocol (MCP)的天气数据服务,提供来自美国国家气象局API的天气数据,包括天气预报和天气警报,适用于LLM消费和MCP兼容客户端。

  • by nakamurau1
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 nakamurau1/weather-mcp

使用说明

气象MCP服务器

一种模型上下文协议(MCP)服务器,提供来自美国国家气象局API的天气数据。

特性

  • 按地理坐标获取天气预报
  • 获取美国各州的天气警报
  • 用于LLM消费的干净、格式化的天气数据
  • 与Claude和其他MCP兼容客户端集成

先决条件

  • Node.js(推荐LTS版本)
  • npm或纱线

安装

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

用法

直接运行服务器

npm start

或者直接:

./dist/index.js

连接到克劳德桌面

  1. 编辑您的Claude Desktop配置文件:
# MacOS
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. 添加天气mcp服务器配置:
{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["/absolute/path/to/your/weather-mcp/dist/index.js"]
    }
  }
}
  1. 重新启动克劳德桌面

  2. 使用以下查询测试服务器:

    • “萨克拉门托的天气怎么样?”
    • “德克萨斯州有任何活跃的天气警报吗?”

可用工具

获取预测

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

参数:

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

获取警报

获取美国某个州的活动天气警报。

参数:

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

资源模板

各州天气警报

URI模板: weather://{state}/alerts

例子: weather://CA/alerts

局限性

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

发展

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

许可证

国际协调委员会