使用说明
气象MCP服务器
模型上下文协议(MCP)服务器,使用美国国家气象局API提供天气数据。此服务器支持stdio(本地)和HTTP(远程)传输。
特性
- 获取预测:使用纬度/经度获取美国任何地点的天气预报
- 获取警报:使用2个字母的州代码获取美国任何州的活动天气警报
快速开始
地方发展
- 安装依赖项:
npm install
- 构建项目:
npm run build
- 启动HTTP服务器:
npm run start:http
服务器将在上运行 http://localhost:3001
测试服务器
测试运行状况端点:
curl http://localhost:3001/health
测试预测工具:
curl -X POST http://localhost:3001/mcp/call \
-H "Content-Type: application/json" \
-d '{"tool":"get_forecast","params":{"latitude":40.7128,"longitude":-74.0060}}'
测试警报工具:
curl -X POST http://localhost:3001/mcp/call \
-H "Content-Type: application/json" \
-d '{"tool":"get_alerts","params":{"state":"CA"}}'
连接到thesys.dev
要将此MCP服务器连接到thesys.dev,请执行以下操作:
-
部署服务器 指向可公开访问的URL(例如,Railway、Render、Vercel等)
-
添加到thesys.dev 使用这些设置:
- 名字:
Weather MCP Server - 统一资源定位符:
https://your-deployed-server.com(您的实际部署URL) - 传输类型:
Streamable HTTP(非苏格兰和南方能源公司) - 承载令牌:留空(可选)
- 描述:
Weather data from National Weather Service API
- 名字:
-
可用端点 您部署的服务器将提供:
GET /health-健康检查GET /mcp/info-服务器信息GET /mcp/tools-可用工具列表POST /mcp/call-执行工具
部署选项
方案1:铁路
- 将您的GitHub存储库连接到Railway
- Railway将自动检测Node.js项目
- 设置环境变量
PORT(铁路自动提供此功能) - 部署和使用提供的URL
选项2:渲染(推荐)
- 在Render上创建新的Web服务
- 连接您的GitHub存储库:
https://github.com/x8yuv/MCPServer.git - 使用这些 精确 设置:
- 生成命令:
npm install && npm run build - 启动命令:
npm start(现在运行HTTP服务器) - 环境:添加
NODE_ENV=production
- 生成命令:
- 部署和使用提供的
.onrender.com统一资源定位符
重要:默认值 npm start 现在运行HTTP服务器(build/index.http.js),而不是stdio服务器。
选项3:Vercel
- 安装Vercel CLI:
npm i -g vercel - 跑
vercel在您的项目目录中 - 按照提示进行部署
- 使用提供的URL
API 参考
工具
获取预测
获取某个地点的天气预报。
参数:
latitude(数字):纬度(-90到90)longitude(数字):经度(-180到180)
例子:
{
"tool": "get_forecast",
"params": {
"latitude": 40.7128,
"longitude": -74.0060
}
}
获取警报
获取一个州的天气警报。
参数:
state(string):两个字母的州代码(例如“CA”、“NY”)
例子:
{
"tool": "get_alerts",
"params": {
"state": "CA"
}
}
错误处理
服务器包括全面的错误处理:
- 使用Zod模式进行参数验证
- 带有适当状态代码的HTTP错误响应
- 调试的详细错误消息
CORS配置
服务器配置了允许使用thesys.dev的CORS设置:
- 产地:
*(允许所有来源) - 方法:
GET,POST,OPTIONS - 标题:
Content-Type,Authorization,X-Requested-With
数据源
此服务器使用美国国家气象局API,该API:
- 提供美国各地的免费天气数据
- 不需要API密钥
- 定期更新官方天气信息
- 仅支持美国地点(包括地区)
故障排除
渲染部署问题
“应用程序提前退出”错误
当Render运行错误的入口点时会发生这种情况。 解决方案:
- 确保
package.json有"start": "node build/index.http.js" - 在“渲染”设置中,使用 启动命令:
npm start - 切勿使用
node build/index.js(那是stdio服务器)
服务器日志显示“在stdio上运行”
这意味着运行的服务器不正确。 修复:
- 检查渲染 启动命令 是
npm start - 验证
package.json主要领域是"build/index.http.js" - 更改后重新部署
MAX_RETRIES_EXCEED错误
此错误通常在以下情况下发生:
- 服务器URL不正确或无法访问
- 服务器未运行(请检查渲染日志)
- 使用错误的运输类型(必须
Streamable HTTP) - 网络连接问题
解决:
- 验证部署的服务器是否可访问:
https://your-app.onrender.com/health - 检查渲染服务日志是否有错误
- 确保服务器正在运行并响应
- 在连接到thesys.dev之前手动测试端点
连接问题
- 确保您正在使用
Streamable HTTPthesys.dev中的运输类型 - 验证服务器URL是否正确且可公开访问
- 在连接到thesys.dev之前,手动测试服务器端点
- 检查渲染服务是否处于“活动”状态(非睡眠状态)
许可证
国际学生委员会