韩国天气数据服务

提供韩国气象厅API访问的多平台通信协议服务器,支持获取韩国各地的天气预报信息。

  • by jikime
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 jikime/py-mcp-ko-weather

使用说明

韩国气象MCP服务器

此MCP(多平台通信协议)服务器提供对韩国气象局(KMA)API的访问,允许AI代理检索韩国各地的天气预报信息。

概述

  • 检索韩国行政区域的精确网格坐标
  • 获取韩国任何地点的详细短期天气预报
  • 支持韩国所有行政区划(市、区、社区)
  • 针对LLM消费优化的结构化文本响应
  • 包括温度、降水、天空状况、湿度、风向和风速在内的综合天气数据

目录

设置

先决条件

  • Python 3.12+
  • 韩国气象局API证书
  • 您可以通过在 公共数据门户 and requesting access to the“气象厅_短期预报(区)_小区预报)查询服务”API。

安装

  1. 克隆存储库:
git clone https://github.com/jikime/py-mcp-ko-weather.git
cd py-mcp-ko-weather
  1. 紫外线装置
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 创建虚拟环境并安装依赖项:
uv venv -p 3.12
source .venv/bin/activate
uv pip install -r requirements.txt
  1. 创建一个 .env 使用您的KMA API凭据文件:
cp env.example .env
vi .env

KO_WEATHER_API_KEY=your_api_key_here
  1. 将网格坐标数据从Excel迁移到SQLite:
uv run src/migrate.py

使用Docker

  1. 构建Docker镜像:
docker build -t py-mcp-ko-weather .
  1. 运行容器:
docker run py-mcp-ko-weather

使用本地

  1. 运行服务器:
mcp run src/server.py
  1. 运行MCP检查器
mcp dev server.py

配置MCP设置

将服务器配置添加到MCP设置文件中:

Claude桌面应用程序

  1. 通过自动安装 史密瑟里:
npx -y @smithery/cli install @jikime/py-mcp-ko-weather --client claude
  1. 手动安装 打开 ~/Library/Application Support/Claude/claude_desktop_config.json

将此添加到 mcpServers 对象:

{
  "mcpServers": {
    "Google Toolbox": {
      "command": "/path/to/bin/uv",
      "args": [
        "--directory",
        "/path/to/py-mcp-ko-weather",
        "run",
        "src/server.py"
      ]
    }
  }
}

光标IDE

打开 ~/.cursor/mcp.json

将此添加到 mcpServers 对象:

{
  "mcpServers": {
    "Google Toolbox": {
      "command": "/path/to/bin/uv",
      "args": [
        "--directory",
        "/path/to/py-mcp-ko-weather",
        "run",
        "src/server.py"
      ]
    }
  }
}

Docker

{
  "mcpServers": {
    "Google Toolbox": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "py-mcp-ko-weather"
      ]
    }
  }
}

与克劳德一起使用

配置后,您可以向Claude提出以下问题:

  • “首尔特别市瑞草区良才1洞的天气怎么样?”
  • “告诉我釜山广域市海云台区乌冬的天气预报”
  • “京畿道城南市盆唐区现在的气温是?”

api参考

工具

获取网格位置

get_grid_location(city: str, gu: str, dong: str) -> dict

检索韩国气象局API为指定位置使用的网格坐标(nx,ny)。 此工具根据城市/省、区/县和邻里/城镇信息在数据库中搜索精确坐标。

获取预测

get_forecast(city: str, gu: str, dong: str, nx: int, ny: int) -> str

调用KMA的超短期预报API,以提供特定位置的天气预报信息。 返回全面的天气数据,包括温度、降水、天空状况、湿度、风向和风速。

资源

天气说明

GET weather://instructions

提供有关如何使用韩国气象MCP服务器的详细文档,包括工具工作流程和响应格式。

鼓励

天气查询

该服务器包括一个结构化的提示模板,用于指导有关天气查询的对话,确保高效的信息收集和清晰的预报数据呈现。

响应格式

天气预报响应以结构化文本格式提供,针对LLM处理进行了优化:

Weather forecast for 서울특별시 서초구 양재1동 (coordinates: nx=61, ny=125)
Date: 2025-05-01
Time: 15:00

Current conditions:
Temperature: 22.3°C
Sky condition: Mostly clear
Precipitation type: None
Precipitation probability: 0%
Humidity: 45%
Wind direction: Northwest
Wind speed: 2.3 m/s

Hourly forecast:
16:00 - Temperature: 21.8°C, Sky: Clear, Precipitation: None
17:00 - Temperature: 20.5°C, Sky: Clear, Precipitation: None
18:00 - Temperature: 19.2°C, Sky: Clear, Precipitation: None
...

致谢

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。