内容
# 韩国天气 MCP 服务器
[](https://smithery.ai/server/@jikime/py-mcp-ko-weather)   
本 MCP(多平台通信协议)服务器提供对韩国气象局(KMA)API 的访问,允许 AI 代理检索韩国各地的天气预报信息。
## 概述
- 获取韩国行政区域的精确网格坐标
- 获取韩国任意地点的详细短期天气预报
- 支持韩国所有行政区划(城市、区、社区)
- 结构化文本响应,优化 LLM 消费
- 全面的天气数据,包括温度、降水量、天空状况、湿度、风向和风速
## 目录
- [前提条件](#前提条件)
- [安装](#安装)
- [配置 MCP 设置](#配置MCP设置)
- [API 参考](#API参考)
- [致谢](#致谢)
- [许可证](#许可证)
## 安装
### 前提条件
- Python 3.12+
- 韩国气象局 API 凭证
- 您可以通过在 [公共数据门户](https://www.data.go.kr/) 注册并请求访问“기상청_단기예보 ((구)_동네예보) 조회서비스”API 来获得 API 凭证。
### 安装
1. 克隆仓库:
```bash
git clone https://github.com/jikime/py-mcp-ko-weather.git
cd py-mcp-ko-weather
```
2. 安装 uv:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
3. 创建虚拟环境并安装依赖项:
```bash
uv venv -p 3.12
source .venv/bin/activate
uv pip install -r requirements.txt
```
4. 使用您的 KMA API 凭证创建 `.env` 文件:
```
cp env.example .env
vi .env
KO_WEATHER_API_KEY=您的_API_密钥_在此
```
5. 将网格坐标数据从 Excel 迁移到 SQLite:
```bash
uv run src/migrate.py
```
#### 使用 Docker
1. 构建 Docker 镜像:
```bash
docker build -t py-mcp-ko-weather .
```
2. 运行容器:
```bash
docker run py-mcp-ko-weather
```
#### 在本地运行
1. 运行服务器:
```bash
mcp run src/server.py
```
2. 运行 MCP 检查器:
```bash
mcp dev server.py
```
## 配置 MCP 设置
将服务器配置添加到您的 MCP 设置文件中:
#### 克劳德桌面应用程序
1. 通过 [Smithery](https://smithery.ai/server/@jikime/py-mcp-ko-weather) 自动安装:
```bash
npx -y @smithery/cli install @jikime/py-mcp-ko-weather --client claude
```
2. 手动安装
打开 `~/Library/Application Support/Claude/claude_desktop_config.json`
将以下内容添加到 `mcpServers` 对象:
```json
{
"mcpServers": {
"Google 工具箱": {
"command": "/path/to/bin/uv",
"args": [
"--directory",
"/path/to/py-mcp-ko-weather",
"run",
"src/server.py"
]
}
}
}
```
#### 光标 IDE
打开 `~/.cursor/mcp.json`
将以下内容添加到 `mcpServers` 对象:
```json
{
"mcpServers": {
"Google 工具箱": {
"command": "/path/to/bin/uv",
"args": [
"--directory",
"/path/to/py-mcp-ko-weather",
"run",
"src/server.py"
]
}
}
}
```
#### 对于 Docker
```json
{
"mcpServers": {
"Google 工具箱": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"py-mcp-ko-weather"
]
}
}
}
```
### 与克劳德一起使用
配置完成后,您可以向克劳德提问:
- “서울특별시 서초구 양재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 处理:
```
서울특별시 서초구 양재1동 的天气预报(坐标:nx=61,ny=125)
日期:2025-05-01
时间:15:00
当前状况:
温度:22.3°C
天空状况:大部分晴朗
降水类型:无
降水概率:0%
湿度:45%
风向:西北
风速:2.3 米/秒
每小时预报:
16:00 - 温度:21.8°C,天空:晴朗,降水:无
17:00 - 温度:20.5°C,天空:晴朗,降水:无
18:00 - 温度:19.2°C,天空:晴朗,降水:无
...
```
## 致谢
- [韩国气象局](https://www.kma.go.kr/)
- [公共数据门户](https://www.data.go.kr/)
- [MCP 协议](https://github.com/mcp-foundation/mcp-spec)
## 许可证
本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。