使用说明
项目简介
AEMET-MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使大型语言模型 (LLM) 能够访问西班牙国家气象局 (AEMET) 的开放数据。通过此 MCP 服务器,LLM 可以查询西班牙各地的天气预报、气象站数据、历史气候数据以及海滩信息,从而增强 LLM 在天气和地理信息方面的应用能力。
主要功能点
- 获取每日天气预报:查询西班牙特定城市或地区每日天气预报,包括温度、降水概率、风速等信息。
- 查询气象站数据:获取指定气象站的实时观测数据,例如温度、湿度、风速、气压和降水量等。
- 获取气象站列表:获取西班牙所有可用气象站的列表。
- 查询历史气候数据:获取指定气象站特定日期范围内的历史气象数据,包括最高温、最低温、平均温度和降水量等。
- 获取月度气候数据:检索特定气象站指定年份和月份的月度气候数据汇总。
- 海滩信息查询:
- 海滩代码解析:通过海滩名称或代码查询海滩的详细信息。
- 海滩和紫外线指数数据:查询特定海滩的预报信息,包括紫外线指数。支持按海滩名称或代码查询,并可列出特定省份的海滩。
安装步骤
- 安装 Python: 确保您的系统已安装 Python 3.10 或更高版本。
- 安装 uv 包管理器: 推荐使用 'uv' 包管理器来安装依赖。根据您的操作系统,选择以下命令安装 'uv':
- 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
- macOS 和 Linux:
- 克隆仓库: 将 'aemet-mcp' 仓库克隆到本地:
git clone https://github.com/AnCode666/aemet-mcp.git cd aemet-mcp - 安装依赖: 使用 'uv' 安装项目依赖:
uv pip install -r requirements.txt - 获取 AEMET API 密钥: 访问 AEMET 开放数据平台 https://opendata.aemet.es/centrodedescargas/altaUsuario 注册并获取免费 API 密钥。
- 配置 API 密钥: 在项目根目录下创建 '.env' 文件,并添加您的 API 密钥:
将 'YOUR_AEMET_API_KEY' 替换为您实际的 API 密钥。AEMET_API_KEY=YOUR_AEMET_API_KEY
服务器配置
要将 AEMET-MCP 服务器添加到 MCP 客户端(例如 Claude for Desktop, Cursor, CODEGPT, Roo Code),您需要在客户端的 MCP 服务器配置中添加以下 JSON 代码块。以 Claude for Desktop 为例,您需要编辑 'claude_desktop_config.json' 文件,在 '"mcpServers"' 部分添加配置:
"aemet_mcp_": { "command": "uvx", "args": [ "aemet_mcp" ], "env": { "AEMET_API_KEY": "YOUR_AEMET_API_KEY" } }
配置参数说明:
- '"aemet_mcp_"': 服务器名称,在客户端配置中用于标识该服务器,可以自定义。
- '"command": "uvx"': 指定启动服务器的命令为 'uvx','uvx' 可以运行 Python 包。
- '"args": ["aemet_mcp"]': 指定传递给 'uvx' 的参数,这里 'aemet_mcp' 指的是要运行的 Python 包名称,该包中定义了服务器的入口点。
- '"env": { "AEMET_API_KEY": "YOUR_AEMET_API_KEY" }': 设置环境变量,'AEMET_API_KEY' 用于传递您的 AEMET API 密钥。请务必将 '"YOUR_AEMET_API_KEY"' 替换为您在 AEMET 开放数据平台申请的实际 API 密钥。
注意: 如果您已经配置了其他 MCP 服务器,请使用逗号 ',' 分隔不同的服务器配置块。
基本使用方法
配置完成后,您可以在 MCP 客户端中通过自然语言指令调用 AEMET-MCP 服务器的功能。以下是一些使用示例:
- 查询塞维利亚的天气: 'What's the weather like in Seville?'
- 查询马斯帕洛马斯海滩明天的辐射水平: 'Tell me the radiation levels at Maspalomas beach for tomorrow'
- 获取阿尔瓦塞特在 2020 年 1 月 1 日至 2020 年 2 月 1 日期间的历史降雨数据: 'Give me the historical rainfall data for Albacete between January 1st, 2020 and February 1st, 2020'
根据您使用的 MCP 客户端的具体指令方式,您可以灵活地与 AEMET-MCP 服务器进行交互,获取所需的天气信息。
信息
分类
网页与API