项目简介
AEMET-MCP是一个基于 Model Context Protocol (MCP) 的服务器,它将西班牙国家气象局 (AEMET) 的API功能暴露给兼容MCP的LLM客户端(如Claude桌面版、Cursor等)。它允许LLM通过自然语言交互查询西班牙的实时天气、历史气候数据、海滩状况和紫外线指数等信息。
主要功能点
- 每日天气预报查询: 获取西班牙特定城市的每日天气预报。
- 实时气象观测: 获取气象站的最新实时观测数据(温度、湿度、风速、气压等)。
- 气象站列表: 提供所有可用的西班牙气象站列表及其信息。
- 历史气候数据查询: 查询特定气象站在指定日期范围内的历史日度气候数据。
- 月度气候摘要: 获取气象站的月度气候统计信息(平均温度、总降水、日照时长等)。
- 海滩信息查询: 通过名称或代码查找西班牙海滩的详细信息。
- 海滩天气及UV指数: 查询特定海滩的天气预报和紫外线指数预报。
- API密钥安全管理: 通过环境变量加载AEMET API密钥,增强安全性。
安装步骤
- 安装 Python: 确保你的系统已安装 Python 3.10 或更高版本。
- 安装 'uv' 包管理器: 'uv' 是一个快速的 Python 包管理器,推荐用于安装和运行 AEMET-MCP。
- 在 macOS 和 Linux 上运行:
curl -LsSf https://astral.sh/uv/install.sh | sh - 在 Windows 上运行:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - 你也可以使用 pip 安装:'pip install uv'
- 更多安装信息请参考 uv 官方文档。
- 在 macOS 和 Linux 上运行:
- 获取 AEMET API 密钥: 访问西班牙国家气象局的开放数据平台 https://opendata.aemet.es/centrodedescargas/altaUsuario 注册并获取一个免费的 API 密钥。这是服务器访问气象数据所必需的。
服务器配置
AEMET-MCP服务器通常不是一个独立运行的程序,而是由兼容MCP的LLM客户端根据需要启动和停止的。因此,你需要将服务器的信息添加到你的MCP客户端的配置中。
配置通常位于客户端的开发者或扩展设置中,你需要编辑MCP服务器的配置文件(例如:'claude_desktop_config.json' 或其他客户端的相应文件)。
请参考你的具体MCP客户端文档,找到编辑MCP服务器配置文件的位置和格式。通常,你需要添加一个JSON对象到 MCP 服务器列表(例如 '"mcpServers"')中,包含以下关键信息:
{ "server name": "aemet_mcp_", // 服务器在客户端内的唯一名称,可自定义 "command": "uvx", // 启动服务器的命令,如果使用uv安装,通常是 "uvx" "args": [ // 传递给命令的参数 "aemet_mcp" // 要运行的 Python 模块或脚本名 ], "env": { // 启动服务器进程时设置的环境变量 "AEMET_API_KEY": "YOUR_AEMET_API_KEY" // 替换为你在AEMET网站获取的实际API密钥 } }
请将 '"YOUR_AEMET_API_KEY"' 替换为你实际获取的 API 密钥(保留双引号)。如果你的配置文件中已有其他MCP服务器配置,请使用逗号 ',' 将新的配置块分隔开。
基本使用方法
配置完成后,启动或重启你的MCP客户端。客户端会自动检测并加载配置的MCP服务器。
现在,你可以在与LLM的对话中直接提问与西班牙天气、气候或海滩相关的问题。LLM将识别你的意图并调用 AEMET-MCP 服务器提供的工具来获取信息。
例如,你可以尝试问:
- "What's the weather like in Seville?" (塞维利亚的天气怎么样?)
- "Tell me the radiation levels at Maspalomas beach for tomorrow" (告诉我马斯帕洛马斯海滩明天的辐射水平)
- "Give me the historical rainfall data for Albacete between January 1st, 2020 and February 1st, 2020" (给我阿尔瓦塞特在2020年1月1日到2月1日之间的历史降雨数据)
- "List all beaches in the province of Valencia" (列出巴伦西亚省的所有海滩)
- "Provide the monthly climate summary for station 3195 (Madrid Retiro) for July 2023" (提供3195号气象站(马德里丽池)2023年7月的月度气候摘要)
LLM 会通过 AEMET-MCP 服务器获取数据并将结果呈现给你。
信息
分类
网页与API