CloudBase MCP v2.34.3
🐛 问题修复
deployApp的cosTimestamp不再只接受数字。getUploadUrl返回的是字符串时间戳,而 schema 声明为整数并做强制转换 —— 「先取上传地址、再按该地址创建应用」这条云端上传通道自己拒收自己的返回值,走到一半就断。现在字符串与数字都接受,统一归一为非空十进制字符串getBuildLog的buildId不再只接受字符串。部署返回的BuildId是数字、云 API 侧要的也是整数,而 schema 此前只收字符串 —— 刚部署完拿到的构建 ID 直接查不了日志。现在两种形态都接受,非数字会给出明确报错,而不是被 schema 静默拒收- 创建网关路由前会先校验上游资源(云函数 / 云托管服务)是否真实存在,避免写入悬空路由:此前这类路由会落库成功,只在真正请求时才报错。上游确实不存在时不写入任何配置,返回近似名称候选与只读的下一步建议;探测不确定时保守放行并记录日志
- 删除云存储文件后的回查改用精确 Key 比对,修掉两个方向的误判:删除
/a/b.txt时,同前缀的/a/b.txt.bak会造成假阴性(明明删掉了却报「仍存在」);COS 风格的{Contents: [...]}响应结构此前根本不被识别,导致校验恒为通过 - 「环境未开通」的判断不再被中文文案绕过:该守卫此前只匹配英文
ResourceNotFound,中文「资源不存在」会漏过,后续调用于是拿到难以理解的报错。现在同时看错误码(code/Code/original.code)与文案,三处重复实现收敛为同一个判断 - 环境相关工具的纯文本失败回执现在会正确标记为失败。结构化载荷有统一处理,但纯文本回执此前被上层当成成功 —— AI 侧感知不到出错,还可能在错误状态上继续下一步
- 报错回执里的 MCP 版本号不再显示宿主应用版本。托管场景下进程属于宿主(实测报出
0.0.1),与工具自身版本自相矛盾;现在优先取构建期注入的版本 queryPermissions/managePermissions明确说明:PostgreSQL 类型环境下平台会拒绝角色类 action(createRole/deleteRoles/updateRole),这是平台能力边界而非配置问题,并给出 RLS 与控制台两条替代路径callCloudApi的工具描述不再把{controlPlaneUrl}/{dependencyUrl}占位符原样暴露给客户端,改为填入真实文档地址
影响面:只放宽入参类型、增加前置校验与修正文案,不改变既有合法调用的语义;
{layerName}/{region}仍是有意的格式占位符。
🔧 维护与工程改进(可选阅读)
- 修复 plugin skills 回填与 skills 仓库推送之间的竞态:两者监听同一目录、同秒启动时,回填会在推送落地前完成比对,判「无漂移」后退出,导致
plugin/目录落后一个版本(#1038)