关于 AEMET
AEMET 是面向 AI Agent 和兼容 MCP 的客户端的气象 MCP 服务,通过 AEMET 官方 OpenData API 提供西班牙天气数据。它提供市镇预报、气象站观测和天气预警查询。
主要功能
- 01查询最多 7 天的市镇预报
- 02获取气象站逐小时观测
- 03查询地区或全国天气预警
- 04返回 AEMET OpenData 数据
适用场景
- 01查看西班牙市镇天气预报
- 02检查气象站近期观测数据
- 03查询某地区的有效预警
MCP 相关
它通过 stdio 向 MCP 客户端公开三个工具:市镇预报、气象站观测和天气预警查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| municipioCode | string | 是 | INE 市镇代码(5 位数字),例如马德里的 28079。可在 https://www.ine.es/daco/daco42/codmun/codmunmapa.htm 查询。 |
详细介绍
aemet-mcp
MCP 服务通过 AEMET(西班牙国家气象局)的公开天气数据,为 AI Agent 和兼容 MCP 的客户端提供服务。
包含三个类型定义完善的工具,由 AEMET 官方 OpenData API 提供支持:
get_municipality_forecast— 根据 INE 代码查询西班牙某个市镇未来最多 7 天的逐日预报。get_station_observation— 查询某个气象站最近约 12 小时的逐小时观测数据(温度、风、降水……)。get_weather_warnings— 查询某个地区或整个西班牙的有效天气预警(CAP 警报)。
前提条件
- Node.js 20+
- 免费的 AEMET OpenData API 密钥:请通过以下地址申请 https://opendata.aemet.es/centrodedescargas/altaUsuario
安装
无需安装,可直接使用 npx 运行:
npx -y @mmillan76/aemet-mcp
服务通过 stdio 通信,因此它是为 MCP 客户端启动而设计的,而非在终端中独立运行。
配置
服务从 AEMET_API_KEY 环境变量读取 API 密钥。如果启动时未设置该变量,服务会报错退出。
Claude Desktop / Claude Code
将以下内容添加到 MCP 客户端配置中(例如 claude_desktop_config.json):
{
"mcpServers": {
"aemet": {
"command": "npx",
"args": ["-y", "@mmillan76/aemet-mcp"],
"env": {
"AEMET_API_KEY": "your-api-key-here"
}
}
}
}
其他支持 stdio 服务的 MCP 客户端也可以采用相同方式配置——在环境中设置 AEMET_API_KEY,并将服务指向 npx -y @mmillan76/aemet-mcp。
本地开发
git clone https://github.com/mmillan76/aemet-mcp.git
cd aemet-mcp
npm install
cp .env.example .env # fill in AEMET_API_KEY
npm run build
使用 MCP Inspector 交互式测试工具调用:
npx @modelcontextprotocol/inspector node dist/index.js
(Inspector 会从 shell 环境读取 AEMET_API_KEY,因此请在运行上述命令前导出该变量,或加载 .env)
AEMET API 说明
AEMET OpenData 的每个端点都采用两步请求模式:首次请求会返回包含 datos URL 的 JSON 信封,而不是实际数据;向该 URL 发起第二次请求才会返回真正的数据。本服务会隐藏这一细节——工具只返回最终数据。速率限制按 API 密钥计算;如果触发限制,工具会返回明确的错误,而不会静默重试。
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。