MCP韩国天气
提供韩国天气信息的MCP服务器,使用网格坐标和韩国气象厅API,允许用户查询韩国特定地点的当前天气状况和预报。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"Korea Weather": {
"args": [
"--directory",
"/Users/jikime/Dev/py-mcp-ko-weather",
"run",
"src/server.py"
],
"command": "/Users/jikime/Dev/.local/bin/uv"
}
}
}
服务介绍
Python MCP Korea Weather Service
MCP (Model Control Protocol) 服务器提供的韩国气象信息服务。
安装方法
- 克隆此仓库:
git clone https://github.com/jikime/py-mcp-ko-weather.git
cd py-mcp-ko-weather
- 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
- 使用 uv 创建虚拟环境并安装所需的包:
uv venv -p 3.12
source .venv/bin/activate
uv pip install -r requirements.txt
- 在 .env 文件中设置气象局 API 密钥:
cp env.example .env
vi .env
KO_WEATHER_API_KEY=your_api_key_here
- 将 Excel 中的气象局网格坐标数据迁移到 SQLite。
uv run src/migrate.py
气象局 API 密钥获取方法
- 访问 公共数据门户 并注册及登录。
- 搜索 "气象厅_短期预报 ((旧)_地区预报) 查询服务" API 并申请使用。
- 获得批准后,将收到的 API 密钥设置在 .env 文件中。
配置 MCP 工具
打开 ~/Library/Application\ Support/Claude/claude_desktop_config.json 文件,并添加天气服务器。
{
"mcpServers": {
"Korea Weather": {
"command": "/Users/jikime/Dev/.local/bin/uv",
"args": [
"--directory",
"/Users/jikime/Dev/py-mcp-ko-weather",
"run",
"src/server.py"
]
}
}
}
运行方法
- 启动 Claude Desktop 并确认工具是否已添加。
- 在聊天输入框中尝试输入“首尔特别市瑞草区良才1洞的天气如何?”
功能说明
此 MCP 服务器提供以下功能:
工具 (Tools)
-
查询位置坐标 (
get_grid_location)- 描述:查询用于韩国气象厅 API 的网格坐标(nx, ny)。基于用户输入的城市、区县、街道信息,在数据库中搜索该地区的气象厅网格坐标并返回。此工具是获取调用气象厅 API 所需准确坐标值所必需的。
- 参数:
city: 城市名称(例如:"首尔特别市")gu: 区县名称(例如:"瑞草区")dong: 街道名称(例如:"良才1洞")
- 数据从内置的 SQLite 数据库(
data/weather_grid.db)中查询。
-
查询天气预报 (
get_forecast)- 描述:调用韩国气象厅的超短期预报 API 提供特定地区的天气预报信息。基于用户输入的地区信息和网格坐标,查询当前时间点的气象信息。此工具包含详细的气象信息,如温度、降水量、天空状况、湿度、风向、风速等,并提供6小时内的短期预报。
- 参数:
city: 城市名称(例如:"首尔特别市")gu: 区县名称(例如:"瑞草区")dong: 街道名称(例如:"良才1洞")nx: X 网格坐标ny: Y 网格坐标
资源 (Resources)
天气服务使用指南 (weather-instructions)
- URI:
weather-instructions - 描述:详细解释韩国气象服务使用方法的指南。此资源提供了使用服务所需的所有信息,包括工具使用方法、工作流程、响应格式等。它包含了结构化信息,以帮助 LLM 有效地利用天气工具。
提示 (Prompts)
天气信息查询提示 (weather-query)
- 描述:用于查询韩国地区天气信息的交互式提示模板。此提示指导用户与 LLM 之间的结构化对话,提出适当的工具使用顺序和响应格式。它包含了收集用户所需信息以及清晰提供天气预报的方法。
许可证
Apache License 2.0