天气数据服务

一个基于ModelContextProtocol (MCP)的天气服务器,提供美国国家气象局(NWS)的实时天气警报和预报数据。

  • by JohnnieEmmanuel
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 johnnieemmanuel/mcp-weather-server

使用说明

MCP气象服务器

这个项目是 模型上下文协议(MCP) 兼容的天气服务器,从 美国国家气象局(NWS) 并通过MCP将其作为工具公开。它是用 Node.js, TypeScript和官方 @模型上下文协议/sdk.

🔧 特性

  • get-alerts:获取美国任何州的活跃天气警报。
  • get-forecast:获取美国给定纬度和经度的7天天气预报。
  • 用途 fetch 使用自定义标头与NWS API通信。
  • 使用MCP在标准输入/输出(STDIO)传输上运行。

📦 安装

git clone https://github.com/JohnnieEmmanuel/mcp-weather-server.git
cd mcp-weather-server
npm install

🚀 用法

构建项目:

npm run build

运行服务器:

node build/index.js

确保您连接的MCP消费者已设置为使用STDIO传输。

🛠 工具

🔔 get-alerts

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

输入:

{
  "state": "CA"
}

输出(MCP):

  • 总结活动警报的文本块。

🌦 get-forecast

获取给定纬度和经度的天气预报。

输入:

{
  "latitude": 37.7749,
  "longitude": -122.4194
}

输出(MCP):

  • 总结预测期的文本块,包括温度、风和简短描述。

🧱 技术栈

  • Node.js + TypeScript
  • 萨德 用于模式验证
  • 节点获取 对于HTTP请求
  • MCP-SDK 用于服务器集成和传输

📄 许可证

MIT许可证


🧠 鸣谢

建造于 约翰·伊曼纽尔(REDJOHN) 使用ModelContextProtocol SDK。

📢 免责声明

此服务器仅支持 美国地点 因为它使用 api.weather.gov,仅限于美国数据。


✨ 示例

> get-alerts { "state": "TX" }

Active alerts for TX:

Event: Excessive Heat Warning
Area: Central Texas
Severity: Severe
Status: Actual
Headline: Dangerously hot conditions expected
---
...