article
README
🚀 韩国天气 MCP 服务器
这是一个使用多平台通信协议(MCP)构建的韩国天气服务器。它允许通过KMA(韩国气象厅)的公开数据接口查询实时天气和超短期天气预报,为用户提供便捷的天气查询服务。
🚀 快速开始
- 配置环境变量,指定KMA API的访问密钥。
- 在主函数中启动服务器:
from server import start_server
if __name__ == "__main__":
start_server()
✨ 主要特性
- 使用网格坐标(nx, ny)检索天气数据
- 提供详细的天气状况,包括温度、降水类型、降水量、天空状况、湿度、风向和风速
- 支持按城市、区和街道级别查询天气信息
- 自动生成易于理解的天气预报格式
📦 安装指南
环境要求
- Python 3.7及以上版本
- 必要的Python依赖项已安装(如requests)
克隆仓库
git clone https://github.com/yourusername/py-mcp-ko-weather.git
cd py-mcp-ko-weather
安装依赖
pip install -r requirements.txt
💻 使用示例
基础用法
# 获取网格坐标
location = get_grid_location("서울특별시", "서초구", "양재1동")
print(location)
# 输出:{'nx': 61, 'ny': 125}
# 获取天气预报
forecast = get_forecast("서울특별시", "서초구", "양재1동", 61, 125)
print(forecast)
高级用法
# 可以根据实际需求,在获取网格坐标和天气预报的基础上,进行更多的处理和分析。
# 例如,将获取到的天气预报信息存储到文件中,或者进行可视化展示。
📚 详细文档
核心API工具
获取网格坐标
def get_grid_location(city: str, gu: str, dong: str) -> dict:
"""
通过指定的行政区域信息获取对应的气象局网格坐标。
Args:
city (str): 市/省名称
gu (str): 区/县名称
dong (str): 街道/镇名称
Returns:
dict: 包含nx和ny坐标的字典,如果未找到则返回空字典
"""
获取天气预报
def get_forecast(city: str, gu: str, dong: str, nx: int, ny: int) -> str:
"""
调用KMA的超短期天气预报API。
Args:
city (str): 市/省名称
gu (str): 区/县名称
dong (str): 街道/镇名称
nx (int): 横坐标
ny (int): 纵坐标
Returns:
str: 天气预报的结构化文本信息
"""
响应格式
天气预报以结构化的文本形式返回,便于LLM处理:
天气预报为: 서울특별시 서초구 양재1동 (坐标: nx=61, ny=125)
日期: 2025-05-01
时间: 15:00
当前状况:
温度: 22.3°C
天空状况: 大部晴朗
降水类型: 无
降水概率: 0%
湿度: 45%
风向: 西北
风速: 2.3 m/s
逐小时预报:
16:00 - 温度: 21.8°C, 天空: 晴朗, 降水: 无
17:00 - 温度: 20.5°C, 天空: 晴朗, 降水: 无
18:00 - 温度: 19.2°C, 天空: 晴朗, 降水: 无
...
📄 许可证
本项目采用 MIT 许可证,具体内容请参阅 LICENSE 文件。
贡献者
- [Your Name] (your.email@example.com)
扫码联系在线客服