使用说明
气象MCP服务器
模型上下文协议(MCP)服务器,使用Open-Meteo API提供天气数据。该服务器允许AI助手检索地球上任何位置的当前天气状况和预报。
特性
- 当前天气:获取实时温度、风速、湿度和天气状况
- 天气预报:检索长达7天的每小时预测
- 天气摘要:获取全面的总结,包括当前状况和每日最低/最高温度
- 全球覆盖:适用于全球任何纬度/经度坐标
- 不需要API密钥:使用免费的Open-Meteo API
安装
- 克隆或下载此存储库
- 安装依赖项:
npm install
用法
运行服务器
启动MCP服务器:
npm start
对于自动重启的开发:
npm run dev
使用Docker
您可以使用Docker运行此MCP服务器:
使用Docker Compose(推荐)
- 确保你已经安装了Docker和Docker Compose
- 运行服务器:
docker-compose up -d - 查看日志:
docker logs weather-mcp-server - 停止服务器:
docker-compose down
直接使用Docker
- 构建Docker镜像:
docker build -t weather-mcp-server . - 运行容器:
docker run -d --name weather-mcp-server weather-mcp-server
使用Docker Hub镜像
此服务器也可在Docker Hub上使用:
docker pull jeremymorgan/weather-mcp-server
docker run -d --name weather-mcp-server jeremymorgan/weather-mcp-server
可用工具
服务器提供三个主要工具:
1. get_current_weather
获取特定位置的当前天气数据。
参数:
latitude(数字):位置的纬度longitude(数字):位置的经度
例子:
{
"name": "get_current_weather",
"arguments": {
"latitude": 52.52,
"longitude": 13.41
}
}
2. get_weather_forecast
获取特定位置的每小时天气预报。
参数:
latitude(数字):位置的纬度longitude(数字):位置的经度days(数字,可选):要预测的天数(默认值:7)
例子:
{
"name": "get_weather_forecast",
"arguments": {
"latitude": 52.52,
"longitude": 13.41,
"days": 3
}
}
3. get_weather_summary
获取某个地点的当前天气和今天的预报摘要。
参数:
latitude(数字):位置的纬度longitude(数字):位置的经度
例子:
{
"name": "get_weather_summary",
"arguments": {
"latitude": 52.52,
"longitude": 13.41
}
}
api参考
此服务器使用 开放式API,它提供:
- 温度:2米温度(摄氏度)
- 风速:10米风速(km/h)
- 湿度:相对湿度百分比
- 天气代码:WMO天气条件代码
天气代码
- 0:晴朗的天空
- 1-3:局部多云
- 45、48:有雾
- 51-55:小雨
- 61-65:下雨
- 71-75:雪
- 95:雷暴
配置
服务器配置为使用Open-Meteo API基础URL: https://api.open-meteo.com/v1/forecast
不需要API密钥,因为Open-Meteo是一项免费服务。
错误处理
该服务器包括全面的错误处理功能,用于:
- 缺少必要参数
- API响应无效
- 网络连接问题
- API速率限制
发展
要修改服务器,请执行以下操作:
- 编辑
server.js添加新工具或修改现有工具 - 更新中的工具架构
tools/list处理器 - 使用测试您的更改
npm run dev
许可证
CC0 1.0通用版-可根据需要自由使用和修改。
贡献
欢迎投稿!请随时提交问题和拉取请求。
