使用说明
MCP气象服务器
具有Express HTTP端点的模型上下文协议(MCP)服务器,使用美国国家气象局(NWS)API提供天气数据。
特性
- HTTP API:天气数据的RESTful端点
- MCP服务器:用于AI集成的模型上下文协议服务器
- MCP资源:直接获取天气数据作为资源
- 天气警报:获取美国任何州的活跃天气警报
- 天气预报:获取美国任何地点的详细天气预报
安装
- 安装依赖项:
npm install
用法
运行服务器
npm start
服务器同时运行以下两项:
- 快速HTTP服务器 在端口3000(或port环境变量)上
- MCP服务器 用于AI客户端连接的stdio
HTTP API终结点
健康检查
GET /health
返回服务器状态。
获取天气警报
GET /alerts/:state
获取美国特定州的天气警报。
例子:
curl http://localhost:3000/alerts/CA
获取天气预报
GET /forecast?latitude=40.7128&longitude=-74.0060
获取坐标的天气预报。
例子:
curl "http://localhost:3000/forecast?latitude=40.7128&longitude=-74.0060"
MCP工具
获取警报
获取美国特定州的天气警报。
参数:
state(string):两个字母的状态码(例如,“CA”、“NY”、“TX”)
获取预报
使用坐标获取特定位置的天气预报。
参数:
latitude(数字):位置的纬度(-90到90)longitude(数字):位置的经度(-180到180)
MCP资源
气象数据
直接将天气数据作为资源访问。
URI格式:
- 警报:
weather-data?type=alerts&state=CA - 预测:
weather-data?type=forecast&latitude=40.7128&longitude=-74.0060
例子:
// Get alerts for California
const alertsResource = await client.readResource("weather-data?type=alerts&state=CA");
// Get forecast for New York City
const forecastResource = await client.readResource("weather-data?type=forecast&latitude=40.7128&longitude=-74.0060");
api信息
此服务器使用美国国家气象局(NWS)API,该API:
- 仅支持美国境内的地点
- 提供免费天气数据
- 使用GeoJSON格式进行响应
错误处理
该服务器包括全面的错误处理功能,用于:
- 网络故障
- 坐标无效
- 不支持的位置
- API费率限制
依赖项
@modelcontextprotocol/sdk:用于服务器实现的MCP SDKzod:工具参数的模式验证express:HTTP服务器框架
许可证
麻省理工学院