使用说明
气象MCP服务器
模型上下文协议(MCP)服务器,使用美国国家气象局(NWS)API提供天气警报和预报。
特性
- 天气警报:获取美国任何州的活跃天气警报
- 位置预测:检索特定坐标的详细天气预报
- 实时数据:从官方NWS API获取实时数据
- MCP合规性:与Claude Desktop和其他MCP客户端完全兼容
安装
- 克隆存储库:
git clone https://github.com/MikeySharma/weather-mcp-server.git
cd weather-mcp-server
- 安装依赖项:
npm install
- 构建项目:
npm run build
配置
Claude桌面设置
将以下内容添加到您的Claude Desktop MCP设置中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["/absolute/path/to/weather-mcp-server/build/index.js"],
"env": {
"NODE_ENV": "production"
}
}
}
}
环境变量
服务器使用以下环境变量(可选):
# For debugging
export DEBUG_MCP=true
export NODE_ENV=development
用法
可用工具
1.获取天气警报
get_alerts(state: string)
- 状态:两个字母的美国州代码(例如,“CA”、“NY”、“TX”)
- 退货:指定状态的活动天气警报
2.获取天气预报
get_forecast(latitude: number, longitude: number)
- 纬度:地理纬度(-90至90)
- 经度地理经度(-180至180)
- 退货:该地点的7天天气预报
Claude使用示例
@weather get_alerts(state: "CA")
@weather get_forecast(latitude: 37.7749, longitude: -122.4194)
api参考
美国国家气象局API
此服务器使用官方NWS API:
- 基本URL:
https://api.weather.gov - 速率限制:请遵守速率限制(通常为10个请求/分钟)
- 数据覆盖:仅限美国领土
响应格式
警报响应
{
features: Array<{
properties: {
event: string;
severity: string;
description: string;
instruction: string;
areaDesc: string;
effective: string;
expires: string;
}
}>
}
预测响应
{
properties: {
periods: Array<{
name: string;
temperature: number;
temperatureUnit: string;
windSpeed: string;
windDirection: string;
shortForecast: string;
detailedForecast: string;
}>
}
}
发展
项目结构
weather-mcp-server/
├── src/
│ ├── index.ts # Main server entry point
│ ├── tools/
│ │ └── weather-tools.ts # Tool implementations
│ └── helpers/
│ └── weather-service.helpers.ts # API helpers
├── build/ # Compiled JavaScript
├── package.json
└── tsconfig.json
从源头构建
- 安装TypeScript (如果尚未安装):
npm install -g typescript
- 构建项目:
npm run build
- 手表开发模式:
npm run dev
测试
以独立模式运行服务器进行测试:
npm start
错误处理
该服务器包括全面的错误处理功能,用于:
- 网络超时
- API速率限制
- 坐标无效
- 不支持的位置(非美国)
- 响应格式错误
局限性
- 仅限美国:NWS API仅提供美国领土的数据
- 速率限制:遵守NWS API速率限制(10次请求/分钟)
- 坐标精度:网格点限制为小数点后4位
贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
支持
对于问题和疑问:
- 检查 现有问题
- 创建具有详细描述的新问题
- 包括错误日志和复制步骤
更新日志
v1.0.0
- 具有警报和预测功能的初始版本
- MCP协议合规性
- TypeScript实现
- 全面的错误处理
备注:此服务器需要互联网连接才能从NWS API获取天气数据。