🌤️ Windy MCP服务器
 ](https://nodejs.org/) 
将人工智能助手连接到Windy.com的实时天气数据
概述
这 Windy MCP服务器 是一个 模型上下文协议(MCP) 服务器,将人工智能助手和来自 Windy.com.MCP是一种开放协议,可实现AI应用程序(如Claude Desktop)和外部数据源之间的无缝集成。
该服务器使AI助手能够:
- 获取全球任何地点的详细天气预报
- 探索附近的网络摄像头,进行视觉天气验证
- 使用自定义图层生成可共享的Windy.com地图链接
使用案例:
- 克劳德桌面版:通过实时天气洞察增强对话
- AI自动化:构建感知天气的工作流程和决策系统
- 聊天机器人:将实时天气数据集成到客户支持或旅行机器人中
- 私人助理:制定基于天气的任务计划和建议
特性
🎯 get_point_forecast
精确灵活地获取任何坐标的详细天气预报。
能力:
- 温度:当前和预测温度数据
- 风:速度、方向和阵风-非常适合水手、飞行员和户外爱好者
- 降水:雨、雪和降水概率
- 压力:用于天气模式分析的大气压力读数
- 多种预测模型:从GFS、ECMWF、ICON-EU等中选择,以获得不同的精度级别和更新频率
📷 get_webcams
发现任何位置附近的网络摄像头,以进行视觉天气验证和实时状况。
能力:
- 基于位置的搜索:查找指定半径内的网络摄像头
- 目视验证:非常适合确认实际天气状况
- 网络摄像头元数据:访问网络摄像头的详细信息、标题和位置
- 图像URL:指向当前网络摄像头图像的直接链接
🗺️ get_map_link
生成具有可自定义视图的可共享Windy.com地图URL。
能力:
- 可自定义图层:风、雨、温度、云、波浪等
- 缩放配置:根据您的需求设置完美的缩放级别(1-19)
- 中心点:将地图聚焦在任何坐标上
- 即时分享:创建链接以与他人共享天气可视化
快速开始
按照以下步骤启动并运行Windy MCP服务器:
# Clone the repository
git clone https://github.com/tradmangh/at-xpo-windy-mcpserver.git
cd at-xpo-windy-mcpserver
# Install dependencies
npm install
# Set up your API key
cp .env.example .env
# Edit .env and add your WINDY_API_KEY
# Build the server
npm run build
# Start the server
npm start配置
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
WINDY_API_KEY | 是 | 您的Windy.com API密钥。从以下位置获取一个 api.windy.com |
获取Windy API密钥
- 访问 https://api.windy.com/
- 创建帐户或登录
- 导航到API密钥部分
- 为应用程序生成新的API密钥
- 复制密钥并将其添加到您的
.env文件
集成示例
Claude桌面配置
要将此MCP服务器与Claude Desktop一起使用,请将以下配置添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"windy": {
"command": "node",
"args": ["/absolute/path/to/at-xpo-windy-mcpserver/build/index.js"],
"env": {
"WINDY_API_KEY": "your-api-key-here"
}
}
}
}替换 /absolute/path/to/at-xpo-windy-mcpserver 使用克隆存储库的实际路径,以及 your-api-key-here 使用您的实际Windy.com API密钥。
AI助手提示示例
配置后,您可以使用自然语言提示,如:
- “明天诺伊塞德尔湖的风力预报是什么?”
- “查找奥地利波德斯多夫附近的网络摄像头”
- “给我看看西班牙塔里法未来3天的温度预报”
- “使用风覆盖为塔里法的风筝冲浪条件生成风地图链接”
- “坐标47.8095,16.7644处的天气怎么样?”
- “金门大桥附近有网络摄像头吗?”
API 参考
get_point_forecast
检索特定坐标的天气预报数据。
输入参数:
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
lat | number | 是 | - | 纬度(-90到90) |
lon | 数字 | 是 | - | 经度(-180到180) |
model | string | 否 | "gfs" | 预测模型: gfs, ecmwf, iconEu等等。 |
parameters | 数组 | 否 | ["temp", "wind", "rain", "clouds"] | 要获取的天气参数 |
levels | 数组 | 否 | ["surface"] | 大气水平: surface, 850h等等。 |
请求示例:
{
"lat": 47.8095,
"lon": 16.7644,
"model": "gfs",
"parameters": ["temp", "wind", "rain"],
"levels": ["surface"]
}示例响应:
{
"lat": 47.8095,
"lon": 16.7644,
"model": "gfs",
"parameters": {
"temp": [15, 16, 17, ...],
"wind": [5.2, 6.1, 7.3, ...],
"rain": [0, 0, 0.5, ...]
},
"ts": [1234567890, 1234571490, ...]
}get_webcams
查找特定位置附近的网络摄像头。
输入参数:
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
lat | number | 是 | - | 纬度(-90到90) |
lon | 数字 | 是 | - | 经度(-180到180) |
radius | 编号 | 否 | 30 | 搜索半径(公里) |
请求示例:
{
"lat": 47.8095,
"lon": 16.7644,
"radius": 50
}示例响应:
{
"result": {
"total": 5,
"webcams": [
{
"id": "1234567890",
"title": "Podersdorf Beach",
"location": {
"latitude": 47.8123,
"longitude": 16.7701
},
"image": {
"current": "https://..."
}
}
]
}
}get_map_link
生成可共享的Windy.com地图URL。
输入参数:
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
lat | number | 是 | - | 纬度(-90到90) |
lon | 数字 | 是 | - | 经度(-180到180) |
zoom | 编号 | 否 | 10 | 缩放级别(1-19) |
layer | string | 否 | "wind" | 地图图层: wind, rain, temp, clouds, waves等等。 |
请求示例:
{
"lat": 47.8095,
"lon": 16.7644,
"zoom": 12,
"layer": "wind"
}示例响应:
Windy Map URL: https://www.windy.com/?wind,47.8095,16.7644,12发展
先决条件
- Node.js:版本18或更高版本
- npm:附带Node.js
- Windy.com API密钥:访问天气数据所需
开发设置
# Install dependencies
npm install
# Run in development mode (with ts-node)
npm run dev
# Build TypeScript to JavaScript
npm run build
# Run the built server
npm start
# Run tests (when available)
npm test项目结构
at-xpo-windy-mcpserver/
├── src/
│ ├── index.ts # Main server entry point
│ ├── tools.ts # Tool definitions and handlers
│ └── *.test.ts # Test files
├── build/ # Compiled JavaScript output
├── .env.example # Environment variable template
├── package.json # Node.js dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file相关项目
🌐 windy.at -一个配套的门户网站,为风帆冲浪者、风筝爱好者、水手和户外爱好者提供量身定制的天气预报。访问 windy.at 探索全球各地的天气状况、预报和现场信息。非常适合规划您的下一次水上或山上冒险!
贡献
我们欢迎捐款!无论是错误报告、功能请求、文档改进还是代码贡献,您的输入都是有价值的。
如何做出贡献
- 报告问题:使用 报告错误或请求功能的页面
- 提交拉取请求:分叉存储库,进行更改,并提交PR
- 改进文档:通过提交更正或补充来帮助我们改进文档
- 分享反馈:让我们知道您是如何使用Windy MCP服务器的
有关详细的贡献指南,请参阅 贡献.md.
许可证
该项目根据 GNU Affero通用公共许可证v3.0(AGPL-3.0).
这意味着:
- ✅ 您可以将此软件用于任何目的
- ✅ 您可以修改软件
- ✅ 您可以分发该软件
- ✅ 您可以私下使用该软件
- ⚠️ 如果在服务器上运行修改后的版本,则必须向用户提供源代码
看 许可证 获取完整的许可证文本。
致谢
______________________________________________________________________
有问题或需要帮助? 打开一个问题 或查看 Windy API文件.
