使用说明

项目简介

AEMET-MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在使大型语言模型 (LLM) 能够访问西班牙国家气象局 (AEMET) 的开放数据。通过此 MCP 服务器,LLM 可以查询西班牙各地的天气预报、气象站数据、历史气候数据以及海滩信息,从而增强 LLM 在天气和地理信息方面的应用能力。

主要功能点

  • 获取每日天气预报:查询西班牙特定城市或地区每日天气预报,包括温度、降水概率、风速等信息。
  • 查询气象站数据:获取指定气象站的实时观测数据,例如温度、湿度、风速、气压和降水量等。
  • 获取气象站列表:获取西班牙所有可用气象站的列表。
  • 查询历史气候数据:获取指定气象站特定日期范围内的历史气象数据,包括最高温、最低温、平均温度和降水量等。
  • 获取月度气候数据:检索特定气象站指定年份和月份的月度气候数据汇总。
  • 海滩信息查询
    • 海滩代码解析:通过海滩名称或代码查询海滩的详细信息。
    • 海滩和紫外线指数数据:查询特定海滩的预报信息,包括紫外线指数。支持按海滩名称或代码查询,并可列出特定省份的海滩。

安装步骤

  1. 安装 Python: 确保您的系统已安装 Python 3.10 或更高版本。
  2. 安装 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
  3. 克隆仓库: 将 'aemet-mcp' 仓库克隆到本地:
    git clone https://github.com/AnCode666/aemet-mcp.git
    cd aemet-mcp
  4. 安装依赖: 使用 'uv' 安装项目依赖:
    uv pip install -r requirements.txt
  5. 获取 AEMET API 密钥: 访问 AEMET 开放数据平台 https://opendata.aemet.es/centrodedescargas/altaUsuario 注册并获取免费 API 密钥。
  6. 配置 API 密钥: 在项目根目录下创建 '.env' 文件,并添加您的 API 密钥:
    AEMET_API_KEY=YOUR_AEMET_API_KEY
    将 'YOUR_AEMET_API_KEY' 替换为您实际的 API 密钥。

服务器配置

要将 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