snowprint/weather-briefing-mcp
3.2
If you are the rightful owner of weather-briefing-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Weather Briefing MCP Server is designed to fetch weather briefing information from the China Meteorological Administration.
Tools
3
Resources
0
Prompts
0
Weather Briefing MCP Server
一个用于获取中国气象局天气简报信息的MCP服务器。
功能特性
- 获取当前的台风预警信息(仅在3天内有预警信息发布时返回)
- 获取当前的每日天气公报
- 获取当前的重要天气提示
- 自动将网页内容转换为Markdown格式
- 文件管理(保存在项目 temp 目录,每次执行前清理)
- 自动下载并保存图片到本地
- 智能内容清洗(移除无意义字符、HTML实体等)

数据源
- 中央气象台 nmc.cn
快速开始
一键安装(推荐)
./setup.sh
脚本会自动创建虚拟环境并安装依赖,完成后会显示配置信息。
Cherry Studio 配置
推荐方式(使用启动脚本):
- 命令:
/完整路径/weather-briefing/start-mcp.sh - 参数: 留空
或者直接使用 venv Python:
- 命令:
/完整路径/weather-briefing/venv/bin/python - 参数:
["/完整路径/weather-briefing/wb_mcpserver.py"]
Claude Desktop 配置
推荐方式(使用启动脚本):
{
"mcpServers": {
"weather-briefing": {
"command": "/完整路径/weather-briefing/start-mcp.sh"
}
}
}
或者直接使用 venv Python:
{
"mcpServers": {
"weather-briefing": {
"command": "/完整路径/weather-briefing/venv/bin/python",
"args": ["/完整路径/weather-briefing/wb_mcpserver.py"]
}
}
}
使用方法
配置完成后,在 Cherry Studio 或 Claude Desktop 中可以:
- 询问:"请获取台风预警信息" - 调用
get_typhoon_warning工具 - 询问:"请获取每日天气公报" - 调用
get_daily_weather_briefing工具 - 询问:"请获取重要天气提示" - 调用
get_important_bulletin工具
每个工具都会返回独立的 Markdown 格式内容,包含文字和本地图片。
测试
# 测试核心功能
python3 test_server.py
# 测试完整流程
python3 run_server.py
故障排除
Connection closed 错误
说明依赖未安装或脚本无法执行。解决方案:
- 运行
./setup.sh创建虚拟环境并安装依赖 - 或手动安装:
pip3 install -r requirements.txt
为什么要使用虚拟环境?
- macOS 系统保护了系统 Python,不允许直接安装包
- 虚拟环境是 Python 开发的最佳实践,避免包冲突
- 使用
start-mcp.sh脚本可以简化配置
找不到命令
- 检查路径是否正确(使用绝对路径)
- 确保脚本有执行权限:
chmod +x start-mcp.sh
网络问题
- 确保能够访问中国气象局网站
- 检查防火墙设置
技术细节
可用工具
get_typhoon_warning: 获取台风预警信息(仅返回3天内发布的信息)get_daily_weather_briefing: 获取每日天气公报get_important_bulletin: 获取重要天气提示
特殊处理逻辑
- 台风信息只有在3天内发布时才会返回,避免过时信息
- 文件保存在项目 temp 目录,图片按类型保存在 temp/attachments/{typhoon|daily|bulletin} 目录
- 图片使用 MD5 命名,防止冲突
- 每次执行前会清理 temp 目录,保留最新数据
- 自动提取网页正文内容,过滤导航、广告等无关信息
- 智能清洗 Markdown 内容:
- 替换 HTML 实体(
等) - 移除多余的星号和空白行
- 自动添加标题格式
- 替换 HTML 实体(
文件结构
weather-briefing/
├── wb_mcpserver.py # MCP 服务器主程序
├── start-mcp.sh # 启动脚本(推荐使用)
├── setup.sh # 一键安装脚本
├── requirements.txt # Python 依赖
├── venv/ # 虚拟环境目录
└── temp/ # 临时文件目录
├── typhoon.md # 台风预警 Markdown
├── daily.md # 每日天气公报 Markdown
├── bulletin.md # 重要天气提示 Markdown
└── attachments/ # 图片目录
├── typhoon/ # 台风图片
├── daily/ # 每日天气图片
└── bulletin/ # 重要天气图片
依赖项
- mcp: MCP协议支持
- httpx: HTTP客户端
- beautifulsoup4: HTML解析
- markitdown: HTML到Markdown转换
开发说明
如需修改或扩展功能:
- 修改
WEATHER_SOURCES字典添加新的数据源 - 调整
extract_main_content方法改进内容提取 - 修改
is_typhoon_recent方法调整台风信息的时效性判断 - 调整
clean_markdown方法自定义内容清洗规则