Provides weather query functionality using Baidu Maps API, enabling real-time weather data retrieval, 5-day forecasts, hourly predictions, weather alerts, and lifestyle indices for locations specified by administrative district codes or geographic coordinates
天气查询MCP服务器
基于百度地图API提供天气查询功能的MCP(Model Context Protocol)工具。
服务配置
环境变量配置: 请在系统环境变量中设置:
功能特性
🌤️ 实时天气查询 - 获取当前天气状况、温度、湿度、风向等信息
📅 天气预报 - 提供未来5天的详细天气预报
📊 生活指数 - 包含晨练、洗车、感冒、紫外线、穿衣、运动等生活指数
⚠️ 气象预警 - 实时获取气象预警信息
⏰ 逐小时预报 - 24小时逐小时天气预报
🗺️ 多种查询方式 - 支持行政区划代码和经纬度坐标查询
安装依赖
配置
设置系统环境变量:
Windows:
Linux/macOS:
或者在系统环境变量中永久设置 BAIDU_AK。
获取百度地图API密钥
访问 百度地图开放平台
注册并登录账号
创建应用并获取AK(API Key)
确保开通天气服务权限
使用方法
启动MCP服务器
工具说明
get_weather
获取指定地区的天气信息,支持多种数据类型和查询方式。
参数:
district_id(可选): 区县的行政区划编码,例如:'110101'(北京东城区)location(可选): 经纬度坐标,格式:'经度,纬度',例如:'116.404,39.915'data_type(可选): 请求数据类型now: 实时天气fc: 天气预报index: 生活指数alert: 气象预警fc_hour: 逐小时预报all: 所有数据(默认)
coordtype(可选): 坐标类型,仅在使用location时有效wgs84: WGS84坐标系(默认)bd09ll: 百度经纬度坐标系bd09mc: 百度墨卡托坐标系gcj02: 国测局坐标系
注意: district_id 和 location 必须提供其中一个。
使用示例
1. 使用行政区划代码查询北京东城区天气
2. 使用经纬度查询天安门广场天气
3. 只查询实时天气
测试
测试百度地图API连接
测试MCP服务器功能
项目结构
常见问题
Q: 如何获取行政区划代码?
A: 行政区划代码是中国标准的区县编码。常见的代码包括:
110101: 北京市东城区
110102: 北京市西城区
310101: 上海市黄浦区
440101: 广州市荔湾区
您可以通过百度地图API的其他接口或相关文档获取完整的行政区划代码列表。
Q: 支持哪些坐标系?
A: 支持以下坐标系:
WGS84: 国际标准坐标系
BD09LL: 百度经纬度坐标系
BD09MC: 百度墨卡托坐标系
GCJ02: 国测局坐标系(火星坐标系)
Q: API调用频率限制?
A: 请参考百度地图开放平台的API调用频率限制说明。建议合理使用API,避免频繁调用。
MCP服务配置
本地使用配置
托管部署配置
注意:使用前请确保已在系统环境变量中设置 BAIDU_AK。
许可证
MIT License
贡献
欢迎提交Issue和Pull Request来改进这个项目!