使用说明
气象MCP服务器
模型上下文协议(MCP)服务器,使用美国国家气象局(NWS)API提供天气信息和警报。该服务器使人工智能助手能够访问美国各地的实时天气数据。
特性
- 天气预报:使用纬度/经度坐标获取美国任何地点的详细天气预报
- 天气警报:检索美国任何州的活动天气警报
- NWS集成:使用官方国家气象局API获取可靠的最新天气数据
- MCP兼容:适用于任何兼容MCP的AI助手或应用程序
可用工具
get_forecast
获取特定位置的天气预报。
参数:
latitude(数字):位置的纬度(-90到90)longitude(数字):位置的经度(-180到180)
退货: 详细的天气预报,包括温度、风况和多个时期的天气描述。
get_alerts
获取美国某个州的活跃天气警报。
参数:
state(string):两个字母的状态码(例如,“CA”、“NY”、“TX”)
退货: 活动天气警报列表,包括严重程度、受影响区域和描述。
先决条件
- Node.js(版本14或更高)
- npm或纱线
- 与MCP兼容的客户端(如带有GitHub Copilot的VS Code)
安装
-
克隆存储库:
git clone <repository-url> cd weather-mcp-server -
安装依赖项:
npm install
构建服务器
将TypeScript代码构建为JavaScript:
npm run build
这将:
- 编译TypeScript文件
src/向build/ - 使主可执行文件可执行(
chmod 755 build/index.js)
使用VS Code GitHub Copilot
要将此天气MCP服务器与VS Code GitHub Copilot一起使用,您需要更新MCP配置:
步骤1:更新MCP配置
编辑您的 mcp.json 文件(通常位于您的VS Code设置目录中)并添加天气服务器:
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["/Users/gshanka/Documents/ReactDev/weather-mcp-server/build/index.js"]
}
}
}
注: 替换中的路径 args 与您的建筑绝对路径 index.js 文件。
步骤2:重新启动VS代码
更新配置后,重新启动VS Code以加载新的MCP服务器。
第三步:使用天气工具
配置后,您可以向GitHub Copilot询问天气信息:
- “旧金山的天气预报是什么?”(Copilot会询问坐标,或者你可以提供:纬度37.7749,经度-122.4194)
- “加利福尼亚州有天气警报吗?”(使用州代码“CA”)
- “给我纬度40.7128,经度-74.0060的天气预报”(纽约市)
示例用法
获取天气预报
User: "What's the weather forecast for Seattle?"
Assistant: I'll get the weather forecast for Seattle (latitude: 47.6062, longitude: -122.3321).
[The server will return a detailed forecast with temperature, wind, and conditions for multiple periods]
获取天气警报
User: "Are there any weather alerts in Florida?"
Assistant: I'll check for weather alerts in Florida.
[The server will return any active weather alerts for the state of FL]
发展
项目结构
weather-mcp-server/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── weather-utils.ts # Weather API utilities and types
├── build/ # Compiled JavaScript output
├── package.json
├── tsconfig.json
└── README.md
在发展中奔跑
# Build and run
npm run build
node build/index.js
调试
服务器会将错误记录到stderr中,您可以在直接运行服务器或检查MCP客户端的日志时监视stderr。
API限制
- 仅限美国:美国国家气象局API仅提供美国地区的数据
- 速率限制:NWS API有费率限制;避免提出过多的要求
- 数据可用性:一些偏远或海上地点可能没有可用的预测数据
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 构建和测试服务器
- 提交拉取请求
许可证
ISC许可证-详见package.json。
故障排除
服务器未加载
- 确保路径
mcp.json指向正确build/index.js文件 - 验证服务器是否已成功构建
npm run build - 检查VS Code的MCP日志中的错误消息
无天气数据
- 验证您使用的是有效的美国坐标
- 检查是否可以从您的网络访问NWS API
- 确保您使用有效的两个字母的州代码进行警报
权限错误
- 确保
build/index.js文件是可执行的 - 构建脚本应通过以下方式自动处理此问题
chmod 755