Public log

@cloudbase/cloudbase-mcp

CloudBase MCP Server — operate Tencent CloudBase (database, auth, functions, storage, hosting) from AI coding tools via the Model Context Protocol. Part of CloudBase AI Toolkit.

npm · fingerprint 6f11b8ec4525b71a25d5ecfa · repository · RSS

42tools
5recorded versions
45dtracked
changed 3d ago

What changed

Changed 2026-10-14 12:12 UTC

2 descriptions rewritten.

--- pinned/auth
+++ observed/auth
  {
    "_meta": {
      "category": "env"
-   "description": "CloudBase(腾讯云开发)开发阶段登录与环境绑定。登录后即可访问云资源;环境(env)是云函数、数据库、静态托管等资源的隔离单元,绑定环境后其他 MCP 工具才能操作该环境。支持:查询状态、发起登录、API Key登录、绑定环境(set_env)、退出登录。auth(status) 会返回 credential_scope(account=账号级 / single_env=环境级 API Key)与当前 region;环境级 API Key 只能看到绑定的 envId,查不到其他地域环境是权限边界而非环境不存在。可选 site/region/lang 参数:site=站点(domestic/intl),region=地域,lang=输出语言(zh/en)。",
+   "description": "CloudBase(腾讯云开发)开发阶段登录与环境绑定。不确定该从哪开始?先调一次 auth(status)(只读、不用参数),确认登录态和当前环境。登录后即可访问云资源;环境(env)是云函数、数据库、静态托管等资源的隔离单元,绑定环境后其他 MCP 工具才能操作该环境。还没有环境时:国内站新用户可以免费开通一个体验环境,开通后再用 set_env 绑定。支持:查询状态、发起登录、API Key登录、绑定环境(set_env)、退出登录。auth(status) 会返回 credential_scope(account=账号级 / single_env=环境级 API Key)与当前 region;环境级 API Key 只能看到绑定的 envId,查不到其他地域环境是权限边界而非环境不存在。可选 site/region/lang 参数:site=站点(domestic/intl),region=地域,lang=输出语言(zh/en)。",
    "execution": {
      "taskSupport": "forbidden"
    },
--- pinned/searchKnowledgeBase
+++ observed/searchKnowledgeBase
  {
    "_meta": {
      "category": "rag"
-   "description": "云开发知识库检索工具,支持 CloudBase 官方文档 (docs)、固定技能文档 (skill) 和 OpenAPI 文档 (openapi) 查询。\n\n      按场景选择 mode:\n      - 工具调用报错且错误信息含具体错误码(如 OperationDenied.FreePackageDenied)时:mode=docs + action=searchDocs(query=错误码),先查错误码官方含义与处理指引再行动,不要凭猜测重试\n      - 不确定答案在哪、需要对官方文档做全文检索时:mode=docs + action=searchDocs(传 query 关键词)\n      - 已知文档标题、层级路径或 URL 时:mode=docs + action=findByName(传 input)或 action=readDoc(传 docPath)\n      - 需要某个场景的落地指南 / 最佳实践时:mode=skill + skillName\n      - 需要 HTTP API 的接口定义时:mode=openapi + apiName\n\n      ⚠️ 重要:当 CloudBase skills 处于禁用状态或当前 IDE 不支持 skill 文件读取时,必须使用 searchKnowledgeBase(mode=skill, skillName=...) 来获取 CloudBase 技能文档内容,而不是尝试直接读取 skill 文件。直接读取可能返回 400 错误。示例:\n      - 需要最小 Web+数据库 Demo 路径时:searchKnowledgeBase(mode=skill, skillName=minimal-web-baas-demo)\n      - 需要 auth-tool 指南时:searchKnowledgeBase(mode=skill, skillName=auth-tool)\n      - 需要 auth-web 指南时:searchKnowledgeBase(mode=skill, skillName=auth-web)\n      - 需要 cloudbase-agent 指南时:searchKnowledgeBase(mode=skill, skillName=cloudbase-agent)\n\n      返回内容包含该 skill 的 SKILL.md 全文,以及它在远端聚合仓(CNB raw)中的全部 .md 文件地址清单(SKILL.md 与 references/ 等,可直接 HTTP 抓取)。正文中代码栅栏之外的相对链接也会改写为绝对地址;若该 skill 在远端仓中不存在,则只返回内联内容并明确标注,不返回失效链接。\n\n      不确定该选哪个时:mode=skill 下不传 skillName、mode=openapi 下不传 apiName 直接调用,会返回当前可用清单及各自的适用场景 / 接口简介,再带上名称重新调用即可。可选名称也见本工具的 skillName / apiName 枚举(skill 共 28 个,API 共 8 个)。\n\n      注意:OpenAPI 文档 (openapi) 查询只需要传 mode=\"openapi\" 和 apiName,不要传 action;action 仅用于 mode=\"docs\"。",
+   "description": "云开发知识库检索工具,支持 CloudBase 官方文档 (docs)、固定技能文档 (skill) 和 OpenAPI 文档 (openapi) 查询。\n\n      按场景选择 mode:\n      - 工具调用报错且错误信息含具体错误码(如 OperationDenied.FreePackageDenied)时:mode=docs + action=searchDocs(query=错误码),先查错误码官方含义与处理指引再行动,不要凭猜测重试\n      - 不确定答案在哪、需要对官方文档做全文检索时:mode=docs + action=searchDocs(传 query 关键词)\n      - 已知文档标题、层级路径或 URL 时:mode=docs + action=findByName(传 input)或 action=readDoc(传 docPath)\n      - 需要某个场景的落地指南 / 最佳实践时:mode=skill + skillName\n      - 需要 HTTP API 的接口定义时:mode=openapi + apiName\n\n      ⚠️ 重要:当 CloudBase skills 处于禁用状态或当前 IDE 不支持 skill 文件读取时,必须使用 searchKnowledgeBase(mode=skill, skillName=...) 来获取 CloudBase 技能文档内容,而不是尝试直接读取 skill 文件。直接读取可能返回 400 错误。示例:\n      - 需要最小 Web+数据库 Demo 路径时:searchKnowledgeBase(mode=skill, skillName=minimal-web-baas-demo)\n      - 需要 auth-tool-cloudbase 指南时:searchKnowledgeBase(mode=skill, skillName=auth-tool-cloudbase)\n      - 需要 auth-web-cloudbase 指南时:searchKnowledgeBase(mode=skill, skillName=auth-web-cloudbase)\n      - 需要 cloudbase-agent 指南时:searchKnowledgeBase(mode=skill, skillName=cloudbase-agent)\n      - 需要 MCP 接入方式(本地 / 远程)、用 mcporter 在命令行调用工具、或站点 / 插件开关时:searchKnowledgeBase(mode=skill, skillName=cloudbase-mcp)\n\n      返回内容包含该 skill 的 SKILL.md 全文,以及它在远端聚合仓(CNB raw)中的全部 .md 文件地址清单(SKILL.md 与 references/ 等,可直接 HTTP 抓取)。正文中代码栅栏之外的相对链接也会改写为绝对地址;若该 skill 在远端仓中不存在,则只返回内联内容并明确标注,不返回失效链接。\n\n      不确定该选哪个时:mode=skill 下不传 skillName、mode=openapi 下不传 apiName 直接调用,会返回当前可用清单及各自的适用场景 / 接口简介,再带上名称重新调用即可。可选名称也见本工具的 skillName / apiName 枚举(skill 共 28 个,API 共 8 个)。\n\n      注意:OpenAPI 文档 (openapi) 查询只需要传 mode=\"openapi\" 和 apiName,不要传 action;action 仅用于 mode=\"docs\"。",
    "execution": {
      "taskSupport": "forbidden"
    },

Changed 2026-10-11 12:57 UTC

4 descriptions rewritten, 3 schema or annotation changes with the description left byte-identical.

--- pinned/manageEnv
+++ observed/manageEnv
  {
    "_meta": {
      "category": "env"
-         "description": "套餐 ID(action=create/modifyPlan 时必填)。可选值如 baas_personal(个人版)、baas_pf_standard(标准版)、baas_pf_enterprise(企业版)",
+         "description": "套餐 ID(action=create/modifyPlan 时必填)。取值以 manageEnv(action=\"listPackages\") 返回的 PackageName 为准,各站点可售套餐不同,不要凭记忆填写。",
          "type": "string"
        },
        "region": {
--- pinned/manageFunctions
+++ observed/manageFunctions
  {
    "_meta": {
      "category": "functions"
-         "description": "ZIP 两段式部署阶段 B:代码包已通过 queryFunctions action=getFunctionUploadUrl 上传到环境 COS 桶。三元组(cosBucketName/cosObjectName/cosBucketRegion)直接使用 getFunctionUploadUrl 返回值原样透传。传入 code 后 createFunction/updateFunctionCode 不再读取本地目录(functionRootPath/zipFile 均不需要),默认不触发云端依赖安装(可用 func.installDependency 覆盖)。code 三元组必须是同一个 MCP 进程的 getFunctionUploadUrl 刚返回的那一组(该 process 会在阶段 A 登记上传目标),自行拼装或跨环境复用会被拒绝并要求重新取地址。",
+         "description": "ZIP 两段式部署阶段 B:代码包已通过 queryFunctions action=getFunctionUploadUrl 上传到环境 COS 桶。三元组(cosBucketName/cosObjectName/cosBucketRegion)直接使用 getFunctionUploadUrl 返回值原样透传。传入 code 后 createFunction/updateFunctionCode 不再读取本地目录(functionRootPath/zipFile 均不需要),默认不触发云端依赖安装(可用 func.installDependency 覆盖)。code 三元组的桶与地域必须是本环境自有存储桶,对象 key 必须是 getFunctionUploadUrl 返回的 fnzip-upload/... 形式;自行拼装、指向其它存储桶或跨环境复用会被拒绝并要求重新取地址。",
          "properties": {
            "cosBucketName": {
              "description": "环境存储桶短名(不含 -appid 后缀),直接使用 getFunctionUploadUrl 返回的 cosBucketName,不要自填",
--- pinned/manageMysqlDatabase
+++ observed/manageMysqlDatabase
  {
    "_meta": {
      "category": "SQL database"
-   "description": "管理 CloudBase MySQL 数据库资源。支持开通 MySQL、销毁 MySQL、执行写入 SQL/DDL,以及初始化数据库 Schema。注意:必须先开通 MySQL(action=provisionMySQL,confirm=true)才能执行 runStatement 或 initializeSchema。若 MySQL 尚未开通,工具会返回 MYSQL_NOT_CREATED 并给出开通的 nextAction 提示。",
+   "description": "管理既有 CloudBase MySQL 实例:支持销毁实例、执行写入 SQL/DDL、初始化数据库 Schema。注意:MySQL 开通能力已下线,本工具不再创建实例——需要新开通请前往云开发控制台。环境内没有实例时返回 MYSQL_NOT_CREATED 并给出控制台入口,不再提供开通引导。新环境请优先使用 CloudBase PostgreSQL(managePgDatabase / queryPgDatabase)。",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "provisionMySQL=创建 MySQL 实例;destroyMySQL=销毁 MySQL 实例;runStatement=执行写入 SQL 或 DDL;initializeSchema=按顺序执行 Schema 初始化语句",
+         "description": "destroyMySQL=销毁 MySQL 实例;runStatement=执行写入 SQL 或 DDL;initializeSchema=按顺序执行 Schema 初始化语句",
          "enum": [
-           "provisionMySQL",
            "destroyMySQL",
            "runStatement",
            "initializeSchema"
-         "description": "action=provisionMySQL 或 action=destroyMySQL 所需的显式确认",
+         "description": "action=destroyMySQL 所需的显式确认",
          "type": "boolean"
        },
        "dbInstance": {
-         "description": "action=provisionMySQL 或 action=destroyMySQL 使用的官方请求载荷",
+         "description": "action=destroyMySQL 使用的官方请求载荷",
          "type": "object"
        },
        "requireReady": {
-         "description": "initializeSchema 前用于确认就绪状态的可选开通状态请求",
+         "description": "initializeSchema 前用于确认就绪状态的可选实例状态请求(针对控制台发起的开通/销毁任务)",
          "properties": {
            "createResultRequest": {
              "additionalProperties": {},
-   "title": "管理 CloudBase MySQL 数据库生命周期或执行写入 SQL"
+   "title": "管理 CloudBase MySQL 实例或执行写入 SQL"
  }
--- pinned/prepareFeedback
+++ observed/prepareFeedback
  {
    "_meta": {
      "category": "feedback"
-   "description": "把当前这次 CloudBase 开发整理成用户可以自己提交的反馈。作品做出来了,用它生成案例,方便展示;开发不顺利,用它生成复盘,方便把卡点反馈给平台。\n\n**什么时候用**:\n- `channel=\"case\"`:部署或发布已经成功,用户愿意把作品放到案例墙时使用。返回案例草稿;用户确认后附上预填好的新建 issue 链接。\n- `channel=\"retrospective\"`:用户表示这次开发不顺利、想反馈时使用。根据本会话里真实的工具调用失败生成复盘草稿;用户确认后同样附上预填链接。\n\n**怎么用**:\n- 第一次不要传 `confirmed`。先把返回的草稿全文给用户看。\n- 用户明确同意后,再以 `confirmed=true` 调用。这时才会返回可打开的链接。\n- 本工具不会替用户提交。链接里的正文就是本次返回的 draft,不要改写成另一份再让用户提交。\n- 不采集对话轮次,不要编造轮次、作品名、简介或公网地址。\n- 国际站是英文草稿和 GitHub 链接(body 参数)。国内站是中文草稿,链接指向 CNB 上公开的 CloudBase-AI-ToolKit 仓库,正文放在模板字段 session。若页面没自动填上,把 draft 粘贴到「本次会话记录」。",
+   "description": "返回公开仓库的新建 issue 页面。\n\n**什么时候用**:\n- `channel=\"case\"`:作品已经做出来,用户想展示到案例墙。\n- `channel=\"retrospective\"`:这次开发不顺利,用户想把卡点反馈给平台。\n\n**怎么用**:\n- 只调用一次。返回的是页面地址,不是已提交的 issue。\n- 在对话里写好正文,把链接交给用户。用户登录后自己提交。\n- 不要代为提交,不要把环境 ID 或密钥写进正文。",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "反馈用途:`case` 是把已完成的作品整理成案例;`retrospective` 是把这次不顺利的开发整理成复盘。",
+         "description": "`case` 打开案例模板;`retrospective` 打开复盘模板。",
          "enum": [
            "case",
            "retrospective"
-       },
-       "confirmed": {
-         "description": "用户是否已经看过草稿全文并明确同意提交。省略或 false 时只返回草稿、不给链接。",
-         "type": "boolean"
        }
      },
      "required": [
-   "title": "整理本次开发反馈"
+   "title": "打开反馈页面"
  }
--- pinned/queryFunctions
+++ observed/queryFunctions
  {
    "_meta": {
      "category": "functions"
-         "description": "只读操作类型:\n- `listFunctions`: 列出所有 CloudBase 云函数\n- `getFunctionDetail`: 获取 CloudBase 云函数详情(需要 functionName)\n- `listFunctionLogs`: 查询 CloudBase 云函数执行日志(需要 functionName)\n- `getFunctionLogDetail`: 获取日志详情(需要 requestId)\n- `listFunctionLayers`: 列出函数绑定的层\n- `listLayers`: 列出所有层(账号级视图,含其他环境创建的层)\n- `listLayerVersions`: 列出层的版本(注意:是 Versions 不是 Version;账号级视图)\n- `getLayerVersionDetail`: 获取层版本详情(账号级视图)\n- `listFunctionTriggers`: 列出函数触发器(用于查看定时任务 / cron / timer 配置)\n- `getFunctionDownloadUrl`: 获取函数代码下载地址\n- `getFunctionDeployStatus`: 按 taskId 查询异步部署状态、阶段进度和最终结果。返回 data.build(构建子状态)、data.deploy(部署子状态)、data.progress(阶段事件);status=running 时 data.result 与 data.error 一律为 null,不得报告部署完成。调用方必须持续轮询直到 status=succeeded/failed;status=expired 表示任务超过最长保留时间(2 小时)被终结,云端可能仍在部署,需用 getFunctionDetail 确认。任务只保存在 MCP 进程内存中,过期或 MCP Server 重启后返回 errorCode=DEPLOY_TASK_NOT_FOUND;任务按环境隔离,只能查到当前环境自己发起的部署。cloud mode 下本 action 不可用:异步任务只由 buildStrategy=cloud/local 的真实部署创建,而这两种策略在 cloud mode 下都不支持真实执行,image 策略则走同步部署不产生 taskId。\n- `listVersionByFunction`: 列出函数已发布版本(对齐 tcb fn list-function-versions / SDK listVersionByFunction;需要 functionName)\n- `getFunctionAlias`: 查询函数别名与流量路由(对齐 tcb fn get-route / SDK getFunctionAlias;需要 functionName;aliasName 默认 $DEFAULT)\n- `getFunctionUploadUrl`: 获取函数代码包的 COS 预签名上传地址(ZIP 两段式部署阶段 A):PUT 代码 zip 到 uploadUrl(uploadHeaders 非空时须随请求携带对应请求头),再调用 manageFunctions 的 createFunction/updateFunctionCode 并传 code 三元组(阶段 B)。functionName 可选,仅用于生成上传对象 key。返回的 uploadUrl 含凭据签名,不得写入日志或持久化;阶段 A 与阶段 B 必须落在同一个 MCP 进程(MCP Server 重启后需重新取地址并重新上传);地址默认 300 秒内有效",
+         "description": "只读操作类型:\n- `listFunctions`: 列出所有 CloudBase 云函数\n- `getFunctionDetail`: 获取 CloudBase 云函数详情(需要 functionName)\n- `listFunctionLogs`: 查询 CloudBase 云函数执行日志(需要 functionName)\n- `getFunctionLogDetail`: 获取日志详情(需要 requestId)\n- `listFunctionLayers`: 列出函数绑定的层\n- `listLayers`: 列出所有层(账号级视图,含其他环境创建的层)\n- `listLayerVersions`: 列出层的版本(注意:是 Versions 不是 Version;账号级视图)\n- `getLayerVersionDetail`: 获取层版本详情(账号级视图)\n- `listFunctionTriggers`: 列出函数触发器(用于查看定时任务 / cron / timer 配置)\n- `getFunctionDownloadUrl`: 获取函数代码下载地址\n- `getFunctionDeployStatus`: 按 taskId 查询异步部署状态、阶段进度和最终结果。返回 data.build(构建子状态)、data.deploy(部署子状态)、data.progress(阶段事件);status=running 时 data.result 与 data.error 一律为 null,不得报告部署完成。调用方必须持续轮询直到 status=succeeded/failed;status=expired 表示任务超过最长保留时间(2 小时)被终结,云端可能仍在部署,需用 getFunctionDetail 确认。任务只保存在 MCP 进程内存中,过期或 MCP Server 重启后返回 errorCode=DEPLOY_TASK_NOT_FOUND;任务按环境隔离,只能查到当前环境自己发起的部署。cloud mode 下本 action 不可用:异步任务只由 buildStrategy=cloud/local 的真实部署创建,而这两种策略在 cloud mode 下都不支持真实执行,image 策略则走同步部署不产生 taskId。\n- `listVersionByFunction`: 列出函数已发布版本(对齐 tcb fn list-function-versions / SDK listVersionByFunction;需要 functionName)\n- `getFunctionAlias`: 查询函数别名与流量路由(对齐 tcb fn get-route / SDK getFunctionAlias;需要 functionName;aliasName 默认 $DEFAULT)\n- `getFunctionUploadUrl`: 获取函数代码包的 COS 预签名上传地址(ZIP 两段式部署阶段 A):PUT 代码 zip 到 uploadUrl(uploadHeaders 非空时须随请求携带对应请求头),再调用 manageFunctions 的 createFunction/updateFunctionCode 并传 code 三元组(阶段 B)。functionName 可选,仅用于生成上传对象 key。返回的 uploadUrl 含凭据签名,不得写入日志或持久化;阶段 B 会校验三元组的桶与地域必须是本环境自有存储桶,因此该地址只能用于取到它的那个环境;地址默认 300 秒内有效",
          "enum": [
            "listFunctions",
            "getFunctionDetail",
--- pinned/queryMysqlDatabase
+++ observed/queryMysqlDatabase
  {
    "_meta": {
      "category": "SQL database"
-   "description": "查询 CloudBase MySQL 数据库信息。支持执行只读 SQL、查询 MySQL 开通结果、查询 MySQL 任务状态、获取当前实例生命周期上下文,以及查询实例慢查询/错误日志(对齐 Manager SDK describeInstanceSlowQueries / describeInstanceErrorLogs)。标准 getInstanceInfo/describeInstance 不返回连接凭据;仅 getConnectionInfo 透传原始连接/集群载荷(含可能的凭据),且仅用于显式 TCP 迁移。业务 CRUD 优先使用 SDK 或 runQuery/runStatement。",
+   "description": "查询 CloudBase MySQL 数据库信息。支持执行只读 SQL、查询实例创建任务结果(控制台发起)、查询 MySQL 任务状态、获取当前实例生命周期上下文,以及查询实例慢查询/错误日志(对齐 Manager SDK describeInstanceSlowQueries / describeInstanceErrorLogs)。标准 getInstanceInfo/describeInstance 不返回连接凭据;仅 getConnectionInfo 透传原始连接/集群载荷(含可能的凭据),且仅用于显式 TCP 迁移。业务 CRUD 优先使用 SDK 或 runQuery/runStatement。",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "runQuery=执行只读 SQL;describeCreateResult=查询 CreateMySQL 结果;describeTaskStatus=查询 MySQL 任务状态;getInstanceInfo=获取不含连接凭据的生命周期上下文;describeInstance=getInstanceInfo 的别名;getConnectionInfo=透传可能包含凭据的原始连接/集群载荷(仅限 TCP 迁移例外场景);describeInstanceSlowQueries=查询实例慢查询日志;describeInstanceErrorLogs=查询实例错误日志",
+         "description": "runQuery=执行只读 SQL;describeCreateResult=查询实例创建任务结果(控制台发起);describeTaskStatus=查询 MySQL 任务状态;getInstanceInfo=获取不含连接凭据的生命周期上下文;describeInstance=getInstanceInfo 的别名;getConnectionInfo=透传可能包含凭据的原始连接/集群载荷(仅限 TCP 迁移例外场景);describeInstanceSlowQueries=查询实例慢查询日志;describeInstanceErrorLogs=查询实例错误日志",
          "enum": [
            "runQuery",
            "describeCreateResult",
--- pinned/searchKnowledgeBase
+++ observed/searchKnowledgeBase
  {
    "_meta": {
      "category": "rag"
-   "description": "云开发知识库检索工具,支持 CloudBase 官方文档 (docs)、固定技能文档 (skill) 和 OpenAPI 文档 (openapi) 查询。\n\n      按场景选择 mode:\n      - 工具调用报错且错误信息含具体错误码(如 OperationDenied.FreePackageDenied)时:mode=docs + action=searchDocs(query=错误码),先查错误码官方含义与处理指引再行动,不要凭猜测重试\n      - 不确定答案在哪、需要对官方文档做全文检索时:mode=docs + action=searchDocs(传 query 关键词)\n      - 已知文档标题、层级路径或 URL 时:mode=docs + action=findByName(传 input)或 action=readDoc(传 docPath)\n      - 需要某个场景的落地指南 / 最佳实践时:mode=skill + skillName\n      - 需要 HTTP API 的接口定义时:mode=openapi + apiName\n\n      ⚠️ 重要:当 CloudBase skills 处于禁用状态或当前 IDE 不支持 skill 文件读取时,必须使用 searchKnowledgeBase(mode=skill, skillName=...) 来获取 CloudBase 技能文档内容,而不是尝试直接读取 skill 文件。直接读取可能返回 400 错误。示例:\n      - 需要最小 Web+数据库 Demo 路径时:searchKnowledgeBase(mode=skill, skillName=minimal-web-baas-demo)\n      - 需要 auth-tool 指南时:searchKnowledgeBase(mode=skill, skillName=auth-tool)\n      - 需要 auth-web 指南时:searchKnowledgeBase(mode=skill, skillName=auth-web)\n      - 需要 cloudbase-agent 指南时:searchKnowledgeBase(mode=skill, skillName=cloudbase-agent)\n\n      返回内容包含该 skill 的 SKILL.md 全文,以及它在远端聚合仓(CNB raw)中的全部 .md 文件地址清单(SKILL.md 与 references/ 等,可直接 HTTP 抓取)。正文中代码栅栏之外的相对链接也会改写为绝对地址;若该 skill 在远端仓中不存在,则只返回内联内容并明确标注,不返回失效链接。\n\n      不确定该选哪个时:mode=skill 下不传 skillName、mode=openapi 下不传 apiName 直接调用,会返回当前可用清单及各自的适用场景 / 接口简介,再带上名称重新调用即可。可选名称也见本工具的 skillName / apiName 枚举(skill 共 27 个,API 共 8 个)。\n\n      注意:OpenAPI 文档 (openapi) 查询只需要传 mode=\"openapi\" 和 apiName,不要传 action;action 仅用于 mode=\"docs\"。",
+   "description": "云开发知识库检索工具,支持 CloudBase 官方文档 (docs)、固定技能文档 (skill) 和 OpenAPI 文档 (openapi) 查询。\n\n      按场景选择 mode:\n      - 工具调用报错且错误信息含具体错误码(如 OperationDenied.FreePackageDenied)时:mode=docs + action=searchDocs(query=错误码),先查错误码官方含义与处理指引再行动,不要凭猜测重试\n      - 不确定答案在哪、需要对官方文档做全文检索时:mode=docs + action=searchDocs(传 query 关键词)\n      - 已知文档标题、层级路径或 URL 时:mode=docs + action=findByName(传 input)或 action=readDoc(传 docPath)\n      - 需要某个场景的落地指南 / 最佳实践时:mode=skill + skillName\n      - 需要 HTTP API 的接口定义时:mode=openapi + apiName\n\n      ⚠️ 重要:当 CloudBase skills 处于禁用状态或当前 IDE 不支持 skill 文件读取时,必须使用 searchKnowledgeBase(mode=skill, skillName=...) 来获取 CloudBase 技能文档内容,而不是尝试直接读取 skill 文件。直接读取可能返回 400 错误。示例:\n      - 需要最小 Web+数据库 Demo 路径时:searchKnowledgeBase(mode=skill, skillName=minimal-web-baas-demo)\n      - 需要 auth-tool 指南时:searchKnowledgeBase(mode=skill, skillName=auth-tool)\n      - 需要 auth-web 指南时:searchKnowledgeBase(mode=skill, skillName=auth-web)\n      - 需要 cloudbase-agent 指南时:searchKnowledgeBase(mode=skill, skillName=cloudbase-agent)\n\n      返回内容包含该 skill 的 SKILL.md 全文,以及它在远端聚合仓(CNB raw)中的全部 .md 文件地址清单(SKILL.md 与 references/ 等,可直接 HTTP 抓取)。正文中代码栅栏之外的相对链接也会改写为绝对地址;若该 skill 在远端仓中不存在,则只返回内联内容并明确标注,不返回失效链接。\n\n      不确定该选哪个时:mode=skill 下不传 skillName、mode=openapi 下不传 apiName 直接调用,会返回当前可用清单及各自的适用场景 / 接口简介,再带上名称重新调用即可。可选名称也见本工具的 skillName / apiName 枚举(skill 共 28 个,API 共 8 个)。\n\n      注意:OpenAPI 文档 (openapi) 查询只需要传 mode=\"openapi\" 和 apiName,不要传 action;action 仅用于 mode=\"docs\"。",
    "execution": {
      "taskSupport": "forbidden"
    },
+           "cloudbase-mcp",
            "cloudbase-platform",
            "cloudbase-wechat-integration",
            "cloudrun-development",

Changed 2026-10-05 14:51 UTC

17 descriptions rewritten, 20 schema or annotation changes with the description left byte-identical, 5 tools added, 1 tool removed.

--- pinned/auth
+++ observed/auth
  {
    "_meta": {
      "category": "env"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "CloudBase(腾讯云开发)开发阶段登录与环境绑定。登录后即可访问云资源;环境(env)是云函数、数据库、静态托管等资源的隔离单元,绑定环境后其他 MCP 工具才能操作该环境。支持:查询状态、发起登录、API Key登录、绑定环境(set_env)、退出登录。auth(status) 会返回 credential_scope(account=账号级 / single_env=环境级 API Key)与当前 region;环境级 API Key 只能看到绑定的 envId,查不到其他地域环境是权限边界而非环境不存在。",
+   "description": "CloudBase(腾讯云开发)开发阶段登录与环境绑定。登录后即可访问云资源;环境(env)是云函数、数据库、静态托管等资源的隔离单元,绑定环境后其他 MCP 工具才能操作该环境。支持:查询状态、发起登录、API Key登录、绑定环境(set_env)、退出登录。auth(status) 会返回 credential_scope(account=账号级 / single_env=环境级 API Key)与当前 region;环境级 API Key 只能看到绑定的 envId,查不到其他地域环境是权限边界而非环境不存在。可选 site/region/lang 参数:site=站点(domestic/intl),region=地域,lang=输出语言(zh/en)。",
    "execution": {
      "taskSupport": "forbidden"
    },
+       "lang": {
+         "description": "输出语言:zh=中文(默认),en=英文。覆盖实例级语言(createCloudBaseMcpServer lang 选项 / TCB_LANG / project.json)",
+         "enum": [
+           "zh",
+           "en"
+         ],
+         "type": "string"
+       },
        "oauthCustom": {
-         "description": "高级可选:自定义 endpoint 返回格式开关。未配置 endpoint 时默认 false;配置 endpoint 后默认 true,且不能设为 false",
+         "description": "高级可选:自定义 endpoint 返回格式开关。未配置 endpoint 时默认 false;配置 endpoint 后默认 true。标准 {code,result} 包装格式的端点(如国际站 tcb-api.tencentcloud.com)应显式传 false",
          "type": "boolean"
        },
        "oauthEndpoint": {
+       "region": {
+         "description": "地域(如 ap-shanghai / ap-guangzhou / ap-singapore)。用于 region→site 推断与 API Key 换取网关选择;显式 site 优先",
+         "type": "string"
+       },
        "reveal": {
          "description": "action=get_temp_credentials 时可选。true=返回明文临时密钥;默认 false 仅返回脱敏结果",
          "type": "boolean"
+       },
+       "site": {
+         "description": "站点:domestic=国内站,intl=国际站。环境开通在腾讯云国际站时,登录(start_auth/login_by_api_key)需显式传 intl,否则会走国内站链路、看不到国际站环境;调用级显式传入优先于 TCB_SITE 环境变量 / region 映射表 / 项目配置,影响登录端点、授权页与 API Key 换取网关",
+         "enum": [
+           "domestic",
+           "intl"
+         ],
+         "type": "string"
        }
      },
      "type": "object"
--- pinned/callCloudApi
+++ observed/callCloudApi
  {
    "_meta": {
      "category": "cloud-api"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "通用的云 API 调用工具,主要用于 CloudBase / 腾讯云管控面与依赖资源相关 API 调用。调用前请先确认 service、Action 与 Param,避免猜测 Action 名称。如果你的目标是通过 HTTP 协议直接集成 auth/functions/cloudrun/storage/mysqldb 等 CloudBase 业务 API,请不要优先使用 callCloudApi,而应优先查看对应 OpenAPI / Swagger。现有 OpenAPI / Swagger 能力不是通用的管控面 Action 集合;管控面 API 请优先参考 CloudBase API 概览 https://cloud.tencent.com/document/product/876/34809 与云开发依赖资源接口指引 https://cloud.tencent.com/document/product/876/34808。对于 tcb service,常用 Action 分类如下:\n\n**环境管理**: `CreateEnv`、`ModifyEnv`、`DescribeEnvs`、`DestroyEnv`\n**用户管理**: `CreateUser`、`ModifyUser`、`DescribeUserList`、`DeleteUsers`\n**认证配置**: `EditAuthConfig`、`DescribeAuthDomains`\n**云函数**: `DescribeFunctions`、`CreateFunction`、`UpdateFunctionCode`、`DeleteFunction`\n**数据库**: `CreateMySQLInstance`、`DescribeMySQLInstances`、`DestroyMySQLInstance`\n\n⚠️ 云托管(CloudBase Run)统一走 tcbr service(CreateCloudRunEnv / CreateCloudRunServer / DescribeEnvBaseInfo / DescribeCloudRunEnvs,version=\"2022-02-17\"),tcb 旧小租户接口 CreateCloudBaseRunResource 等已被禁用;部署请用 manageCloudRun。查询单个环境基础信息/是否已开通云托管用 DescribeEnvBaseInfo(EnvId 必填),查询环境列表及资源信息用 DescribeCloudRunEnvs(EnvId 可选过滤)。\n\n⚠️ Region 必须作为本工具顶层参数 `region` 传入(对应 X-TC-Region / 地域 endpoint),不要放进 params。params 里的 Region 会被剥离并当作顶层 region 使用。\n\n销毁环境时,常见做法是至少带上 `EnvId` 和 `BypassCheck: true`,如果环境已经处于隔离期再按文档补 `IsForce: true`。",
+   "description": "通用的云 API 调用工具,主要用于 CloudBase / 腾讯云管控面与依赖资源相关 API 调用。**调用前必读接口索引** https://docs.cloudbase.net/ai/cloudbase-ai-toolkit/api-reference.md (每日自动同步的 Action 级索引,含 rate limit;先查此索引确认 service/Action/参数,避免猜测 Action 名称;索引未覆盖的产品再去该产品官方 API 文档核对)。如果你的目标是通过 HTTP 协议直接集成 auth/functions/cloudrun/storage/mysqldb 等 CloudBase 业务 API,请不要优先使用 callCloudApi,而应优先查看对应 OpenAPI / Swagger。现有 OpenAPI / Swagger 能力不是通用的管控面 Action 集合;管控面 API 请优先参考 CloudBase API 概览 https://cloud.tencent.com/document/product/876/34809 与云开发依赖资源接口指引 https://cloud.tencent.com/document/product/876/34808。对于 tcb service,常用 Action 分类如下:\n\n**环境管理**: `CreateEnv`、`ModifyEnv`、`DescribeEnvs`、`DestroyEnv`\n**用户管理**: `CreateUser`、`ModifyUser`、`DescribeUserList`、`DeleteUsers`\n**认证配置**: `EditAuthConfig`、`DescribeAuthDomains`\n**云函数**: `DescribeFunctions`、`CreateFunction`、`UpdateFunctionCode`、`DeleteFunction`\n**数据库**: `CreateMySQLInstance`、`DescribeMySQLInstances`、`DestroyMySQLInstance`\n\n⚠️ 云托管(CloudBase Run)统一走 tcbr service(CreateCloudRunEnv / CreateCloudRunServer / DescribeEnvBaseInfo / DescribeCloudRunEnvs,version=\"2022-02-17\"),tcb 旧小租户接口 CreateCloudBaseRunResource 等已被禁用;部署请用 manageCloudRun。查询单个环境基础信息/是否已开通云托管用 DescribeEnvBaseInfo(EnvId 必填),查询环境列表及资源信息用 DescribeCloudRunEnvs(EnvId 可选过滤)。\n\n⚠️ Region 必须作为本工具顶层参数 `region` 传入(对应 X-TC-Region / 地域 endpoint),不要放进 params。params 里的 Region 会被剥离并当作顶层 region 使用。\n\n销毁环境时,常见做法是至少带上 `EnvId` 和 `BypassCheck: true`,如果环境已经处于隔离期再按文档补 `IsForce: true`。",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "具体 Action 名称,需符合对应服务的官方 API 定义。若不确定正确 Action,请先查官方文档;不要用近义词或历史命名进行猜测。tcb 常用 Action:环境管理 CreateEnv/ModifyEnv/DescribeEnvs/DestroyEnv、用户管理 CreateUser/ModifyUser/DescribeUserList/DeleteUsers、认证配置 EditAuthConfig、云函数 DescribeFunctions/CreateFunction、数据库 CreateMySQLInstance 等。tcbr 常用 Action:CreateCloudRunEnv(初始化云托管)、DescribeEnvBaseInfo(查询单个环境基础信息,EnvId 必填)、DescribeCloudRunEnvs(查询环境列表/资源信息,EnvId 可选过滤)、CreateCloudRunServer/DescribeCloudRunServers。",
+         "description": "具体 Action 名称,需符合对应服务的官方 API 定义。**不确定时先查官方文档,不要用近义词或历史命名猜测**(猜错会被服务端报成 action invalid,很难排查)。常用 Action 见 skill cloud-api-operations。",
          "minLength": 1,
          "type": "string"
        },
-         "description": "Action 对应的参数对象,键名需与官方 API 定义一致。某些 Action 需要携带 EnvId 等信息;如不确定参数结构,请先查官方文档。tcb 示例:`{ \"service\": \"tcb\", \"action\": \"DestroyEnv\", \"params\": { \"EnvId\": \"env-xxx\", \"BypassCheck\": true } }`,如果环境已经处于隔离期,可再补 `IsForce: true`;更新环境别名则可用 `{ \"service\": \"tcb\", \"action\": \"ModifyEnv\", \"params\": { \"EnvId\": \"env-xxx\", \"Alias\": \"demo\" } }`。不要把 Region 放进 params(会报 The parameter Region is not recognized);跨地域请用顶层 region,例如 `{ \"service\": \"tcb\", \"action\": \"DescribeEnvs\", \"region\": \"ap-singapore\" }`。若你的场景是通过 HTTP 协议直接集成 auth/functions/cloudrun/storage/mysqldb 等 CloudBase 业务 API,请优先使用 OpenAPI / Swagger 或 searchKnowledgeBase(mode=\"openapi\"),而不是优先使用 callCloudApi。",
+         "description": "Action 对应的参数对象,键名与官方 API 定义一致,不确定时先查文档。**不要把 Region 放这里**,跨地域用顶层 region。CloudBase 业务 API 请优先用 searchKnowledgeBase(mode=\"openapi\"),不要用本工具。示例见 skill cloud-api-operations。",
          "type": "object"
        },
        "region": {
-         "description": "云 API 地域(X-TC-Region)。例如 ap-shanghai、ap-guangzhou、ap-singapore。DescribeEnvs 等接口按地域查询,跨地域必须传此顶层参数,不要写入 params.Region。",
+         "description": "云 API 地域(X-TC-Region),如 ap-shanghai。跨地域必须传此顶层参数,不要写进 params。⚠️ ap-singapore 同属国内站与国际站,未指定站点按国际站(site=intl)处理:要操作国内站该地域环境,先 auth(action=\"start_auth\", site=\"domestic\") 或设 TCB_SITE=domestic。",
          "type": "string"
        },
        "service": {
-         "description": "选择要访问的服务。可选:tcb、tcbr、scf、sts、cam、lowcode、cdn、vpc。对于 tcb / scf / lowcode 等 CloudBase 管控面 Action,请优先查官方文档,不要直接猜测 Action。云托管统一走 tcbr(version 需传 2022-02-17)。",
+         "description": "腾讯云产品标识,**取值只能来自本字段的 enum 白名单(共 58 个)**,决定请求域名 https://<service>.tencentcloudapi.com。名单外的取值一律拒绝,不要臆造;COS 不在云 API 体系内。产品名与 Action 对照见 skill cloud-api-operations。云托管统一走 tcbr。",
          "enum": [
            "tcb",
            "tcbr",
-           "lowcode",
+           "cloudaudit",
+           "tag",
+           "billing",
+           "region",
+           "ba",
+           "cvm",
+           "lighthouse",
+           "tke",
+           "cbs",
+           "cfs",
+           "tcr",
+           "cdb",
+           "mariadb",
+           "postgres",
+           "sqlserver",
+           "redis",
+           "mongodb",
+           "cynosdb",
+           "dcdb",
+           "tcaplusdb",
+           "keewidb",
+           "vpc",
+           "clb",
            "cdn",
-           "vpc"
+           "ecdn",
+           "dnspod",
+           "privatedns",
+           "domain",
+           "ssl",
+           "teo",
+           "gaap",
+           "kms",
+           "ssm",
+           "waf",
+           "cwp",
+           "tcss",
+           "ckafka",
+           "tdmq",
+           "tdmysql",
+           "apigateway",
+           "monitor",
+           "cls",
+           "apm",
+           "tsf",
+           "tat",
+           "hunyuan",
+           "lkeap",
+           "tts",
+           "trtc",
+           "live",
+           "vod",
+           "sms",
+           "ses"
          ],
          "type": "string"
        },
-         "description": "API 版本(可选)。缺省时按 service 使用 SDK 内置默认版本;tcbr 必须传 \"2022-02-17\"(否则请求缺少 X-TC-Version 会失败)。示例:service=\"tcbr\", version=\"2022-02-17\", action=\"CreateCloudRunEnv\", params={EnvId:\"env-xxx\",PackageType:\"Standard\"}。",
+         "description": "API 版本(多数场景可省略)。白名单里**只有一个官方版本的产品会自动补齐**,不必传;以下多版本产品必须显式传,缺省会报错并列出可选项:tke、mongodb、teo、monitor、vod、sms。示例:service=\"tcbr\", version=\"2022-02-17\", action=\"CreateCloudRunEnv\", params={EnvId:\"env-xxx\",PackageType:\"Standard\"};service=\"monitor\" 需显式传 \"2018-07-24\"(告警策略族 Action 属于该版本)。",
          "type": "string"
        }
      },

+ tool added: deployApply

+ tool added: deployBuild

+ tool added: deployPlan

--- pinned/downloadTemplate
+++ observed/downloadTemplate
  {
    "_meta": {
      "category": "setup"
-   "description": "自动下载并部署CloudBase项目模板。\n**Note**: Call this tool when the user requests to create a new project using a CloudBase template.\n\n支持的模板:\n- react: React + CloudBase 全栈应用模板\n- vue: Vue + CloudBase 全栈应用模板\n- miniprogram: 微信小程序 + 云开发模板  \n- uniapp: UniApp + CloudBase 跨端应用模板\n- rules: 只包含AI编辑器配置文件(包含Cursor、WindSurf、CodeBuddy等所有主流编辑器配置),适合在已有项目中补充AI编辑器配置\n\n支持的IDE类型:\n- all: 下载所有IDE配置\n- cursor: Cursor AI编辑器\n- 其他IDE类型见下方列表\n\n注意:如果未传入 ide 参数且无法从环境变量检测到 IDE,将提示错误并要求传入 ide 参数\n- windsurf: WindSurf AI编辑器\n- codebuddy: CodeBuddy AI编辑器\n- claude-code: Claude Code AI编辑器\n- cline: Cline AI编辑器\n- gemini-cli: Gemini CLI\n- opencode: OpenCode AI编辑器\n- qwen-code: 通义灵码\n- baidu-comate: 百度Comate\n- openai-codex-cli: OpenAI Codex CLI\n- augment-code: Augment Code\n- github-copilot: GitHub Copilot\n- roocode: RooCode AI编辑器\n- tongyi-lingma: 通义灵码\n- trae: Trae AI编辑器\n- qoder: Qoder AI编辑器\n- antigravity: Google Antigravity AI编辑器\n- vscode: Visual Studio Code\n- kiro: Kiro AI编辑器\n- aider: Aider AI编辑器\n\n特别说明:\n- rules 模板会自动包含当前 mcp 版本号信息(版本号:2.32.5),便于后续维护和版本追踪\n- 下载 rules 模板时,如果项目中已存在 README.md 文件,系统会自动保护该文件不被覆盖(除非设置 overwrite=true)",
+   "description": "自动下载并部署CloudBase项目模板。\n**Note**: Call this tool when the user requests to create a new project using a CloudBase template.\n\n支持的模板:\n- react: React + CloudBase 全栈应用模板\n- vue: Vue + CloudBase 全栈应用模板\n- miniprogram: 微信小程序 + 云开发模板\n- uniapp: UniApp + CloudBase 跨端应用模板\n- rules: 只包含AI编辑器配置文件(包含Cursor、WindSurf、CodeBuddy等所有主流编辑器配置),适合在已有项目中补充AI编辑器配置\n\n支持的IDE类型:\n- all: 下载所有IDE配置\n- cursor: Cursor AI编辑器\n- 其他IDE类型见下方列表\n\n注意:如果未传入 ide 参数且无法从环境变量检测到 IDE,将提示错误并要求传入 ide 参数\n- windsurf: WindSurf AI编辑器\n- codebuddy: CodeBuddy AI编辑器\n- claude-code: Claude Code AI编辑器\n- cline: Cline AI编辑器\n- gemini-cli: Gemini CLI\n- opencode: OpenCode AI编辑器\n- qwen-code: 通义灵码\n- baidu-comate: 百度Comate\n- openai-codex-cli: OpenAI Codex CLI\n- augment-code: Augment Code\n- github-copilot: GitHub Copilot\n- roocode: RooCode AI编辑器\n- tongyi-lingma: 通义灵码\n- trae: Trae AI编辑器\n- qoder: Qoder AI编辑器\n- antigravity: Google Antigravity AI编辑器\n- vscode: Visual Studio Code\n- kiro: Kiro AI编辑器\n- aider: Aider AI编辑器\n\n特别说明:\n- rules 模板会自动包含当前 MCP 版本号信息,便于后续维护和版本追踪\n- 下载 rules 模板时,如果项目中已存在 README.md 文件,系统会自动保护该文件不被覆盖(除非设置 overwrite=true)",
    "execution": {
      "taskSupport": "forbidden"
    },
--- pinned/envDomainManagement
+++ observed/envDomainManagement
  {
    "_meta": {
      "category": "env"
-     "destructiveHint": false,
+     "destructiveHint": true,
      "idempotentHint": false,
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "管理 CloudBase 环境的安全域名(安全域名 / CORS 白名单),支持添加和删除操作。(原工具名:createEnvDomain/deleteEnvDomain,为兼容旧AI规则可继续使用这些名称)当浏览器 Web 应用需要从本地 Vite / dev server 直接访问 CloudBase 资源时,应先用 queryEnv(action=domains) 检查当前实际浏览器 origin 对应的 host:port 是否已在白名单中,再按该实际值添加。新增或删除后请每约 10 秒轮询 queryEnv(action=domains) 确认状态收敛,勿一次 sleep 满 10 分钟;多数环境数分钟内可收敛。⚠️ 重要:此工具仅用于 CORS/请求来源验证,不涉及 SSL 证书。自定义域名公网 HTTPS:先 queryGateway(listCustomDomains);已有域名则 manageGateway(createRoute) 显式传 domain(无需证书);仅首次绑定新域名才用 bindCustomDomain(需 certificateId)。",
+   "description": "⚠️ DEPRECATED:此工具已废弃并收编进 manageEnv,请改用 manageEnv(action=\"addSecurityDomain\") / manageEnv(action=\"removeSecurityDomain\")(入参 domains 完全一致)。本别名将在下个版本移除。\n\n管理【环境安全域名】=浏览器跨域(CORS)白名单:控制允许哪些网页 origin(host:port)从浏览器直接调用本环境的 CloudBase 资源。只做 CORS 来源验证,不提供访问域名,不涉及 HTTPS 证书。⚠️ 与【网关自定义域名】是两套完全独立的配置,互不相干:如需给自己的域名绑定 HTTPS 访问入口(云托管 / 网关服务),那属于 manageGateway 的职责——先 queryGateway(listCustomDomains);已有域名则 manageGateway(createRoute) 显式传 domain(无需证书);仅首次绑定新域名才用 bindCustomDomain(需 certificateId)。不要用本工具做这件事。\n\n操作指引:(原工具名 createEnvDomain/deleteEnvDomain,为兼容旧 AI 规则可继续使用这些名称)当浏览器 Web 应用需要从本地 Vite / dev server 直接访问 CloudBase 资源时,先用 queryEnv(action=domains) 检查当前实际浏览器 origin 对应的 host:port 是否已在白名单中,再按该实际值添加。新增或删除后请每约 10 秒轮询 queryEnv(action=domains) 确认状态收敛,勿一次 sleep 满 10 分钟;多数环境数分钟内可收敛。",
    "execution": {
      "taskSupport": "forbidden"
    },
-   "title": "CloudBase 环境域名管理(安全域名 / CORS 白名单)"
+   "title": "CloudBase 环境安全域名管理(浏览器 CORS 白名单)【已废弃】"
  }
--- pinned/manageAgents
+++ observed/manageAgents
  {
    "_meta": {
      "category": "agents"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "CloudBase Agent 域统一写入口。支持创建、更新和删除远端 Agent。",
--- pinned/manageAppAuth
+++ observed/manageAppAuth
  {
    "_meta": {
      "category": "auth"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "CloudBase 应用侧认证配置写入口。用于修改登录方式、provider、client 配置,确保 publishable key,以及创建或删除 API key、自定义登录密钥。⚠️ 本工具为管理端配置工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具完成配置(如启用 usernamePassword、获取 publishable key),再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若前端要接受普通用户名样式标识符,应先执行 action=patchLoginStrategy 并传入 patch={ usernamePassword: true },再实现对应前端登录逻辑。⚠️ 短信验证码登录(patch={ phone: true })使用云开发默认短信通道,开启后即可收发验证码,不需要配置短信签名/模板/自定义 Provider;仅当需要自定义模板/签名或更换短信服务商时才需配置 SmsVerificationConfig 或自定义短信通道。⚠️ action=createApiKey 返回体中的 created 字段表示是否真正新建:created=false 说明复用了环境中已存在的 key,此时 keyName/expireIn 入参不会生效,返回的 keyName/expireAt 均为服务端真实值,并会附带 warnings,切勿把它当作临时凭证分发。",
--- pinned/manageApps
+++ observed/manageApps
  {
    "_meta": {
      "category": "apps"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "部署 Web 应用到 CloudBase(构建前后端,部署到独立子域名)。\naction=getUploadUrl 获取预签名上传 URL(cloud mode 下使用),返回上传地址和 cosTimestamp。\naction=deployApp 上传源码 ZIP 并触发远端构建部署管道:\n  1. 远端 npm install(可通过 installCmd=\"\" 跳过)\n  2. 远端 npm run build(可通过 buildCmd=\"\" 跳过)\n  3. 远端 tcb hosting deploy\n\n域名格式:`<serviceName>-<envId>.webapps.tcloudbase.com`(每个 serviceName 一个独立子域名)\n\n✅ 推荐用法(新项目/需要独立域名的 Web 应用,首选此工具):\n  新建项目首次部署时,传 framework=static, installCmd=\"\", buildCmd=\"\" 跳过远端构建,\n  只执行 tcb hosting deploy。部署后获得独立子域名,支持版本管理。\n\n⚠️ 兼容性说明:\n- 已有项目若之前用 manageHosting 部署过(域名格式:`<envId>-<appId>.tcloudbaseapp.com`),\n  切换到 manageApps 会产生全新的 URL,老链接失效。请保持原部署方式不变。\n- 如需判断:调用 queryHosting 检查是否已有托管文件。\n\n与 manageHosting 对比:\n- manageApps(本工具,新项目首选):域名 `<serviceName>-<envId>.webapps.tcloudbase.com`,独立子域名,支持版本管理\n- manageHosting(已有项目或 fallback):域名 `<envId>-<appId>.tcloudbaseapp.com/<path>`,共享环境域名\n两者均可绑定自定义域名。\n\n⚠️ 如果 manageApps 构建失败,先用 queryApps(action=\"getBuildLog\") 查日志;仍不行再 fallback 到 manageHosting。",
+   "description": "部署 Web 应用到 CloudBase(构建前后端,部署到独立子域名)。\n云端上传通道(cloud mode,无本地文件系统):queryApps(action=getUploadUrl) 或 manageApps(action=getUploadUrl) 获取预签名上传 URL → agent 自行 PUT 代码 zip 到 uploadUrl(带 uploadHeaders 与 Content-Type: application/zip)→ 用返回的 unixTimestamp 作为 cosTimestamp 调 deployApp 触发部署。\naction=getUploadUrl 获取预签名上传 URL(cloud mode 下使用),返回上传地址和 cosTimestamp。\naction=deployApp 上传源码 ZIP 并触发远端构建部署管道:\n  1. 远端 npm install(可通过 installCmd=\"\" 跳过)\n  2. 远端 npm run build(可通过 buildCmd=\"\" 跳过)\n  3. 远端 tcb hosting deploy\n\n域名格式:`<serviceName>-<envId>.webapps.tcloudbase.com`(每个 serviceName 一个独立子域名)\n\n✅ 推荐用法(新项目/需要独立域名的 Web 应用,首选此工具):\n  新建项目首次部署时,传 framework=static, installCmd=\"\", buildCmd=\"\" 跳过远端构建,\n  只执行 tcb hosting deploy。部署后获得独立子域名,支持版本管理。\n\n⚠️ 兼容性说明:\n- 已有项目若之前用 manageHosting 部署过(域名格式:`<envId>-<appId>.tcloudbaseapp.com`),\n  切换到 manageApps 会产生全新的 URL,老链接失效。请保持原部署方式不变。\n- 如需判断:调用 queryHosting 检查是否已有托管文件。\n\n与 manageHosting 对比:\n- manageApps(本工具,新项目首选):域名 `<serviceName>-<envId>.webapps.tcloudbase.com`,独立子域名,支持版本管理\n- manageHosting(已有项目或 fallback):域名 `<envId>-<appId>.tcloudbaseapp.com/<path>`,共享环境域名\n两者均可绑定自定义域名。\n\n⚠️ 如果 manageApps 构建失败,先用 queryApps(action=\"getBuildLog\") 查日志;仍不行再 fallback 到 manageHosting。",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "可选 COS 时间戳。传入此值则直接使用已上传的代码创建应用,跳过本地文件上传。需先调用 getUploadUrl 获取预签名 URL,上传 ZIP 包后再传此时间戳。cloud mode 下为必填;本地模式也可传此值代替 filePath。两个路径二选一:filePath(本地打包上传)或 cosTimestamp(预签名 URL 上传)。",
-         "type": "string"
+         "description": "COS 时间戳(getUploadUrl 返回的 unixTimestamp,字符串或数字均可)。传入则直接用已上传的代码创建应用,跳过本地打包上传;需先 getUploadUrl 拿预签名 URL 并 PUT ZIP。cloud mode 必填。与 filePath 严格二选一,同时提供或都不提供都会报错。",
+         "type": [
+           "string",
+           "number"
+         ]
        },
        "deployCmd": {
          "description": "自定义部署命令。通常无需填写,默认自动生成 tcb hosting deploy 命令。有 buildPath 时远端已 cd 到该目录,默认用 . 作为源码路径;无 buildPath 时默认用 dist。",
--- pinned/manageCloudRun
+++ observed/manageCloudRun
  {
    "_meta": {
      "category": "cloudrun"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "管理云托管服务,按开发顺序支持:开通云托管环境(initEnv)、初始化项目(可从模板开始,模板列表可通过 queryCloudRun 查询)、下载服务代码、本地运行(仅函数型服务)、部署代码、仅更新配置(updateConfig,无需重新上传代码)、删除服务。deploy 支持两种方式:1) 源码构建(传入 targetPath,本地代码打包上传,默认路径);2) 已有镜像部署(传入 imageUrl,如 ccr.ccs.tencentyun.com/ns/img:v1,走 DeployType=image 容器型部署,targetPath 可省略)。deploy 语义为「触发部署 + 轻量等待任务注册」(最多约 45s)。源码构建返回 buildId,用 getDeployLog 轮询构建进度后再 getProcessLog;镜像部署(imageUrl)BuildId 常为 0,跳过 getDeployLog,返回 runId/next_step 引导 getProcessLog(或先 getDeployRecords 取 RunId)。若用户明确指定镜像或无需重新构建,必须传 imageUrl,不要仅因本地有源码目录就回退到源码构建。deploy 对已存在服务会先读取远程配置再合并(保留 VpcConf/EnvParams/OpenAccessTypes)。updateConfig 对齐控制台服务设置页。删除操作需要确认,建议设置force=true。新环境首次部署前若提示未开通云托管,先调用 initEnv 开通(异步、幂等)。",
+   "description": "管理云托管服务,按开发顺序支持:开通云托管环境(initEnv)、初始化项目(可从模板开始,模板列表可通过 queryCloudRun 查询)、下载服务代码、本地运行(仅函数型服务)、部署代码、仅更新配置(updateConfig,无需重新上传代码)、删除服务。deploy 支持两种方式:1) 源码构建(传入 targetPath,本地代码打包上传,默认路径);2) 已有镜像部署(传入 imageUrl,如 ccr.ccs.tencentyun.com/ns/img:v1,走 DeployType=image 容器型部署,targetPath 可省略)。deploy 语义为「触发部署 + 轻量等待任务注册」(最多约 45s;不需要 buildId 时可传 waitRegistration=false 跳过等待)。源码构建返回 buildId,用 getDeployLog 轮询构建进度后再 getProcessLog;镜像部署(imageUrl)BuildId 常为 0,跳过 getDeployLog,返回 runId/next_step 引导 getProcessLog(或先 getDeployRecords 取 RunId)。若用户明确指定镜像或无需重新构建,必须传 imageUrl,不要仅因本地有源码目录就回退到源码构建。deploy 对已存在服务会先读取远程配置再合并(保留 VpcConf/EnvParams/OpenAccessTypes)。updateConfig 对齐控制台服务设置页。删除操作需要确认,建议设置force=true。新环境首次部署前若提示未开通云托管,先调用 initEnv 开通(异步、幂等)。",
    "execution": {
      "taskSupport": "forbidden"
    },
-             "description": "服务监听端口配置。函数型服务固定为3000,容器型服务可自定义。服务代码必须监听此端口才能正常接收请求",
+             "description": "服务监听端口配置。函数型服务固定为3000(函数框架自身监听该端口,业务代码不要自行 app.listen);容器型服务可自定义,业务代码必须监听此端口",
              "maximum": 65535,
              "minimum": 1,
              "type": "number"
+         "pattern": "^[a-zA-Z][a-zA-Z0-9_-]{2,44}$",
          "type": "string"
        },
        "serverType": {
+       },
+       "waitRegistration": {
+         "default": true,
+         "description": "deploy 时是否等待平台登记本次发布(默认 true,最多约 45 秒)。等待是为了拿到后续查询所需的标识(源码构建的 BuildId / 镜像部署的 RunId);设为 false 时只做一次探测就返回,响应更快,适合不需要 buildId、之后再按需查询发布任务状态的场景",
+         "type": "boolean"
        }
      },
      "required": [
-       "action",
-       "serverName"
+       "action"
      ],
      "type": "object"
    },
--- pinned/manageDataModel
+++ observed/manageDataModel
  {
    "_meta": {
      "category": "database"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "数据模型查询工具,支持查询和列表数据模型(只读操作)。通过 action 参数区分操作类型:list=获取模型列表(不含Schema,可选 names 参数过滤),get=查询单个模型详情(含Schema字段列表、格式、关联关系等,需要提供 name 参数),docs=生成SDK使用文档(需要提供 name 参数)",
--- pinned/manageEnv
+++ observed/manageEnv
  {
    "_meta": {
      "category": "env"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "管理 CloudBase 环境,支持:listPackages=查询可选套餐列表,create=创建新环境(需确认),modifyPlan=变更套餐(升降配,需确认),renew=续费环境(需确认)。\n\n⚠️ 所有涉及费用的操作(create/modifyPlan/renew),执行前必须展示配置摘要并等待用户通过 confirm=\"yes\" 确认。",
+   "description": "管理 CloudBase 环境,支持:listPackages=查询可选套餐列表,create=创建新环境(需确认),modifyPlan=变更套餐(升降配,需确认),renew=续费环境(需确认),addSecurityDomain=添加环境安全域名(浏览器 CORS 白名单,不计费、无需确认),removeSecurityDomain=删除环境安全域名(不计费、无需确认)。\n\n⚠️ 涉及费用的操作(create/modifyPlan/renew),执行前必须展示配置摘要并等待用户通过 confirm=\"yes\" 确认;安全域名操作(addSecurityDomain/removeSecurityDomain)不计费,无需 confirm。\n\nℹ️ 安全域名=浏览器跨域(CORS)白名单,控制允许哪些网页 origin(host:port)从浏览器直接调用本环境的 CloudBase 资源,不提供访问域名、不涉及 HTTPS 证书。给自己的域名绑定 HTTPS 访问入口(云托管/网关服务)属于 manageGateway(listCustomDomains/bindCustomDomain)的职责,与本工具无关。",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "操作类型:listPackages=查询可选套餐,create=创建环境,modifyPlan=变更套餐,renew=续费",
+         "description": "操作类型:listPackages=查询可选套餐,create=创建环境,modifyPlan=变更套餐,renew=续费,addSecurityDomain=添加安全域名(CORS 白名单条目),removeSecurityDomain=删除安全域名",
          "enum": [
            "listPackages",
            "create",
-           "renew"
+           "renew",
+           "addSecurityDomain",
+           "removeSecurityDomain"
          ],
          "type": "string"
        },
+       "domains": {
+         "description": "安全域名数组(格式:host:port,例如 localhost:5173 或 127.0.0.1:4173)。仅 action=addSecurityDomain/removeSecurityDomain 时有效且必填。注意:这是 CORS 白名单条目,不是自定义域名,不需要证书。添加前应先用 queryEnv(action=domains) 检查浏览器实际 origin 是否已在白名单中。",
+         "items": {
+           "type": "string"
+         },
+         "type": "array"
+       },
        "duration": {
          "description": "购买或续费时长(月),action=create/renew 时可选,默认 1",
          "maximum": 36,
+       "externalStorage": {
+         "additionalProperties": false,
+         "description": "云存储共享桶配置(action=create 时可选)。传入该对象表示该环境不再自动分配独立 COS 桶,而是使用指定桶作为云存储介质,通过 basePath 与同桶其他环境隔离;仅作用于云存储,静态托管的存储桶由平台在开通托管时分配。三个字段必须完整传入。⚠️ 与 region 同理:二次调用(confirm=\"yes\")只读本次参数,漏传会创建出使用独立桶的环境且不报错。",
+         "properties": {
+           "basePath": {
+             "description": "基础路径前缀,在同一共享桶内需唯一,用于与同桶其他环境隔离",
+             "minLength": 1,
+             "type": "string"
+           },
+           "bucketName": {
+             "description": "共享桶名称(COS 桶名)",
+             "minLength": 1,
+             "type": "string"
+           },
+           "region": {
+             "description": "共享桶所属地域,例如 ap-shanghai",
+             "minLength": 1,
+             "type": "string"
+           }
+         },
+         "required": [
+           "bucketName",
+           "region",
+           "basePath"
+         ],
+         "type": "object"
+       },
        "packageId": {
          "description": "套餐 ID(action=create/modifyPlan 时必填)。可选值如 baas_personal(个人版)、baas_pf_standard(标准版)、baas_pf_enterprise(企业版)",
          "type": "string"
+       "region": {
+         "description": "创建地域(仅 action=create 时有效)。按 X-TC-Region 语义透传,决定新环境所在地域;等价 CLI:tcb env create --region ap-shanghai。不传则用当前会话地域(cloudBaseOptions.region → TCB_REGION → 项目配置 / rc 绑定 → 站点默认地域:国内站 ap-shanghai、国际站 ap-singapore)。注意:region 不写进 CreateEnv 请求体,而是通过请求层地域上下文生效——这与「请勿把 Region 放进 params」的 callCloudApi 约定一致。⚠️ ap-singapore 同时属于国内站与国际站,未显式指定站点时会被判定为国际站(site=intl);如需在国内站该地域创建,请先 auth(site=\"domestic\") 或设置 TCB_SITE=domestic。",
+         "enum": [
+           "ap-shanghai",
+           "ap-guangzhou",
+           "ap-singapore"
+         ],
+         "type": "string"
+       },
        "resources": {
-         "description": "启用的资源类型(action=create 时可选)。省略时默认全部四项:flexdb(文档数据库)、storage(存储)、function(云函数)、postgresql(PostgreSQL)。CreateEnv 要求 Resources 非空,MCP 会始终下发该字段。",
+         "description": "启用的资源类型(action=create 时可选)。可选值:storage(存储)、function(云函数)、postgresql(PostgreSQL),省略时默认全部三项。CreateEnv 要求 Resources 非空,MCP 会始终下发该字段。不再包含 flexdb(文档数据库):新建环境不会创建 NoSQL 实例,其可用性以 queryEnv(action=\"info\") 返回的 EnvInfo.RuntimeBackends 为准。",
          "items": {
            "enum": [
-             "flexdb",
              "storage",
              "function",
              "postgresql"
-   "title": "CloudBase 环境管理(创建/变配/续费)"
+   "title": "CloudBase 环境管理(创建/变配/续费/安全域名)"
  }
--- pinned/manageFunctions
+++ observed/manageFunctions
  {
    "_meta": {
      "category": "functions"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "CloudBase 云函数统一写入口。支持创建函数、更新代码、更新配置、调用函数、管理定时跑 / 定时任务 / scheduled job 的 timer 触发器和层绑定。如果要创建 cron 定时任务,先用 createFunction 创建函数,再用 createFunctionTrigger 创建 timer 触发器(支持7段cron表达式),deleteFunctionTrigger 删除触发器。镜像部署(Runtime=CustomImage):先把代码经 zip→COS→CloudApp custom 构建→TCR 推镜像(这一阶段为裸腾讯云 API,本工具不覆盖),再用 createFunction(func.runtime=\"CustomImage\", imageConfig) 基于 TCR 镜像创建 HTTP 函数;后续迭代用 updateFunctionCode + imageConfig 换镜像 tag。危险操作需要显式 confirm=true。\n\n**层(Layer)说明**:\n- 层为 SCF 账号级共享命名空间:不同环境创建同名层会共享同一层的版本序列;删除某版本会影响所有绑定该版本的环境的函数\n- 创建层必须用带环境标识的唯一层名,固定格式:`{layerName}_{当前envId}`(如 `common_cloud1-d9ghadgak3edf6b36`)。不要在不同环境使用相同裸层名,创建前先 `listLayers` 查重\n- 相关 action:`createLayerVersion` / `deleteLayerVersion` / `attachLayer` / `detachLayer` / `updateFunctionLayers`(只读查询见 queryFunctions 的 listLayers / listLayerVersions / getLayerVersionDetail)",
+   "description": "CloudBase 云函数统一写入口。支持创建函数、更新代码、更新配置、调用函数、发布版本、配置流量别名、管理定时跑 / 定时任务 / scheduled job 的 timer 触发器和层绑定。如果要创建 cron 定时任务,先用 createFunction 创建函数,再用 createFunctionTrigger 创建 timer 触发器(支持7段cron表达式),deleteFunctionTrigger 删除触发器。版本发布:`publishVersion` 对齐 tcb fn publish-version / SDK publishVersion;灰度/切流:`updateFunctionAliasConfig` 对齐 tcb fn config-route / SDK updateFunctionAliasConfig(aliasName 默认 `$DEFAULT`)。HTTP 云函数镜像构建部署:createFunction / updateFunctionCode 通过 func.buildStrategy 区分。func.buildStrategy=image(已有镜像,填 func.imageConfig.imageUri)直接创建/更新 HTTP 函数;func.buildStrategy=local(本地 Docker 构建推送)、cloud(CloudApp 云端构建)走镜像构建部署编排(需要 func.imageConfig;build 非必填,缺省仓库坐标自动补齐:namespace 默认 envId、repository 默认函数名),默认仅生成 dry-run 计划;传入 dryRun=false 且 confirm=true 后执行真实部署。真实部署可传 wait=false 立即返回 taskId,再通过 queryFunctions 的 getFunctionDeployStatus 查询进度和结果。wait=false 仅表示当前 Tool 不等待完整部署;调用方不得在 status=running 时结束流程,必须自动轮询到 succeeded/failed 后再向用户汇报,除非达到轮询上限。local 始终要求本地 MCP 模式;cloud 的真实执行需要读取本地构建上下文,也要求本地 MCP 模式;cloud mode 仅支持 cloud dry-run 和 image 策略。func.buildStrategy 省略或为 zip 时按传统代码包部署。危险操作需要显式 confirm=true。\n\n**个人版 TCR 凭证**:imageType=personal 的 local/cloud 构建需要推送凭证。若 MCP 配置的 env 中已设置 TCB_TCR_USERNAME 与 TCB_TCR_PASSWORD(与 TENCENTCLOUD_SECRETID 等密钥同样的配置方式),则不需要在请求参数中传递 func.imageConfig.build.registryCredential,留空即可自动读取。不要向用户索要密码明文,也不要把密码写进工具参数。\n注意这条 env 通道只在**本地 stdio MCP、且客户端的 mcp.json 支持自定义 env 块**时可用:部分 GUI 客户端不继承 shell 的 export,IDE 内置型 MCP 的凭据注入通常是硬编码白名单(例如只放行 TENCENTCLOUD_*),这类用户没有配置自定义 env 的通道,「在 MCP 配置的 env 中设置」对他们是无效指引。面向内置 MCP 用户应改为引导:使用企业版(imageType=enterprise,走实例临时令牌,不需要固定密码),或改用 buildStrategy=image 直接部署已推送的镜像。\n**企业版登录态要求**:enterprise 的 cloud/local 构建要经 CAM 铸造 TCR 临时令牌,环境级 API Key 与 OAuth 换出的临时凭据都不带 CAM 策略,会被前置拦截并提示改用账号级密钥或 image 策略;个人版走静态密码直接 docker login,不经过 CAM,反而是 API Key 用户唯一能走通的构建路径。\n\n**层(Layer)说明**:\n- 层为 SCF 账号级共享命名空间:不同环境创建同名层会共享同一层的版本序列;删除某版本会影响所有绑定该版本的环境的函数\n- 创建层必须用带环境标识的唯一层名,固定格式:`{layerName}_{当前envId}`(如 `common_cloud1-d9ghadgak3edf6b36`)。不要在不同环境使用相同裸层名,创建前先 `listLayers` 查重\n- 相关 action:`createLayerVersion` / `deleteLayerVersion` / `attachLayer` / `detachLayer` / `updateFunctionLayers`(只读查询见 queryFunctions 的 listLayers / listLayerVersions / getLayerVersionDetail)",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "写操作类型,例如 createFunction、updateFunctionCode、incrementalDeployFunction、invokeFunction、deleteFunction、createFunctionTrigger(定时任务 / cron / timer)、deleteFunctionTrigger、createLayerVersion、deleteLayerVersion、attachLayer、detachLayer、updateFunctionLayers。层名推荐固定格式 `{layerName}_{当前envId}`(如 common_cloud1-d9ghadgak3edf6b36)",
+         "description": "写操作类型,例如 createFunction、updateFunctionCode、incrementalDeployFunction、invokeFunction、deleteFunction、createFunctionTrigger(定时任务 / cron / timer)、deleteFunctionTrigger、createLayerVersion、deleteLayerVersion、attachLayer、detachLayer、updateFunctionLayers、publishVersion(发布新版本,对齐 tcb fn publish-version)、updateFunctionAliasConfig(更新别名/流量路由,对齐 tcb fn config-route)。层名推荐固定格式 `{layerName}_{当前envId}`(如 common_cloud1-d9ghadgak3edf6b36)",
          "enum": [
            "createFunction",
            "updateFunctionCode",
+           "publishVersion",
+           "updateFunctionAliasConfig",
            "incrementalDeployFunction"
          ],
          "type": "string"
+       "aliasName": {
+         "description": "`updateFunctionAliasConfig` 的别名名称。省略时默认 `$DEFAULT`(与 tcb fn config-route 一致)",
+         "type": "string"
+       },
+       "autoGrant": {
+         "default": false,
+         "description": "镜像部署是否允许 manager-node 自动补齐固定白名单 CAM 策略。默认 false;仅在明确确认权限变更时设为 true。",
+         "type": "boolean"
+       },
        "base64Content": {
          "description": "层内容的 base64 编码",
          "type": "string"
+       "code": {
+         "additionalProperties": false,
+         "description": "ZIP 两段式部署阶段 B:代码包已通过 queryFunctions action=getFunctionUploadUrl 上传到环境 COS 桶。三元组(cosBucketName/cosObjectName/cosBucketRegion)直接使用 getFunctionUploadUrl 返回值原样透传。传入 code 后 createFunction/updateFunctionCode 不再读取本地目录(functionRootPath/zipFile 均不需要),默认不触发云端依赖安装(可用 func.installDependency 覆盖)。code 三元组必须是同一个 MCP 进程的 getFunctionUploadUrl 刚返回的那一组(该 process 会在阶段 A 登记上传目标),自行拼装或跨环境复用会被拒绝并要求重新取地址。",
+         "properties": {
+           "cosBucketName": {
+             "description": "环境存储桶短名(不含 -appid 后缀),直接使用 getFunctionUploadUrl 返回的 cosBucketName,不要自填",
+             "type": "string"
+           },
+           "cosBucketRegion": {
+             "description": "存储桶地域,省略时自动使用当前环境存储桶地域",
+             "type": "string"
+           },
+           "cosObjectName": {
+             "description": "上传对象 key,直接使用 getFunctionUploadUrl 返回的 cosObjectName",
+             "type": "string"
+           }
+         },
+         "required": [
+           "cosBucketName",
+           "cosObjectName"
+         ],
+         "type": "object"
+       },
        "codeSecret": {
          "description": "层绑定时的代码保护密钥",
          "type": "string"
-         "description": "危险操作确认开关。deleteFunction、deleteFunctionTrigger、deleteLayerVersion、detachLayer 等删除类操作需要显式传入 confirm=true",
+         "description": "危险操作确认开关。deleteFunction、deleteFunctionTrigger、deleteLayerVersion、detachLayer 等删除类操作以及镜像构建部署(func.buildStrategy=cloud/local)真实执行需要显式传入 confirm=true",
          "type": "boolean"
        },
        "contentPath": {
-         "description": "层版本描述",
+         "description": "描述信息。createLayerVersion 时为层版本描述;publishVersion / updateFunctionAliasConfig 时为版本或别名描述",
          "type": "string"
        },
+       "dryRun": {
+         "default": true,
+         "description": "镜像构建部署(func.buildStrategy=cloud/local)是否只生成部署计划。默认 true;传 false 时必须同时传 confirm=true。",
+         "type": "boolean"
+       },
        "envVariables": {
          "additionalProperties": {
            "type": "string"
-         "description": "createFunction 操作的函数配置",
+         "description": "createFunction / updateFunctionCode 的函数配置。镜像/构建部署通过 func.buildStrategy(zip/cloud/local/image)区分,镜像相关字段收敛在 func.imageConfig 命名空间下。",
          "properties": {
+           "buildStrategy": {
+             "description": "HTTP 函数部署策略:zip=代码包部署(默认,缺省即 zip);image=使用已有镜像(imageConfig.imageUri 必填);cloud=云端构建镜像;local=本地 Docker 构建镜像。cloud/local 走镜像构建部署编排,需要 imageConfig;其中 build 非必填:目标仓库坐标(namespace 默认 envId、repository 默认函数名)等缺省可自动补齐,仅在需要指定构建细节或个人版 build.registryCredential 等特定字段时才提供 build。",
+             "enum": [
+               "zip",
+               "cloud",
+               "local",
+               "image"
+             ],
+             "type": "string"
+           },
            "envVariables": {
              "additionalProperties": {
                "type": "string"
-             "description": "镜像部署配置(仅 runtime=CustomImage 时使用)。用于 zip→COS→CloudApp custom 构建→TCR→SCF 的「阶段 B」:基于已推送到 TCR 的镜像创建 HTTP 函数。传入 imageConfig 后即按镜像部署处理,函数无需打包本地代码、scf_bootstrap 或 Handler。",
+             "description": "镜像配置(buildStrategy=image/cloud/local 或 runtime=CustomImage 时使用),镜像相关字段全部收敛在此命名空间下。image:填 imageUri 使用已有镜像;cloud/local:可填 build 描述如何构建,省略时用默认仓库坐标自动补齐。传入已有镜像(imageUri)即按镜像部署处理,函数无需打包本地代码、scf_bootstrap 或 Handler。",
              "properties": {
                "args": {
-                 "description": "覆盖镜像 CMD,空格分隔,例如 -u app.py。",
+                 "description": "覆盖镜像启动参数,空格分隔,例如 -u app.py。",
                  "type": "string"
                },
+               "argsList": {
+                 "description": "镜像启动参数的数组写法,元素已按参数切分,适用于参数本身含空格的场景。",
+                 "items": {
+                   "type": "string"
+                 },
+                 "type": "array"
+               },
+               "build": {
+                 "additionalProperties": false,
+                 "description": "镜像构建目标。buildStrategy=cloud(云端构建)或 local(本地 Docker 构建)时使用;buildStrategy=image(已有镜像)不填。cloud/local 下 build 非必填:缺省仓库坐标可自动补齐(namespace 默认 envId、repository 默认函数名),仅需指定构建细节或个人版 build.registryCredential 等字段时才填。",
+                 "properties": {
+                   "buildArgs": {
+                     "additionalProperties": {
+                       "type": "string"
+                     },
+                     "description": "Docker 构建参数。禁止传递密钥或凭证。",
+                     "type": "object"
+                   },
+                   "cwd": {
+                     "description": "镜像构建上下文的绝对目录。",
+                     "type": "string"
+                   },
+                   "dockerfile": {
+                     "description": "Dockerfile 相对 build.cwd 的路径,默认 Dockerfile。",
+                     "type": "string"
+                   },
+                   "forceBuild": {
+                     "description": "是否忽略同摘要复用并强制重新构建。",
+                     "type": "boolean"
+                   },
+                   "namespace": {
+                     "description": "目标镜像命名空间;不传时默认使用当前环境 ID(envId)。",
+                     "minLength": 1,
+                     "type": "string"
+                   },
+                   "platform": {
+                     "const": "linux/amd64",
+                     "description": "目标镜像平台,当前仅支持 linux/amd64。",
+                     "type": "string"
+                   },
+                   "registryCredential": {
+                     "additionalProperties": false,
+                     "description": "个人版 TCR 推送凭证(personal local/cloud 需要)。推荐整体省略,改为在 MCP 配置的 env 中设置 TCB_TCR_USERNAME 与 TCB_TCR_PASSWORD,与 TENCENTCLOUD_SECRETID 等密钥的配置方式一致;已设置环境变量时不需要在请求参数中传递凭证。字段级回退:显式传入的字段优先,未传字段读环境变量。",
+                     "properties": {
+                       "password": {
+                         "description": "个人版 CCR 固定密码。**不要在此字段填写明文密码**:请在 MCP 配置的 env 中设置 TCB_TCR_PASSWORD,本字段留空即可自动读取。敏感字段,禁止写入日志或响应。",
+                         "maxLength": 16384,
+                         "minLength": 1,
+                         "type": "string"
+                       },
+                       "username": {
+                         "description": "个人版 CCR 登录用户名,必须为腾讯云账号 UIN。省略时回退读取 MCP 进程的 TCB_TCR_USERNAME 环境变量。",
+                         "pattern": "^\\d{5,20}$",
+                         "type": "string"
+                       }
+                     },
+                     "type": "object"
+                   },
+                   "registryId": {
+                     "description": "企业版 TCR 实例 ID;personal 镜像构建不填。",
+                     "minLength": 1,
+                     "type": "string"
+                   },
+                   "repository": {
+                     "description": "不含 tag/digest 的目标仓库路径;不传时默认使用函数名。local personal 需填写完整 registry/namespace/repository。",
+                     "minLength": 1,
+                     "type": "string"
+                   },
+                   "retainedTags": {
+                     "description": "个人版 TCR 构建完成后保留的最新镜像标签数量。",
+                     "exclusiveMinimum": 0,
+                     "type": "integer"
+                   },
+                   "tag": {
+                     "description": "local 策略的目标镜像 tag;cloud 策略由平台生成,不填。",
+                     "pattern": "^[A-Za-z0-9_][A-Za-z0-9._-]{0,127}$",
+                     "type": "string"
+                   }
+                 },
+                 "required": [
+                   "cwd"
+                 ],
+                 "type": "object"
+               },
                "command": {
-                 "description": "覆盖镜像 ENTRYPOINT。不填则使用 Dockerfile 默认值,例如 python。",
+                 "description": "覆盖镜像启动命令,例如 python;不填则使用镜像 Dockerfile 中的默认值。",
                  "type": "string"
                },
+               "commandList": {
+                 "description": "镜像启动命令的数组写法,元素已按参数切分,适用于命令本身含空格的场景。",
+                 "items": {
+                   "type": "string"
+                 },
+                 "type": "array"
+               },
                "containerImageAccelerate": {
-                 "description": "是否开启镜像加速。镜像较大时建议开启以缩短冷启动时间。",
+                 "description": "是否开启镜像加速;镜像较大时建议开启以缩短冷启动时间。",
                  "type": "boolean"
                },
                "entryPoint": {
-                 "description": "镜像入口点,一般不需要单独设置。",
+                 "description": "覆盖镜像入口点(ENTRYPOINT),一般不需要单独设置。",
+                 "minLength": 1,
                  "type": "string"
                },
                "imagePort": {
-                 "description": "容器监听端口。Web Server 函数填 9000(默认),Job 型镜像填 -1。",
+                 "const": 9000,
+                 "description": "HTTP 镜像函数监听端口,SDK 仅允许 9000;省略即用该值,不要填其他端口。",
                  "type": "number"
                },
                "imageType": {
-                 "description": "镜像仓库类型:enterprise(企业版 TCR)或 personal(个人版)。省略时默认 enterprise。",
+                 "description": "镜像仓库类型:enterprise=企业版 TCR,personal=个人版 CCR;省略时由 SDK 推断——填了 registryId 推断为 enterprise,否则推断为 personal。",
                  "enum": [
                    "enterprise",
                    "personal"
-                 "description": "完整镜像地址(必须含 tag),格式 {domain}/{namespace}/{image}:{tag},例如 ccr.ccs.tencentyun.com/your-ns/demo-app:demo-app-001。不要使用 :latest。",
+                 "description": "完整镜像地址(必须含 tag),格式 {domain}/{namespace}/{image}:{tag},例如 ccr.ccs.tencentyun.com/your-ns/demo-app:demo-app-001。不要使用 :latest。buildStrategy=image(已有镜像)时必填;buildStrategy=cloud/local 可以不填:镜像地址由构建流程产出并回传;目标仓库由 build.repository/build.namespace 决定,显式提供时优先使用你提供的配置,省略时由 manager-node 用默认值自动补齐并创建/复用(namespace 默认 envId、repository 默认函数名)。",
                  "type": "string"
                },
+               "localFallback": {
+                 "description": "buildStrategy=local 时本地构建不可用的处理方式,默认 error。",
+                 "enum": [
+                   "cloud",
+                   "error"
+                 ],
+                 "type": "string"
+               },
                "registryId": {
-                 "description": "TCR 实例 ID,形如 tcr-xxxxxxxx。imageType=enterprise 时必填。",
+                 "description": "企业版 TCR 实例 ID,形如 tcr-xxxxxxxx;imageType=enterprise 时必填,个人版镜像不填。",
+                 "minLength": 1,
                  "type": "string"
                }
              },
-             "required": [
-               "imageUri"
-             ],
              "type": "object"
            },
            "instanceConcurrencyConfig": {
-         "description": "目标函数名称(顶层)。updateFunctionCode / updateFunctionConfig / invokeFunction 等 action 使用此字段。不要只写在 func.name:createFunction 用 func.name,其它 action 用顶层 functionName。若误传 func.name,也会被识别为 functionName。",
+         "description": "目标函数名称(顶层)。updateFunctionCode / updateFunctionConfig / invokeFunction / publishVersion / updateFunctionAliasConfig 等 action 使用此字段。不要只写在 func.name:createFunction 用 func.name,其它 action 用顶层 functionName。若误传 func.name,也会被识别为 functionName。",
          "type": "string"
        },
        "functionRootPath": {
+       "functionVersion": {
+         "description": "`updateFunctionAliasConfig` 的主版本。可为具体版本号或 `$LATEST`",
+         "type": "string"
+       },
        "handler": {
          "description": "函数入口",
          "type": "string"
-       "imageConfig": {
-         "$ref": "#/properties/func/properties/imageConfig",
-         "description": "镜像部署配置(Runtime=CustomImage)。createFunction 时基于 TCR 镜像创建 HTTP 函数,updateFunctionCode 时仅更换镜像 tag。需提供 imageUri(含 tag),企业版 TCR 还需 registryId。也可在 func.imageConfig 中提供;两处都传时以顶层 imageConfig 优先。"
-       },
        "incrementalFile": {
          "description": "incrementalDeployFunction 增量部署时的变更文件路径",
          "type": "string"
+       "routingConfig": {
+         "additionalProperties": false,
+         "description": "`updateFunctionAliasConfig` 的流量路由配置。AdditionalVersionWeights 用于灰度权重;AddtionVersionMatchs 为 SCF/SDK 历史字段名(含拼写)",
+         "properties": {
+           "AdditionalVersionWeights": {
+             "description": "附加版本权重列表(灰度发布)",
+             "items": {
+               "additionalProperties": false,
+               "properties": {
+                 "Version": {
+                   "description": "附加流量版本号",
+                   "type": "string"
+                 },
+                 "Weight": {
+                   "description": "附加流量权重(0-1 或百分比,按 SCF 约定)",
+                   "type": "number"
+                 }
+               },
+               "required": [
+                 "Version",
+                 "Weight"
+               ],
+               "type": "object"
+             },
+             "type": "array"
+           },
+           "AddtionVersionMatchs": {
+             "description": "附加版本匹配规则列表(字段名保持 SCF AddtionVersionMatchs)",
+             "items": {
+               "additionalProperties": false,
+               "properties": {
+                 "Expression": {
+                   "description": "匹配表达式",
+                   "type": "string"
+                 },
+                 "Key": {
+                   "description": "匹配规则的 Header/Query Key",
+                   "type": "string"
+                 },
+                 "Method": {
+                   "description": "匹配方法,如 Exact / Regex",
+                   "type": "string"
+                 },
+                 "Version": {
+                   "description": "匹配规则指向的版本号",
+                   "type": "string"
+                 }
+               },
+               "required": [
+                 "Version",
+                 "Key",
+                 "Method",
+                 "Expression"
+               ],
+               "type": "object"
+             },
+             "type": "array"
+           }
+         },
+         "type": "object"
+       },
        "runtimes": {
          "description": "层适用的运行时列表",
          "items": {
+       "wait": {
+         "default": true,
+         "description": "真实镜像部署是否等待完整部署;设为 false 立即返回 taskId 并后台执行。默认 true 是为了兼容既有调用方,但同步等待最长可达约 15 分钟,很容易先撞上 MCP Client 的请求超时——客户端超时只是断开这次请求,云端部署仍在继续,却拿不到 taskId 追踪。因此执行真实构建部署(buildStrategy=cloud/local,dryRun=false)时建议显式传 wait=false。",
+         "type": "boolean"
+       },
        "zipFile": {
          "description": "仅兼容特殊场景:预先准备好的代码包 base64 编码。普通 createFunction/updateFunctionCode 默认不要先压缩 zip,优先使用 functionRootPath。",
          "type": "string"
--- pinned/manageGateway
+++ observed/manageGateway
  {
    "_meta": {
      "category": "gateway"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "CloudBase HTTP 网关统一写入口(Domain/Route)。createRoute/updateRoute/deleteRoute 把域名下的 path 转到上游;enableRoute/disableRoute 启用或禁用已有路由(底层 ModifyHTTPServiceRoute 的 Routes[].Enable,不是 ModifyGatewayRoute)。未传 domain 时用 DomainType=HTTPSERVICE 的 IsDefault 默认 HTTP 域名(形如 *.{region}.app.tcloudbase.com),不会使用静态托管 CDN 域名(*.tcloudbaseapp.com,DomainType=STATIC_STORE)。这是网关默认域上的路径路由,不是 STATIC_STORE 上游绑定;STATIC_STORE 上游必须显式传 upstreamResourceType=STATIC_STORE。关闭静态托管默认域名(*.tcloudbaseapp.com):先 queryGateway(listRoutes) 找到 DomainType=STATIC_STORE 且 IsDefault=true 的 domain,再 manageGateway(action=\"disableRoute\", domain=该域名, path=\"/\");勿用 manageHosting。创建后可用 queryGateway(action=\"listRoutes\") 核对 Domain / DomainType / Path / UpstreamResourceType。上游类型只用一个参数 upstreamResourceType(也可写在 route.upstreamResourceType,route 优先):WEB_SCF=HTTP云函数,SCF=Event云函数,CBR=云托管,STATIC_STORE=静态托管,LH=轻量应用服务器;配合 targetName 或 route.serviceName(云函数名/云托管服务名/静态托管实例名,常见 staticstore)。createRoute 只建网关入口,不改上游权限。enablePathTransmission:默认 false 剥触发路径前缀;true 透传完整路径(CBR 多路由、WEB_SCF 自管子路径常需 true;STATIC_STORE 自定义触发路径映射站点根通常 false)。⚠️ 自定义域名访问:若环境已有自定义域名(先 queryGateway listCustomDomains),优先 createRoute 并显式传入该 domain,无需 certificateId;仅首次绑定全新自定义域名时用 bindCustomDomain(certificateId 可选:未传时按域名自动检索证书,单证书自动选用、多证书返回选择指引)。createRoute / bindCustomDomain 创建前会调用 VerifyHTTPServiceRoute 做归属权等预检(探测→创建);失败时返回 data.checks 与 DNS TXT 指引,配置后重试。CORS/安全域名用 envDomainManagement。enableService/authSwitch:HTTP 网关总开关与访问鉴权开关;createRoute 后若访问报 HTTPSERVICE_NONACTIVATED,通常是总开关未开启(用 queryGateway getPrivilege 查询、enableService 开启)。",
+   "description": "CloudBase HTTP 网关统一写入口(Domain/Route)。createRoute/updateRoute/deleteRoute 把域名下的 path 转到上游;enableRoute/disableRoute 启用或禁用已有路由(底层 ModifyHTTPServiceRoute 的 Routes[].Enable,不是 ModifyGatewayRoute)。未传 domain 时用 DomainType=HTTPSERVICE 的 IsDefault 默认 HTTP 域名(形如 *.{region}.app.tcloudbase.com),不会使用静态托管 CDN 域名(*.tcloudbaseapp.com,DomainType=STATIC_STORE)。这是网关默认域上的路径路由,不是 STATIC_STORE 上游绑定;STATIC_STORE 上游必须显式传 upstreamResourceType=STATIC_STORE。关闭静态托管默认域名(*.tcloudbaseapp.com):先 queryGateway(listRoutes) 找到 DomainType=STATIC_STORE 且 IsDefault=true 的 domain,再 manageGateway(action=\"disableRoute\", domain=该域名, path=\"/\");勿用 manageHosting。创建后可用 queryGateway(action=\"listRoutes\") 核对 Domain / DomainType / Path / UpstreamResourceType。上游类型只用一个参数 upstreamResourceType(也可写在 route.upstreamResourceType,route 优先):WEB_SCF=HTTP云函数,SCF=Event云函数,CBR=云托管,STATIC_STORE=静态托管,LH=轻量应用服务器;配合 targetName 或 route.serviceName(云函数名/云托管服务名/静态托管实例名,常见 staticstore)。createRoute 只建网关入口,不改上游权限。enablePathTransmission:默认 false 剥触发路径前缀;true 透传完整路径(CBR 多路由、WEB_SCF 自管子路径常需 true;STATIC_STORE 自定义触发路径映射站点根通常 false)。⚠️ 自定义域名访问:若环境已有自定义域名(先 queryGateway listCustomDomains),优先 createRoute 并显式传入该 domain,无需 certificateId;仅首次绑定全新自定义域名时用 bindCustomDomain(certificateId 可选:未传时按域名自动检索证书,单证书自动选用、多证书返回选择指引)。createRoute / bindCustomDomain 创建前会调用 VerifyHTTPServiceRoute 做归属权等预检(探测→创建);失败时返回 data.checks 与 DNS TXT 指引,配置后重试。CORS/安全域名(浏览器跨域白名单,与本工具的网关自定义域名无关)用 manageEnv(action=addSecurityDomain/removeSecurityDomain)。enableService/authSwitch:HTTP 网关总开关与访问鉴权开关;createRoute 后若访问报 HTTPSERVICE_NONACTIVATED,通常是总开关未开启(用 queryGateway getPrivilege 查询、enableService 开启)。",
    "execution": {
      "taskSupport": "forbidden"
    },
--- pinned/manageHosting
+++ observed/manageHosting
  {
    "_meta": {
      "category": "hosting"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "管理 CloudBase 静态托管的变更操作。action=upload 上传本地构建产物到共享域名(域名格式:<envId>-<appId>.tcloudbaseapp.com/<cloudPath>);action=delete 删除托管文件或目录(必须 confirm=true);action=setWebsiteDocument 设置首页/错误页/路由规则;action=enableService 开通静态托管;action=bindDomain / unbindDomain / updateDomain 管理自定义域名;action=downloadFile / downloadDirectory 下载托管内容到本地。⚠️ 底层每次托管操作都会请求 DescribeStaticStore 管控接口(20 次/秒 QPS 限制):批量删除多个文件请逐次调用并保持间隔(建议每秒不超过 10 次),同一目录下多个文件可优先用 isDir=true 一次删除整个目录;若报错含 \"frequency limit\" 说明触发了限流,请等待 1-2 秒后重试,不要连续快速重试。⚠️ 本工具没有关闭默认域名(*.tcloudbaseapp.com)的 action;要禁用该默认公网域名,请用 manageGateway(action=\"disableRoute\", domain=该 STATIC_STORE IsDefault 域名, path=\"/\")(底层 ModifyHTTPServiceRoute,不是 ModifyGatewayRoute)。⚠️ 新项目部署优先使用 manageApps(部署到独立子域名),本工具适合已有老项目继续使用或作为 manageApps 的 fallback。manageApps 与 manageHosting 域名不同,切换会导致老链接失效。若任务只是查看配置、文件或域名状态,请改用 queryHosting。",

+ tool added: manageLogs

--- pinned/manageMysqlDatabase
+++ observed/manageMysqlDatabase
  {
    "_meta": {
      "category": "SQL database"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "管理 CloudBase MySQL 数据库资源。支持开通 MySQL、销毁 MySQL、执行写入 SQL/DDL,以及初始化数据库 Schema。注意:必须先开通 MySQL(action=provisionMySQL,confirm=true)才能执行 runStatement 或 initializeSchema。若 MySQL 尚未开通,工具会返回 MYSQL_NOT_CREATED 并给出开通的 nextAction 提示。",
-         "description": "provisionMySQL=create MySQL instance; destroyMySQL=destroy MySQL instance; runStatement=execute write SQL or DDL; initializeSchema=run ordered schema initialization statements",
+         "description": "provisionMySQL=创建 MySQL 实例;destroyMySQL=销毁 MySQL 实例;runStatement=执行写入 SQL 或 DDL;initializeSchema=按顺序执行 Schema 初始化语句",
          "enum": [
            "provisionMySQL",
            "destroyMySQL",
-         "description": "Explicit confirmation required for action=provisionMySQL or action=destroyMySQL",
+         "description": "action=provisionMySQL 或 action=destroyMySQL 所需的显式确认",
          "type": "boolean"
        },
        "dbInstance": {
-         "description": "Optional SQL database instance context for runStatement/initializeSchema",
+         "description": "runStatement/initializeSchema 可选的 SQL 数据库实例上下文",
          "properties": {
            "instanceId": {
              "type": "string"
-         "description": "Official request payload used by action=provisionMySQL or action=destroyMySQL",
+         "description": "action=provisionMySQL 或 action=destroyMySQL 使用的官方请求载荷",
          "type": "object"
        },
        "requireReady": {
-         "description": "Whether initializeSchema should block until MySQL is confirmed ready. Defaults to true.",
+         "description": "initializeSchema 是否应阻塞至确认 MySQL 就绪。默认为 true。",
          "type": "boolean"
        },
        "sql": {
-         "description": "SQL statement used by action=runStatement",
+         "description": "action=runStatement 使用的 SQL 语句",
          "type": "string"
        },
        "statements": {
-         "description": "Ordered schema initialization SQL statements used by action=initializeSchema",
+         "description": "action=initializeSchema 使用的有序 Schema 初始化 SQL 语句",
          "items": {
            "type": "string"
          },
-         "description": "Optional provisioning status requests used to confirm readiness before initializeSchema",
+         "description": "initializeSchema 前用于确认就绪状态的可选开通状态请求",
          "properties": {
            "createResultRequest": {
              "additionalProperties": {},
--- pinned/managePermissions
+++ observed/managePermissions
  {
    "_meta": {
      "category": "permissions"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
-   "description": "管理 CloudBase 权限与用户配置,支持修改资源权限(数据库/云函数/存储桶等)、角色管理、成员与策略增删、应用用户 CRUD,以及设置网关 OPA Rego 策略(对齐 CLI `tcb policy set`)。\n\n示例:\n- 设置存储桶为私有:`action=\"updateResourcePermission\", resourceType=\"storage\", resourceId=\"bucket-name\", permission=\"PRIVATE\"`\n- 创建角色:`action=\"createRole\", roleName=\"admin\", roleIdentity=\"admin\"`\n- 放开云函数匿名/未登录访问(PG 会走 OPA,对齐 CLI `tcb policy set`):`action=\"updateResourcePermission\", resourceType=\"function\", resourceId=\"myFn\", permission=\"CUSTOM\", securityRule='{\"invoke\":true}'`\n- 直接设置用户 Rego:`action=\"setPolicy\", regoContent=\"package authz.user\\n\\ndefault allow := false\\n\", confirm=true`(⚠️ 立即禁用旧网关鉴权)\n\n注意:`createUser` / `updateUser` 是环境侧应用用户管理能力,适合测试账号、管理员或预置用户,不应替代浏览器里的 Web SDK 注册表单;前端用户名密码注册应使用 `auth.signUp({ username, password })`,登录应使用 `auth.signInWithPassword({ username, password })`。直接在浏览器里用 `auth.signUp` 创建用户名密码用户取决于 SDK/provider 支持,使用前必须验证;不支持时应走后端或管理端边界,不能在浏览器暴露密钥。`securityRule` 的详细语义取决于 `resourceType`:`doc._openid`、`auth.openid`、查询条件子集校验,以及 `create` / `update` / `delete` JSON 模板仅适用于 `resourceType=\"noSqlDatabase\"` 的文档数据库安全规则;配置 `function` 或 `storage` 时,请参考各自官方安全规则文档,而不是复用 NoSQL 模板。\n\n📌 跨后端边界提示:调用前先用 `envQuery(action=\"info\", envId=...)` 看 `EnvInfo.RuntimeBackends`:\n- `resourceType=\"noSqlDatabase\"` 仅作用于 CloudBase NoSQL 文档数据库的集合;CloudBase PostgreSQL(PG)表的行级权限**不**受它控制——PG 表请改用 RLS:`managePgDatabase(action=\"execute\", confirm=true)` 跑 `ALTER TABLE ... ENABLE ROW LEVEL SECURITY` 与 `CREATE POLICY ...`。同一个 PG 环境里如果还有 NoSQL 集合在用,对那些**集合**继续使用 `noSqlDatabase` 规则是正确的——不是\"PG 环境就禁用本工具\"。\n- `resourceType=\"storage\"` 控制的是 NoSQL/COS 存储桶 ACL;PG 的 `pgstore` bucket 不在此 `resourceType` 覆盖范围内。\n- 本工具不涉及 MySQL;MySQL 数据库权限请走 MySQL 自身的 GRANT/REVOKE 语句(通过 `manageMysqlDatabase`)。\n\n⚠️ PostgreSQL 环境:平台 `ModifyResourcePermission` 对 PG 环境会直接拒绝。当 `resourceType=\"function\"` 时,本工具会自动回退到 Manager SDK `modifyEnvAuthzConfig`(与 CLI `tcb policy set` 一致,写入 `authz.user.rego`)。`securityRule` 可传完整 Rego(`package authz.user`)或 `'{\"invoke\":true}'`(自动生成放通 anonymous/unauthenticated 调 functions 的策略)。设置 Rego 后旧网关鉴权会失效,行为与 CLI 相同。显式 OPA 策略请优先用 `action=\"setPolicy\"`。",
+   "description": "管理 CloudBase 权限与用户配置,支持修改资源权限(数据库/云函数/存储桶等)、角色管理、成员与策略增删、应用用户 CRUD,以及设置网关 OPA Rego 策略(对齐 CLI `tcb policy set`)。\n\n示例:\n- 设置存储桶为私有:`action=\"updateResourcePermission\", resourceType=\"storage\", resourceId=\"bucket-name\", permission=\"PRIVATE\"`\n- 创建角色:`action=\"createRole\", roleName=\"admin\", roleIdentity=\"admin\"`\n- 放开云函数匿名/未登录访问(PG 会走 OPA,对齐 CLI `tcb policy set`):`action=\"updateResourcePermission\", resourceType=\"function\", resourceId=\"myFn\", permission=\"CUSTOM\", securityRule='{\"invoke\":true}'`\n- 直接设置用户 Rego:`action=\"setPolicy\", regoContent=\"package authz.user\\n\\ndefault allow := false\\n\", confirm=true`(⚠️ 立即禁用旧网关鉴权)\n\n注意:`createUser` / `updateUser` 是环境侧应用用户管理能力,适合测试账号、管理员或预置用户,不应替代浏览器里的 Web SDK 注册表单;前端用户名密码注册应使用 `auth.signUp({ username, password })`,登录应使用 `auth.signInWithPassword({ username, password })`。直接在浏览器里用 `auth.signUp` 创建用户名密码用户取决于 SDK/provider 支持,使用前必须验证;不支持时应走后端或管理端边界,不能在浏览器暴露密钥。`securityRule` 的详细语义取决于 `resourceType`:`doc._openid`、`auth.openid`、查询条件子集校验,以及 `create` / `update` / `delete` JSON 模板仅适用于 `resourceType=\"noSqlDatabase\"` 的文档数据库安全规则;配置 `function` 或 `storage` 时,请参考各自官方安全规则文档,而不是复用 NoSQL 模板。\n\n📌 跨后端边界提示:调用前先用 `queryEnv(action=\"info\", envId=...)` 看 `EnvInfo.RuntimeBackends`:\n- `resourceType=\"noSqlDatabase\"` 仅作用于 CloudBase NoSQL 文档数据库的集合;CloudBase PostgreSQL(PG)表的行级权限**不**受它控制——PG 表请改用 RLS:`managePgDatabase(action=\"execute\", confirm=true)` 跑 `ALTER TABLE ... ENABLE ROW LEVEL SECURITY` 与 `CREATE POLICY ...`。同一个 PG 环境里如果还有 NoSQL 集合在用,对那些**集合**继续使用 `noSqlDatabase` 规则是正确的——不是\"PG 环境就禁用本工具\"。\n- `resourceType=\"storage\"` 控制的是 NoSQL/COS 存储桶 ACL;PG 的 `pgstore` bucket 不在此 `resourceType` 覆盖范围内。\n- 本工具不涉及 MySQL;MySQL 数据库权限请走 MySQL 自身的 GRANT/REVOKE 语句(通过 `manageMysqlDatabase`)。\n\n⚠️ PostgreSQL 环境:平台 `ModifyResourcePermission` 对 PG 环境会直接拒绝。当 `resourceType=\"function\"` 时,本工具会自动回退到 Manager SDK `modifyEnvAuthzConfig`(与 CLI `tcb policy set` 一致,写入 `authz.user.rego`)。`securityRule` 可传完整 Rego(`package authz.user`)或 `'{\"invoke\":true}'`(自动生成放通 anonymous/unauthenticated 调 functions 的策略)。设置 Rego 后旧网关鉴权会失效,行为与 CLI 相同。显式 OPA 策略请优先用 `action=\"setPolicy\"`。\n\n⚠️ 角色类 action(`createRole` / `deleteRoles` / `updateRole`)在 **PostgreSQL 类型环境**下平台侧一律拒绝(`The current API does not support PostgreSQL type environments.`)——平台能力边界,不是配置问题,**不要在 PG 环境反复重试**;PG 环境请改用 RLS(`managePgDatabase(action=\"execute\")` 跑 `CREATE POLICY`)或控制台管理权限。",
    "execution": {
      "taskSupport": "forbidden"
    },
--- pinned/managePgDatabase
+++ observed/managePgDatabase
  {
    "_meta": {
      "category": "PostgreSQL database"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "管理 CloudBase PostgreSQL:执行已确认的写入 SQL、SQL 风险预检、迁移管理。建表/ALTER/DROP 等 schema 变更必须使用 applyMigration(显式 migrationVersion;成功前自动写入或校验本地 cloudbase/migrations/<version>_<name>.sql,与 CLI tcb db pg migration 一致),不要默认用 execute。execute 主要用于 DML 与 GRANT/RLS 等运维 SQL。",
-         "description": "操作类型:execute=执行已确认的写入 SQL(DML/GRANT/RLS;schema DDL 默认拒绝,需 allowDdlViaExecute=true);dryRun=只分析 SQL 风险不执行;planMigration=预览迁移计划(需 migrationName + migrationVersion + sql;可选 includeAll=true 允许乱序,对齐 CLI --include-all);applyMigration=应用迁移,建表/改 schema 首选(需 migrationName + migrationVersion + sql + confirm=true;可选 includeAll;本地 SQL 缺失则自动写入 cloudbase/migrations/,内容不一致则 LOCAL_MIGRATION_FILE_MISMATCH fail-closed;成功返回前会轮询 DescribeTaskResult(默认最长 10 分钟,可用 taskPollTimeoutMs / waitForTask 调整)并校验 migrationVersion 已落入远端历史;超时返回 MIGRATION_TASK_TIMEOUT,必须先 describeMigrationTask 再 listMigrations,禁止立刻重推同 version;未落库时返回 success=false 且 errorCode=MIGRATION_NOT_APPLIED);listMigrations=查询已应用的 Migration 列表(可传 limit/offset 分页);migrationDetail=查看单条 Migration 详情(需 migrationVersion);describeMigrationTask=按 TaskId 查询 Push 异步任务状态(DescribeTaskResult:Status/Phase/Reason;需 taskId;用于 waitForTask=false / MIGRATION_TASK_TIMEOUT / 失败诊断,listMigrations 看不到 Reason);fetchMigration=从远端 history 拉取 SQL 写入本地 cloudbase/migrations/(对齐 CLI tcb db pg migration fetch;可选 migrationVersion 拉单条,省略则全量;force=true 覆盖已存在文件,默认跳过);rollbackMigration=回滚最近 N 条 Migration(需 lastN + confirm=true);repairMigration=修复 Migration 历史记录(需 migrationVersion + migrationName + repairStatus + repairReason)",
+         "description": "操作类型:execute=执行已确认的写入 SQL(DML/GRANT/RLS;schema DDL 默认拒绝,需 allowDdlViaExecute=true);dryRun=只分析 SQL 风险不执行;planMigration=预览迁移计划(需 migrationName + migrationVersion + sql;可选 includeAll=true 允许乱序,对齐 CLI --include-all);applyMigration=应用迁移,建表/改 schema 首选(需 migrationName + migrationVersion + sql + confirm=true;可选 includeAll;本地 SQL 缺失则自动写入 cloudbase/migrations/,内容不一致则 LOCAL_MIGRATION_FILE_MISMATCH fail-closed;成功返回前会轮询 DescribeTaskResult(默认最长 10 分钟,可用 taskPollTimeoutMs / waitForTask 调整)并校验 migrationVersion 已落入远端历史;超时返回 MIGRATION_TASK_TIMEOUT,必须先 describeMigrationTask 再 listMigrations,禁止立刻重推同 version;未落库时返回 success=false 且 errorCode=MIGRATION_NOT_APPLIED);listMigrations=查询已应用的 Migration 列表(可传 limit/offset 分页);migrationDetail=查看单条 Migration 详情(需 migrationVersion);describeMigrationTask=按 TaskId 查询 Push 异步任务状态(DescribeTaskResult:Status/Phase/Reason;需 taskId;用于 waitForTask=false / MIGRATION_TASK_TIMEOUT / 失败诊断,listMigrations 看不到 Reason);fetchMigration=从远端 history 拉取 SQL 写入本地 cloudbase/migrations/(对齐 CLI tcb db pg migration fetch;可选 migrationVersion 拉单条,省略则全量;force=true 覆盖已存在文件,默认跳过);repairMigration=修复 Migration 历史记录(需 migrationVersion + migrationName + repairStatus + repairReason)",
          "enum": [
            "execute",
            "dryRun",
-           "rollbackMigration",
            "repairMigration"
          ],
          "type": "string"
-       "lastN": {
-         "description": "rollback 必填:回滚最近 N 条已应用的 Migration,正整数。",
-         "exclusiveMinimum": 0,
-         "type": "integer"
-       },
        "limit": {
          "description": "list 可选:返回数量上限,1-500,默认 100。",
          "maximum": 500,
-         "description": "plan/apply/repair 必填:migration 名称,小写字母开头,仅允许小写字母、数字和下划线。",
-         "pattern": "^[a-z][a-z0-9_]*$",
+         "description": "plan/apply/repair 必填:migration 名称,小写字母开头,仅允许小写字母和下划线(不允许数字,服务端 PushPGUserMigrations 会拒绝含数字的名称)。",
+         "pattern": "^[a-z][a-z_]*$",
          "type": "string"
        },
        "migrationVersion": {
-         "description": "14 位时间戳 YYYYMMDDHHMMSS。plan/apply/detail/repair 必填;fetchMigration 可选(传入则只拉该条,省略则拉全量远端 history);禁止由服务端静默生成,避免与本地 cloudbase/migrations/<version>_<name>.sql 分叉。",
+         "description": "14 位时间戳 YYYYMMDDHHMMSS。plan/apply/detail/repair 必填;fetchMigration 可选(传入则只拉该条,省略则拉全量远端 history);禁止由服务端静默生成,避免与本地 cloudbase/migrations/<version>_<name>.sql 分叉。applyMigration 非增量:每次传完整 SQL;终态失败且 listMigrations 未落地时版本号不占用,换新 migrationVersion 重发全量 SQL 即可(同名不同版本不冲突)。",
          "pattern": "^\\d{14}$",
          "type": "string"
        },
-         "description": "可选的对象名,当前仅用于非 migration 场景。migration 相关操作请使用 migrationName / migrationVersion / lastN。",
+         "description": "可选的对象名,当前仅用于非 migration 场景。migration 相关操作请使用 migrationName / migrationVersion。",
          "type": "string"
        },
        "offset": {
--- pinned/manageStorage
+++ observed/manageStorage
  {
    "_meta": {
      "category": "storage"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "⚠️ PG 模式环境请使用 queryPgStorage 而非本工具(pgstore 与旧 COS 是两套独立系统)。\n\n管理 CloudBase 云存储文件,仅用于 COS/Storage 对象,不用于静态网站托管。支持上传文件/目录、下载文件/目录、删除文件/目录等操作。删除操作需要设置force=true进行确认,防止误删除重要文件。注意:上传后返回的 temporaryUrl 是临时签名链接,1小时后过期,不要当作永久公网地址写入配置或持久化存储。工具还会基于 DescribeEnvs 返回的 Storages[0].CdnDomain 推导 publicUrl,⚠️ 警告:publicUrl 仅在存储桶 ACL 为公有读(所有用户可读)时才能被匿名访问;默认私有读写存储桶返回的 publicUrl 会 403,此时请继续使用 temporaryUrl 或先通过控制台/SDK 将目标路径设置为公有读。\n\n💡 存储桶 ACL 权限管理请使用 permissions 工具:queryPermissions(action=\"getResourcePermission\", resourceType=\"storage\", resourceId=\"bucket-name\") 查询,managePermissions(action=\"updateResourcePermission\", resourceType=\"storage\", resourceId=\"bucket-name\", permission=\"READONLY\") 设置。\n\n📦 CloudBase PG / pgstore 桶必须先创建后使用(与 Supabase Storage 一致:upload 前 bucket 必须存在)。浏览器 SDK `app.storage.from().upload(path, file)` 不会自动建桶,且 `path` 的第一段就是 bucket 名(例如 `covers/foo.png` → bucket=`covers`);`from('covers')` 这个参数当前不会被拼到 path 里。如果上传时浏览器看到 `STORAGE_BUCKET_NOT_FOUND` 或 `PUT https://undefined/`(DevTools 表现为 `net::ERR_NAME_NOT_RESOLVED`),先用本工具或控制台确认 / 创建对应的 pgstore bucket,再让前端重试上传,不要让前端把上传失败静默吞掉。`DescribeEnvs.Storages[]` 返回的旧 NoSQL bucket(形如 `<hash>-<envId>-<appId>`)不是可用的 pgstore bucket,切勿当作默认目标使用。",
--- pinned/modifyDataModel
+++ observed/modifyDataModel
  {
    "_meta": {
      "category": "database"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "基于Mermaid classDiagram创建数据模型。为保持兼容性,工具名仍为 modifyDataModel;当前仅支持创建新模型,不支持更新现有模型结构。内置异步任务监控,自动轮询直至完成或超时。",

+ tool added: prepareFeedback

--- pinned/queryAgents
+++ observed/queryAgents
  {
    "_meta": {
      "category": "agents"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "CloudBase Agent 域统一只读入口。支持列表、详情与日志查询。",
--- pinned/queryAppAuth
+++ observed/queryAppAuth
  {
    "_meta": {
      "category": "auth"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "CloudBase 应用侧认证配置只读入口。用于查询登录方式、provider、publishable key、API key、client 配置和静态域名等认证准备状态。⚠️ 本工具为管理端配置查询工具,不执行用户登录。当任务要求编写客户端登录代码时(例如「用 JS SDK 登录」),应先通过本工具确认配置状态,再在项目代码中编写 @cloudbase/js-sdk 客户端登录代码(如 auth.signInWithPassword()),而非使用本工具完成登录。若业务要接受普通用户名样式标识符,先查询 action=getLoginConfig;若 usernamePassword=false,下一步应立即调用 manageAppAuth(action=patchLoginStrategy, patch={ usernamePassword: true }),不要直接写 email 登录 API。",
--- pinned/queryApps
+++ observed/queryApps
  {
    "_meta": {
      "category": "apps"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
-   "description": "查询 CloudBase 应用部署的应用和版本。可查应用列表/详情、版本列表/详情;部署后用 getAppVersion 按 buildId 轮询构建状态;getBuildLog 可查询构建日志用于诊断失败原因。",
+   "description": "查询 CloudBase 应用部署的应用和版本。可查应用列表/详情、版本列表/详情;部署后用 getAppVersion 按 buildId 轮询构建状态;getBuildLog 可查询构建日志用于诊断失败原因。\naction=getUploadUrl(只读)可获取预签名上传 URL:无本地文件系统时(cloud mode),先拿到 uploadUrl 自行 PUT 代码 zip,再用返回的 unixTimestamp 调 manageApps(action=deployApp, cosTimestamp) 触发部署。uploadUrl 是一次性上传凭据,不要外传或写进工单。",
    "execution": {
      "taskSupport": "forbidden"
    },
-           "getBuildLog"
+           "getBuildLog",
+           "getUploadUrl"
          ],
          "type": "string"
        },
-         "description": "构建 ID。getAppVersion 时可与 versionName 二选一;部署返回 BuildId 后可直接用它轮询状态。getBuildLog 时必填。",
-         "type": "string"
+         "description": "构建 ID(数字或数字字符串均可)。getAppVersion 时可与 versionName 二选一;部署返回 BuildId 后可直接用它轮询状态。getBuildLog 时必填。",
+         "type": [
+           "string",
+           "number"
+         ]
        },
        "pageNo": {
          "description": "分页页码,从 1 开始。",
-         "description": "CloudBase 应用服务名。getApp / listAppVersions / getAppVersion / getBuildLog 时必填;重新部署后复用同一个 serviceName 查询版本历史。",
+         "description": "CloudBase 应用服务名。getApp / listAppVersions / getAppVersion / getBuildLog / getUploadUrl 时必填;重新部署后复用同一个 serviceName 查询版本历史。",
          "type": "string"
        },
        "start": {
--- pinned/queryCloudRun
+++ observed/queryCloudRun
  {
    "_meta": {
      "category": "cloudrun"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "查询云托管服务信息,支持获取服务列表、查询服务详情、获取可用模板列表、获取构建日志(getDeployLog,仅云端源码构建/依赖 CODING)、获取运行日志(getProcessLog,镜像与源码部署均可/不依赖 CODING)、获取部署记录以及查询环境云托管开通状态(envStatus)。返回的服务信息包括服务名称、状态、访问类型、配置详情以及最近部署上下文。",
-         "description": "查询操作类型:list=获取云托管服务列表(支持分页和筛选),detail=查询指定服务的详细信息(包含服务配置和最新部署状态),templates=获取可用的项目模板列表(用于初始化新项目),getDeployLog=获取构建日志(仅云端源码构建有意义,走 CODING/DescribeCloudRunBuildLog;已有镜像部署无构建过程;未登录 CODING 的账号会报错),getProcessLog=获取运行日志(部署阶段步骤+容器启动/运行日志,走 tcbr/DescribeCloudRunProcessLog;镜像部署与源码构建均可用,不依赖 CODING;RunId 来自 detail/getDeployRecords 的 latestDeploy.RunId),getDeployRecords=获取指定服务的部署记录列表(按部署时间倒序,含 BuildId/RunId/FlowRatio/Status 等字段,用于查看历史发布与回滚上下文),envStatus=查询当前环境云托管是否已开通及开通状态(Status=creating开通中/normal已开通),用于initEnv之后轮询进度或deploy之前确认环境是否就绪",
+         "description": "查询操作类型:list=获取云托管服务列表(支持分页和筛选),detail=查询指定服务的详细信息(包含服务配置和最新部署状态),templates=获取可用的项目模板列表(用于初始化新项目),getDeployLog=获取构建日志(仅云端源码构建有意义,走 CODING/DescribeCloudRunBuildLog;已有镜像部署无构建过程;未登录 CODING 的账号会报错),getProcessLog=获取运行日志(部署阶段步骤+容器启动/运行日志,走 tcbr/DescribeCloudRunProcessLog;镜像部署与源码构建均可用,不依赖 CODING;RunId 来自 detail/getDeployRecords 的 latestDeploy.RunId),getDeployRecords=获取指定服务的部署记录列表(按部署时间倒序,含 BuildId/RunId/FlowRatio/Status 等字段,用于查看历史发布与回滚上下文),envStatus=查询当前环境云托管是否已开通及开通状态(Status=creating开通中/normal已开通),用于initEnv之后轮询进度或deploy之前确认环境是否就绪,getManageTask=查询指定服务的发布任务状态(走 tcbr/DescribeServerManageTask),返回任务 Id/Status 与最新部署记录状态,用于判断部署是在推进还是已经卡住(例如版本长时间停在 creating);遇到「已有部署发布任务运行中」时先用它确认任务真实状态,不要盲目重试",
          "enum": [
            "list",
            "detail",
-           "envStatus"
+           "envStatus",
+           "getManageTask"
          ],
          "type": "string"
        },
--- pinned/queryEnv
+++ observed/queryEnv
  {
    "_meta": {
      "category": "env"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
-   "description": "查询 CloudBase 环境相关信息,支持查询环境列表、指定环境详情、安全域名、资源用量与监控指标。(曾用名:envQuery、listEnvs、getEnvInfo、getEnvAuthDomains)当 action=list 时,会按 DescribeEnvs 语义做列表/筛选,标准返回字段为 EnvId、Alias、Status、EnvType、Region、PackageId、PackageName、IsDefault,并支持通过 fields 白名单裁剪这些字段;aliasExact=true 时会按别名精确筛选,避免把前缀相近的环境误当作候选;即使传入 envId,action=list 也只返回摘要,不会返回完整资源明细或 expiry。账号级登录可传 region(ap-shanghai/ap-guangzhou/ap-singapore)查询对应地域,对齐 CLI `tcb env list -r <region>`;环境级 API Key 只能看到绑定的 envId,返回 credential_scope=single_env,不要误判为环境不存在。如需查询某个已知 EnvId 对应环境的详细信息(包括资源字段和计费信息),必须使用 action=info 并传入目标环境的 envId 参数。action=info 会在可用时补充 BillingInfo(如 ExpireTime、PayMode、IsAutoRenew 等计费字段)。\n\n📊 action=usage 对齐 tcb env usage/info:透传 Manager SDK describeEnvAccountCircle + describeCreditsUsageDetail,返回计费周期与各模块资源点用量(FLEXDB/SCF/COS 等)。envId 必填;type 可选过滤模块;未传 startDate/endDate 时自动使用当前计费周期。\n\n📈 action=metrics 对齐 TCB DescribeCurveData(manager.monitor.describeCurveData,不是云监控 GetMonitorData):查询环境/网关 QPS、云函数调用与错误、数据库 CPU/内存/磁盘、云托管 CPU/QPS 等时序。envId 与 metricName 必填;startTime/endTime 格式 YYYY-MM-DD HH:mm:ss,须成对传入,不传则默认最近 24 小时;period 仅 300/3600/86400。GatewayTraceEnvQPS 未传 resourceID 时自动填环境级 all|:|all|:|all|:|all;云托管 Tke* 指标必须传服务名 resourceID。禁止用 callCloudApi 猜测监控 Action。\n\n🔍 action=info 还会派生三个用于后端选型的字段:\n- `EnvInfo.RuntimeMode`:'postgresql' 或 'nosql',表示新业务建议默认使用的后端(PG 已开通时为 postgresql,否则为 nosql)。\n- `EnvInfo.RuntimeBackends`:`{postgresql, nosql, mysql}` 三个布尔值,描述当前环境实际并存的后端。\n- `EnvInfo.RuntimeModeHints`:每个后端对应的 API/工具/skill 提示。\n\n🌐 action=info 还会在不改写 `StaticStorages[].StaticDomain`(云 API 名义域名)的前提下,投影网关路由 Enable 状态:`StaticStorages[].staticDomainRouteEnabled` 与 `EnvInfo.staticDomainRouteEnabled`(与 queryHosting websiteConfig 同源)。`false` 表示默认静态域名根路由已禁用(访问会返回 GATEWAY_ROUTE_DISABLED),勿把名义域名当成可达 URL。\n\nAI 在写业务/权限/存储代码前必须先看这三项:PG 模式下新业务推荐 `app.rdb()` + RLS(`managePgDatabase action=execute` 跑 `CREATE POLICY`)+ pgstore;已存在的 NoSQL 集合 / 旧 storage / `managePermissions(resourceType=\"noSqlDatabase\")` 在 PG 环境下仍然有效。真正不适用的是 MySQL:当 `RuntimeBackends.mysql === false` 时,`manageMysqlDatabase` / `queryMysqlDatabase` / `relational-database-mcp-cloudbase` skill 都不该使用。",
+   "description": "查询 CloudBase 环境相关信息,支持查询环境列表、指定环境详情、安全域名、资源用量与监控指标。(曾用名:envQuery、listEnvs、getEnvInfo、getEnvAuthDomains)当 action=list 时,会按 DescribeEnvs 语义做列表/筛选,标准返回字段为 EnvId、Alias、Status、EnvType、Region、PackageId、PackageName、IsDefault,并支持通过 fields 白名单裁剪这些字段;aliasExact=true 时会按别名精确筛选,避免把前缀相近的环境误当作候选;即使传入 envId,action=list 也只返回摘要,不会返回完整资源明细或 expiry。账号级登录可传 region(ap-shanghai/ap-guangzhou/ap-singapore)查询对应地域,对齐 CLI `tcb env list -r <region>`;环境级凭证(API Key / 托管授权 token)只能看到绑定的 envId,返回 credential_scope=single_env,此时 region 不参与查询会在 ignored_params 中如实说明(AppliedFilters.region 为 null),不要误判为环境不存在或地域过滤失效。如需查询某个已知 EnvId 对应环境的详细信息(包括资源字段和计费信息),必须使用 action=info 并传入目标环境的 envId 参数。action=info 会在可用时补充 BillingInfo(如 ExpireTime、PayMode、IsAutoRenew 等计费字段)。\n\n📊 action=usage 对齐 tcb env usage/info:透传 Manager SDK describeEnvAccountCircle + describeCreditsUsageDetail,返回计费周期与各模块资源点用量(FLEXDB/SCF/COS 等)。envId 必填;type 可选过滤模块;未传 startDate/endDate 时自动使用当前计费周期。\n\n📈 action=metrics 对齐 TCB DescribeCurveData(manager.monitor.describeCurveData,不是云监控 GetMonitorData):查询环境/网关 QPS、云函数调用与错误、数据库 CPU/内存/磁盘、云托管 CPU/QPS 等时序。envId 与 metricName 必填;startTime/endTime 格式 YYYY-MM-DD HH:mm:ss,须成对传入,不传则默认最近 24 小时;period 仅 300/3600/86400。GatewayTraceEnvQPS 未传 resourceID 时自动填环境级 all|:|all|:|all|:|all;云托管 Tke* 指标必须传服务名 resourceID。禁止用 callCloudApi 猜测监控 Action。\n\n🔍 action=info 还会派生三个用于后端选型的字段:\n- `EnvInfo.RuntimeMode`:'postgresql' 或 'nosql',表示新业务建议默认使用的后端(PG 已开通时为 postgresql,否则为 nosql)。\n- `EnvInfo.RuntimeBackends`:`{postgresql, nosql, mysql}` 三个布尔值,描述当前环境实际并存的后端。\n- `EnvInfo.RuntimeModeHints`:每个后端对应的 API/工具/skill 提示。\n\n🌐 action=info 还会在不改写 `StaticStorages[].StaticDomain`(云 API 名义域名)的前提下,投影网关路由 Enable 状态:`StaticStorages[].staticDomainRouteEnabled` 与 `EnvInfo.staticDomainRouteEnabled`(与 queryHosting websiteConfig 同源)。`false` 表示默认静态域名根路由已禁用(访问会返回 GATEWAY_ROUTE_DISABLED),勿把名义域名当成可达 URL。\n\nAI 在写业务/权限/存储代码前必须先看这三项:PG 模式下新业务推荐 `app.rdb()` + RLS(`managePgDatabase action=execute` 跑 `CREATE POLICY`)+ pgstore;已存在的 NoSQL 集合 / 旧 storage / `managePermissions(resourceType=\"noSqlDatabase\")` 在 PG 环境下仍然有效。真正不适用的是 MySQL:当 `RuntimeBackends.mysql === false` 时,`manageMysqlDatabase` / `queryMysqlDatabase` / `relational-database-mcp-cloudbase` skill 都不该使用。",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "环境 ID。action=list 时可选(仅按 DescribeEnvs 语义做筛选,仍返回摘要);action=info / action=usage / action=metrics 时必填。",
+         "description": "环境 ID。action=list 时可选(仅按 DescribeEnvs 语义做筛选,仍返回摘要);action=info / action=usage / action=metrics 时必填;action=domains 时可选(不传则查当前绑定环境,传了则查该环境的安全域名)。",
          "type": "string"
        },
        "fields": {
-         "description": "查询地域。仅 action=list 时有效。账号级凭据会把该值透传到 DescribeEnvs(X-TC-Region),例如 ap-singapore。环境级 API Key 无法用此参数看到其他环境。等价 CLI:tcb env list -r <region> --json。",
+         "description": "查询地域。仅 action=list 时有效。账号级凭据会把该值透传到 DescribeEnvs(X-TC-Region),例如 ap-singapore。等价 CLI:tcb env list -r <region> --json。环境级凭据(API Key / 托管授权 token)为单环境权限,该参数会被忽略:结果恒为绑定环境,响应的 AppliedFilters.region 为 null、query_region 取该环境自身的 Region、ignored_params 说明忽略原因——不要据此判定该地域没有环境。⚠️ ap-singapore 同时属于国内站与国际站,未显式指定站点时会被判定为国际站(site=intl):若两站都登录过,传该地域会静默查国际站账号,请先用 auth(site=\"domestic\") 或设置 TCB_SITE=domestic 明确站点。",
          "enum": [
            "ap-shanghai",
            "ap-guangzhou",
--- pinned/queryFunctions
+++ observed/queryFunctions
  {
    "_meta": {
      "category": "functions"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
-   "description": "CloudBase 云函数统一只读入口。通过更自解释的 action 查询 CloudBase 云函数列表、函数详情、执行日志、层、触发器和代码下载地址。\n\n**分页说明**:`listFunctions`、`listLayers` 支持 `limit` 和 `offset` 参数。\n- `limit`: 分页数量,默认值由后端决定\n- `offset`: 分页偏移,从 0 开始\n- 示例:`queryFunctions(action=\"listFunctions\", offset=10, limit=10)`\n\n**查询 CloudBase 云函数日志**:使用 `action=\"listFunctionLogs\"`,需要提供 `functionName` 参数。\n- 示例:`queryFunctions(action=\"listFunctionLogs\", functionName=\"my-function\")`\n- 如需查看日志详情:`queryFunctions(action=\"getFunctionLogDetail\", requestId=\"xxx\")`\n\n**定时任务 / cron / 定时跑**:使用 `listFunctionTriggers` 查询函数的 timer 触发器配置。\n\n**层(Layer)说明**:\n- 层为 SCF 账号级共享命名空间:不同环境创建同名层会共享同一层的版本序列;删除某版本会影响所有绑定该版本的环境的函数\n- 创建层必须用带环境标识的唯一层名,固定格式:`{layerName}_{当前envId}`(如 `common_cloud1-d9ghadgak3edf6b36`)。不要在不同环境使用相同裸层名,创建前先 `listLayers` 查重\n- `listLayers` / `listLayerVersions` / `getLayerVersionDetail` 返回账号级视图,可能含其他环境创建的层\n\n**区分 `queryLogs` 工具**:\n- 本工具用于查询特定 CloudBase 云函数的执行日志\n- `queryLogs` 工具用于搜索 CLS 日志服务(跨服务日志聚合)",
+   "description": "CloudBase 云函数统一只读入口。通过更自解释的 action 查询 CloudBase 云函数列表、函数详情、执行日志、层、触发器、代码下载地址、已发布版本与流量别名。\n\n**分页说明**:`listFunctions`、`listLayers`、`listVersionByFunction` 支持 `limit` 和 `offset` 参数。\n- `limit`: 分页数量,默认值由后端决定\n- `offset`: 分页偏移,从 0 开始\n- 示例:`queryFunctions(action=\"listFunctions\", offset=10, limit=10)`\n\n**查询 CloudBase 云函数日志**:使用 `action=\"listFunctionLogs\"`,需要提供 `functionName` 参数。\n- 示例:`queryFunctions(action=\"listFunctionLogs\", functionName=\"my-function\")`\n- 如需查看日志详情:`queryFunctions(action=\"getFunctionLogDetail\", requestId=\"xxx\")`\n\n**定时任务 / cron / 定时跑**:使用 `listFunctionTriggers` 查询函数的 timer 触发器配置。\n\n**版本与流量路由**:`listVersionByFunction` 列出已发布版本(对齐 tcb fn list-function-versions);`getFunctionAlias` 查看别名/灰度配置(对齐 tcb fn get-route,aliasName 默认 `$DEFAULT`)。\n\n**层(Layer)说明**:\n- 层为 SCF 账号级共享命名空间:不同环境创建同名层会共享同一层的版本序列;删除某版本会影响所有绑定该版本的环境的函数\n- 创建层必须用带环境标识的唯一层名,固定格式:`{layerName}_{当前envId}`(如 `common_cloud1-d9ghadgak3edf6b36`)。不要在不同环境使用相同裸层名,创建前先 `listLayers` 查重\n- `listLayers` / `listLayerVersions` / `getLayerVersionDetail` 返回账号级视图,可能含其他环境创建的层\n\n**区分 `queryLogs` 工具**:\n- 本工具用于查询特定 CloudBase 云函数的执行日志\n- `queryLogs` 工具用于搜索 CLS 日志服务(跨服务日志聚合)",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "只读操作类型:\n- `listFunctions`: 列出所有 CloudBase 云函数\n- `getFunctionDetail`: 获取 CloudBase 云函数详情(需要 functionName)\n- `listFunctionLogs`: 查询 CloudBase 云函数执行日志(需要 functionName)\n- `getFunctionLogDetail`: 获取日志详情(需要 requestId)\n- `listFunctionLayers`: 列出函数绑定的层\n- `listLayers`: 列出所有层(账号级视图,含其他环境创建的层)\n- `listLayerVersions`: 列出层的版本(注意:是 Versions 不是 Version;账号级视图)\n- `getLayerVersionDetail`: 获取层版本详情(账号级视图)\n- `listFunctionTriggers`: 列出函数触发器(用于查看定时任务 / cron / timer 配置)\n- `getFunctionDownloadUrl`: 获取函数代码下载地址",
+         "description": "只读操作类型:\n- `listFunctions`: 列出所有 CloudBase 云函数\n- `getFunctionDetail`: 获取 CloudBase 云函数详情(需要 functionName)\n- `listFunctionLogs`: 查询 CloudBase 云函数执行日志(需要 functionName)\n- `getFunctionLogDetail`: 获取日志详情(需要 requestId)\n- `listFunctionLayers`: 列出函数绑定的层\n- `listLayers`: 列出所有层(账号级视图,含其他环境创建的层)\n- `listLayerVersions`: 列出层的版本(注意:是 Versions 不是 Version;账号级视图)\n- `getLayerVersionDetail`: 获取层版本详情(账号级视图)\n- `listFunctionTriggers`: 列出函数触发器(用于查看定时任务 / cron / timer 配置)\n- `getFunctionDownloadUrl`: 获取函数代码下载地址\n- `getFunctionDeployStatus`: 按 taskId 查询异步部署状态、阶段进度和最终结果。返回 data.build(构建子状态)、data.deploy(部署子状态)、data.progress(阶段事件);status=running 时 data.result 与 data.error 一律为 null,不得报告部署完成。调用方必须持续轮询直到 status=succeeded/failed;status=expired 表示任务超过最长保留时间(2 小时)被终结,云端可能仍在部署,需用 getFunctionDetail 确认。任务只保存在 MCP 进程内存中,过期或 MCP Server 重启后返回 errorCode=DEPLOY_TASK_NOT_FOUND;任务按环境隔离,只能查到当前环境自己发起的部署。cloud mode 下本 action 不可用:异步任务只由 buildStrategy=cloud/local 的真实部署创建,而这两种策略在 cloud mode 下都不支持真实执行,image 策略则走同步部署不产生 taskId。\n- `listVersionByFunction`: 列出函数已发布版本(对齐 tcb fn list-function-versions / SDK listVersionByFunction;需要 functionName)\n- `getFunctionAlias`: 查询函数别名与流量路由(对齐 tcb fn get-route / SDK getFunctionAlias;需要 functionName;aliasName 默认 $DEFAULT)\n- `getFunctionUploadUrl`: 获取函数代码包的 COS 预签名上传地址(ZIP 两段式部署阶段 A):PUT 代码 zip 到 uploadUrl(uploadHeaders 非空时须随请求携带对应请求头),再调用 manageFunctions 的 createFunction/updateFunctionCode 并传 code 三元组(阶段 B)。functionName 可选,仅用于生成上传对象 key。返回的 uploadUrl 含凭据签名,不得写入日志或持久化;阶段 A 与阶段 B 必须落在同一个 MCP 进程(MCP Server 重启后需重新取地址并重新上传);地址默认 300 秒内有效",
          "enum": [
            "listFunctions",
            "getFunctionDetail",
-           "getFunctionDownloadUrl"
+           "getFunctionDownloadUrl",
+           "getFunctionDeployStatus",
+           "listVersionByFunction",
+           "getFunctionAlias",
+           "getFunctionUploadUrl"
          ],
          "type": "string"
        },
+       "aliasName": {
+         "description": "`getFunctionAlias` 的别名名称。省略时默认 `$DEFAULT`(与 tcb fn get-route 一致)",
+         "type": "string"
+       },
        "codeSecret": {
          "description": "代码保护密钥,用于解密函数代码",
          "type": "string"
-         "description": "CloudBase 云函数名称。`getFunctionDetail`、`listFunctionLogs`、`listFunctionLayers`、`listFunctionTriggers`、`getFunctionDownloadUrl` 时必填",
+         "description": "CloudBase 云函数名称。`getFunctionDetail`、`listFunctionLogs`、`listFunctionLayers`、`listFunctionTriggers`、`getFunctionDownloadUrl`、`listVersionByFunction`、`getFunctionAlias` 时必填;`getFunctionUploadUrl` 可选(仅用于生成上传对象 key)",
          "type": "string"
        },
        "layerName": {
+       "order": {
+         "description": "`listVersionByFunction` 排序方向,如 ASC / DESC",
+         "type": "string"
+       },
+       "orderBy": {
+         "description": "`listVersionByFunction` 排序字段,如 AddTime / ModTime",
+         "type": "string"
+       },
        "qualifier": {
          "description": "函数版本别名,如 $LATEST、$DEFAULT。日志查询时可选",
          "type": "string"
-         "description": "getFunctionDetail / listFunctionTriggers 时是否返回环境变量明文值。默认 false:Value 脱敏为 ***,仅保留 Key 与 ValueLength,足以确认配置了哪些变量及变更是否生效;true 时返回明文,敏感变量会进入模型上下文,谨慎使用。如需查看明文,建议优先使用控制台或 CLI",
+         "description": "getFunctionDetail / listFunctionTriggers / listFunctionLayers 时是否返回环境变量明文值。默认 false:Value 脱敏为 ***,仅保留 Key 与 ValueLength,足以确认配置了哪些变量及变更是否生效;true 时返回明文,敏感变量会进入模型上下文,谨慎使用。如需查看明文,建议优先使用控制台或 CLI",
          "type": "boolean"
        },
        "runtime": {
+       },
+       "taskId": {
+         "description": "`getFunctionDeployStatus` 操作时的异步部署任务 ID(由 manageFunctions 的 wait=false 返回)。任务仅保存在当前 MCP 进程内存中:终态任务保留约 30 分钟,运行中任务最长保留 2 小时。",
+         "type": "string"
        }
      },
      "required": [
--- pinned/queryGateway
+++ observed/queryGateway
  {
    "_meta": {
      "category": "gateway"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "CloudBase HTTP 网关统一只读入口(Domain/Route)。查询域名下路径路由及其上游:WEB_SCF/SCF=云函数,CBR=云托管,STATIC_STORE=静态托管,LH=轻量应用服务器。主键为 Domain + Path;listRoutes / getRoute / listCustomDomains / getPrivilege。getPrivilege 查询 HTTP 网关总开关(enableService)与访问鉴权(enableAuth)状态。实现自定义域名访问前,先 listCustomDomains:若已有自定义域名,优先 createRoute 挂路由(无需证书 ID);仅在没有可用自定义域名时才 bindCustomDomain。",
--- pinned/queryHosting
+++ observed/queryHosting
  {
    "_meta": {
      "category": "hosting"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "查询 CloudBase 静态托管的只读信息。适合 AI 先做发现再决定下一步:action=websiteConfig 查询首页/错误页/路由规则与站点域名信息;action=status 查询托管服务状态;action=findFiles 按前缀查找文件;action=listFiles 列出全部托管文件;action=domainStatus 查询自定义域名的当前状态与配置。该工具不会产生任何副作用。",
--- pinned/queryLogs
+++ observed/queryLogs
  {
    "_meta": {
      "category": "logs"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
-   "description": "CloudBase 日志域统一只读入口。支持检查日志服务状态并搜索 CLS 日志。\n\n**重要区分**:\n- 查询云函数日志:使用 `queryFunctions(action=\"listFunctionLogs\", functionName=\"xxx\")`\n- 查询 CLS 日志(跨服务日志聚合):使用本工具 `queryLogs(action=\"searchLogs\")`\n\n**适用场景**:\n- 检查 CLS 日志服务是否开通:`action=\"checkLogService\"`\n- 跨服务日志搜索(如搜索所有 ERROR 日志):`action=\"searchLogs\"`\n- 按 CLS 语法检索特定服务的日志:`action=\"searchLogs\", service=\"tcb|tcbr\"`",
+   "description": "CloudBase 日志域统一只读入口。支持检查日志服务状态并搜索 CLS 日志。\n\n**重要区分**:\n- 查询云函数日志:使用 `queryFunctions(action=\"listFunctionLogs\", functionName=\"xxx\")`\n- 查询 CLS 日志(跨服务日志聚合):使用本工具 `queryLogs(action=\"searchLogs\")`\n- 开通 CLS 日志服务:使用 `manageLogs(action=\"createLogService\", confirm=true)`\n\n**适用场景**:\n- 检查 CLS 日志服务是否开通:`action=\"checkLogService\"`\n- 跨服务日志搜索(如搜索所有 ERROR 日志):`action=\"searchLogs\"`\n- 按 CLS 语法检索特定服务的日志:`action=\"searchLogs\", service=\"tcb|tcbr\"`",
    "execution": {
      "taskSupport": "forbidden"
    },
--- pinned/queryMysqlDatabase
+++ observed/queryMysqlDatabase
  {
    "_meta": {
      "category": "SQL database"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
-   "description": "查询 CloudBase MySQL 数据库信息。支持执行只读 SQL、查询 MySQL 开通结果、查询 MySQL 任务状态,以及获取当前实例生命周期上下文。标准 getInstanceInfo/describeInstance 不返回连接凭据;仅 getConnectionInfo 透传原始连接/集群载荷(含可能的凭据),且仅用于显式 TCP 迁移。业务 CRUD 优先使用 SDK 或 runQuery/runStatement。",
+   "description": "查询 CloudBase MySQL 数据库信息。支持执行只读 SQL、查询 MySQL 开通结果、查询 MySQL 任务状态、获取当前实例生命周期上下文,以及查询实例慢查询/错误日志(对齐 Manager SDK describeInstanceSlowQueries / describeInstanceErrorLogs)。标准 getInstanceInfo/describeInstance 不返回连接凭据;仅 getConnectionInfo 透传原始连接/集群载荷(含可能的凭据),且仅用于显式 TCP 迁移。业务 CRUD 优先使用 SDK 或 runQuery/runStatement。",
    "execution": {
      "taskSupport": "forbidden"
    },
-         "description": "runQuery=execute read-only SQL; describeCreateResult=query CreateMySQL result; describeTaskStatus=query MySQL task status; getInstanceInfo=get lifecycle context without connection credentials; describeInstance=alias of getInstanceInfo; getConnectionInfo=passthrough raw connection/cluster payload including possible credentials (TCP migration exception only)",
+         "description": "runQuery=执行只读 SQL;describeCreateResult=查询 CreateMySQL 结果;describeTaskStatus=查询 MySQL 任务状态;getInstanceInfo=获取不含连接凭据的生命周期上下文;describeInstance=getInstanceInfo 的别名;getConnectionInfo=透传可能包含凭据的原始连接/集群载荷(仅限 TCP 迁移例外场景);describeInstanceSlowQueries=查询实例慢查询日志;describeInstanceErrorLogs=查询实例错误日志",
          "enum": [
            "runQuery",
            "describeCreateResult",
-           "getConnectionInfo"
+           "getConnectionInfo",
+           "describeInstanceSlowQueries",
+           "describeInstanceErrorLogs"
          ],
          "type": "string"
        },
+       "database": {
+         "description": "慢查过滤:数据库名",
+         "type": "string"
+       },
        "dbInstance": {
          "additionalProperties": false,
-         "description": "Optional SQL database instance context for runQuery",
+         "description": "runQuery / 慢查/错误日志可选的 SQL 数据库实例上下文",
          "properties": {
            "instanceId": {
              "type": "string"
+       "endTime": {
+         "description": "慢查/错误日志查询结束时间(YYYY-MM-DD HH:mm:ss)",
+         "type": "string"
+       },
+       "host": {
+         "description": "慢查过滤:客户端 host",
+         "type": "string"
+       },
+       "keyWords": {
+         "description": "错误日志关键字模糊搜索列表",
+         "items": {
+           "type": "string"
+         },
+         "type": "array"
+       },
+       "limit": {
+         "description": "慢查/错误日志返回条数限制",
+         "type": "number"
+       },
+       "logLevels": {
+         "description": "错误日志等级过滤,可选值:error / warning / note",
+         "items": {
+           "enum": [
+             "error",
+             "warning",
+             "note"
+           ],
+           "type": "string"
+         },
+         "type": "array"
+       },
+       "offset": {
+         "description": "慢查/错误日志分页偏移",
+         "type": "number"
+       },
+       "orderBy": {
+         "description": "排序字段。慢查支持 QueryTime/LockTime/RowsExamined/RowsSent;错误日志支持 Timestamp",
+         "enum": [
+           "QueryTime",
+           "LockTime",
+           "RowsExamined",
+           "RowsSent",
+           "Timestamp"
+         ],
+         "type": "string"
+       },
+       "orderByType": {
+         "description": "排序方向:asc/desc(大小写均可)",
+         "enum": [
+           "asc",
+           "desc",
+           "ASC",
+           "DESC"
+         ],
+         "type": "string"
+       },
        "request": {
          "additionalProperties": {},
-         "description": "Official request payload used by describeCreateResult/describeTaskStatus",
+         "description": "describeCreateResult/describeTaskStatus/describeInstanceSlowQueries/describeInstanceErrorLogs 使用的官方请求载荷(可含 InstanceId 等)",
          "type": "object"
        },
        "sql": {
-         "description": "Read-only SQL used by action=runQuery",
+         "description": "action=runQuery 使用的只读 SQL",
          "type": "string"
+       },
+       "sqlText": {
+         "description": "慢查过滤:SQL 文本片段",
+         "type": "string"
+       },
+       "startTime": {
+         "description": "慢查/错误日志查询开始时间(YYYY-MM-DD HH:mm:ss)",
+         "type": "string"
+       },
+       "username": {
+         "description": "慢查过滤:用户名",
+         "type": "string"
        }
      },
      "required": [
--- pinned/queryPermissions
+++ observed/queryPermissions
  {
    "_meta": {
      "category": "permissions"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
-   "description": "查询 CloudBase 权限与用户配置,支持查询资源权限(数据库/云函数/存储桶等)、角色列表/详情、应用用户列表/详情,以及网关 OPA 授权策略(对齐 CLI `tcb policy list/get`)。\n\n示例:\n- 查询存储桶权限:`action=\"getResourcePermission\", resourceType=\"storage\", resourceId=\"bucket-name\"`\n- 列出旧网关策略:`action=\"listPolicy\"`(PG / OPA 引擎环境返回空列表,与 CLI 一致)\n- 读取用户 Rego:`action=\"getPolicy\"`;平台扩展策略:`action=\"getPolicy\", extension=true`\n\n📌 跨后端边界提示:调用前先用 `envQuery(action=\"info\", envId=...)` 看 `EnvInfo.RuntimeBackends`。`resourceType=\"noSqlDatabase\"` 查询的是 CloudBase NoSQL 集合规则,与 CloudBase PostgreSQL(PG)表的行级安全(RLS)是两套独立机制——同一个 PG 环境里 NoSQL 集合若仍在使用,对那些集合查询本工具结果**仍然有效**。要查 PG 表 RLS,请改用 `queryPgDatabase(action=\"sql\", sql=\"SELECT * FROM pg_policies WHERE tablename=...\")`。本工具不涉及 MySQL 权限。\n\n⚠️ PostgreSQL 环境:平台 `DescribeResourcePermission` 对 PG 环境会直接拒绝。当 `resourceType=\"function\"` 时,本工具会自动回退到 Manager SDK `describeEnvAuthzConfig`(与 CLI `tcb policy get` 一致,读取 `authz.user.rego`)。显式 OPA 策略请用 `listPolicy` / `getPolicy`。",
+   "description": "查询 CloudBase 权限与用户配置,支持查询资源权限(数据库/云函数/存储桶等)、角色列表/详情、应用用户列表/详情,以及网关 OPA 授权策略(对齐 CLI `tcb policy list/get`)。\n\n示例:\n- 查询存储桶权限:`action=\"getResourcePermission\", resourceType=\"storage\", resourceId=\"bucket-name\"`\n- 列出旧网关策略:`action=\"listPolicy\"`(PG / OPA 引擎环境返回空列表,与 CLI 一致)\n- 读取用户 Rego:`action=\"getPolicy\"`;平台扩展策略:`action=\"getPolicy\", extension=true`\n\n📌 跨后端边界提示:调用前先用 `queryEnv(action=\"info\", envId=...)` 看 `EnvInfo.RuntimeBackends`。`resourceType=\"noSqlDatabase\"` 查询的是 CloudBase NoSQL 集合规则,与 CloudBase PostgreSQL(PG)表的行级安全(RLS)是两套独立机制——同一个 PG 环境里 NoSQL 集合若仍在使用,对那些集合查询本工具结果**仍然有效**。要查 PG 表 RLS,请改用 `queryPgDatabase(action=\"sql\", sql=\"SELECT * FROM pg_policies WHERE tablename=...\")`。本工具不涉及 MySQL 权限。\n\n⚠️ PostgreSQL 环境:平台 `DescribeResourcePermission` 对 PG 环境会直接拒绝。当 `resourceType=\"function\"` 时,本工具会自动回退到 Manager SDK `describeEnvAuthzConfig`(与 CLI `tcb policy get` 一致,读取 `authz.user.rego`)。显式 OPA 策略请用 `listPolicy` / `getPolicy`。\n\n⚠️ 角色类 action(`listRoles` / `getRole`)在 **PostgreSQL 类型环境**下平台侧一律拒绝(`The current API does not support PostgreSQL type environments.`)——这是平台能力边界,不是配置问题,**不要在 PG 环境反复重试**;PG 环境请改用 RLS(`managePgDatabase(action=\"execute\")` 跑 `CREATE POLICY`)或控制台管理权限。",
    "execution": {
      "taskSupport": "forbidden"
    },
--- pinned/queryPgDatabase
+++ observed/queryPgDatabase
  {
    "_meta": {
      "category": "PostgreSQL database"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "查询 CloudBase PostgreSQL 数据库。支持获取当前 PG 上下文、列出带 schema 的数据库对象、读取轻量元数据、检查单个对象结构,以及执行只读 SQL。",
--- pinned/queryPgStorage
+++ observed/queryPgStorage
  {
    "_meta": {
      "category": "PostgreSQL storage"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "查询 CloudBase PostgreSQL 环境下的云存储能力。返回 bucket/config 能力摘要、对象信息查询方案,以及基于 HTTP API 或 SDK 的上传实现方案;不会读取本地文件,也不会默认输出大量签名 URL。",
--- pinned/queryStorage
+++ observed/queryStorage
  {
    "_meta": {
      "category": "storage"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "⚠️ PG 模式环境请使用 queryPgStorage 而非本工具(pgstore 与旧 COS 是两套独立系统)。\n\n查询 CloudBase 云存储信息,支持列出目录文件、获取文件信息、获取临时下载链接等只读操作。返回的文件信息包括文件名、大小、修改时间、下载链接等。注意:action=url 返回的 temporaryUrl 是临时签名链接,有效期由 maxAge 参数决定(默认1小时),不要当作永久公网地址使用。工具还会基于 DescribeEnvs 返回的 Storages[0].CdnDomain 推导 publicUrl,⚠️ 警告:publicUrl 仅在存储桶 ACL 为公有读(所有用户可读)时才能被匿名访问;默认私有读写存储桶返回的 publicUrl 会 403,此时请继续使用 temporaryUrl 或先通过控制台/SDK 将目标路径设置为公有读。\n\n💡 存储桶 ACL 权限管理请使用 permissions 工具:queryPermissions(action=\"getResourcePermission\", resourceType=\"storage\", resourceId=\"bucket-name\") 查询,managePermissions(action=\"updateResourcePermission\", resourceType=\"storage\", resourceId=\"bucket-name\", permission=\"READONLY\") 设置。\n\n📦 CloudBase PG / pgstore 环境:`DescribeEnvs.Storages[]` 列出的 bucket 是旧 NoSQL 后端的,不等于 pgstore bucket。本工具用于查看常规存储;为 PG 浏览器上传准备 bucket 时,请确认目标 bucket 是 pgstore 后端可用的,否则浏览器 `app.storage.from().upload(...)` 会得到 `STORAGE_BUCKET_NOT_FOUND` 并出现 `PUT https://undefined/`。",
--- pinned/readNoSqlDatabaseContent
+++ observed/readNoSqlDatabaseContent
  {
    "_meta": {
      "category": "NoSQL database"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "查询 CloudBase NoSQL 数据库中的数据记录。支持按条件筛选、分页、排序,适用于管理端数据查询与运维。limit 默认 100、最大 1000;超出请用 offset 分页。projection 仅支持 { field: 1|0 } 对象(示例 {\"_id\":1,\"name\":1,\"createdAt\":1}),不要传字段数组。",
--- pinned/readNoSqlDatabaseStructure
+++ observed/readNoSqlDatabaseStructure
  {
    "_meta": {
      "category": "NoSQL database"
-     "openWorldHint": true,
+     "destructiveHint": false,
+     "openWorldHint": false,
      "readOnlyHint": true
    },
    "description": "读取 CloudBase NoSQL 数据库集合与索引结构,支持列出集合、查看集合详情、列出索引以及检查索引是否存在。本工具为服务端管理工具,用于管理端查询数据库结构,不用于编写客户端代码。",
--- pinned/searchKnowledgeBase
+++ observed/searchKnowledgeBase
  {
    "_meta": {
      "category": "rag"
+     "destructiveHint": false,
      "openWorldHint": true,
      "readOnlyHint": true
    },
-   "description": "云开发知识库检索工具,支持 CloudBase 官方文档 (docs)、固定技能文档 (skill) 和 OpenAPI 文档 (openapi) 查询。\n\n      按场景选择 mode:\n      - 不确定答案在哪、需要对官方文档做全文检索时:mode=docs + action=searchDocs(传 query 关键词)\n      - 已知文档标题、层级路径或 URL 时:mode=docs + action=findByName(传 input)或 action=readDoc(传 docPath)\n      - 需要某个场景的落地指南 / 最佳实践时:mode=skill + skillName\n      - 需要 HTTP API 的接口定义时:mode=openapi + apiName\n\n      ⚠️ 重要:当 CloudBase skills 处于禁用状态或当前 IDE 不支持 skill 文件读取时,必须使用 searchKnowledgeBase(mode=skill, skillName=...) 来获取 CloudBase 技能文档内容,而不是尝试直接读取 skill 文件。直接读取可能返回 400 错误。示例:\n      - 需要最小 Web+数据库 Demo 路径时:searchKnowledgeBase(mode=skill, skillName=minimal-web-baas-demo)\n      - 需要 auth-tool 指南时:searchKnowledgeBase(mode=skill, skillName=auth-tool)\n      - 需要 auth-web 指南时:searchKnowledgeBase(mode=skill, skillName=auth-web)\n      - 需要 cloudbase-agent 指南时:searchKnowledgeBase(mode=skill, skillName=cloudbase-agent)\n\n      固定技能文档 (skill) 查询当前支持 38 个固定文档,分别是:\n      文档名:ai-model-nodejs 文档介绍:\"Use this skill for Node.js backend AI via @cloudbase/node-sdk (>=3.16.0) — cloud functions, CloudRun, Express, Koa, NestJS, serverless APIs, scheduled jobs, LLM proxies. Only SDK supporting image generation (ai.createImageModel + generateImage). Text models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the model field of generateText/streamText. MUST run two-step preflight before code — see body. Keywords: backend, 云函数, 云托管, serverless, LLM proxy, agent orchestration, generateText, streamText, generateImage, createModel, hunyuan-image, Token Credits, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for browser/Web (use ai-model-web) or Mini Program (use ai-model-wechat).\"\n文档名:ai-model-web 文档介绍:\"Use this skill when a browser/Web app (React, Vue, Angular, Next, Nuxt, static sites, SPAs, dashboards, AI chat UI) needs AI models via @cloudbase/js-sdk. Default routing for page/页面/Web/前端/frontend/网页/H5 AI — call directly from browser, do NOT propose a Node.js proxy. Covers generateText and streamText. Models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the model field. MUST run two-step preflight before code — see body. Keywords: 页面, Web, 前端, React, Vue, Next, Nuxt, SPA, AI chat UI, generateText, streamText, createModel, hunyuan-exp, Token Credits, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for Node.js backend (use ai-model-nodejs), Mini Program (use ai-model-wechat), or image generation (Node SDK only).\"\n文档名:ai-model-wechat 文档介绍:Use this skill when developing WeChat Mini Programs (小程序, 企业微信小程序, wx.cloud-based apps) that need AI capabilities. Features text generation (generateText) and streaming (streamText) with callback support (onText, onEvent, onFinish) via wx.cloud.extend.AI. Built-in models include Hunyuan (hunyuan-2.0-instruct-20251111 recommended) and DeepSeek (deepseek-v3.2 recommended). API differs from JS/Node SDK - streamText requires data wrapper, generateText returns raw response. NOT for browser/Web apps (use ai-model-web), Node.js backend (use ai-model-nodejs), or image generation (not supported).\n文档名:auth-http-api 文档介绍:Use when you need to implement CloudBase Auth v2 over raw HTTP endpoints (login/signup, tokens, user operations) from backends or scripts that are not using the Web or Node SDKs.\n文档名:auth-nodejs 文档介绍:CloudBase Node SDK auth guide for server-side identity, user lookup, and custom login tickets. This skill should be used when Node.js code must read caller identity, inspect end users, or bridge an existing user system into CloudBase; not when configuring providers or building client login UI.\n文档名:auth-nodejs-cloudbase 文档介绍:CloudBase Node SDK auth guide for server-side identity, user lookup, and custom login tickets. This skill should be used when Node.js code must read caller identity, inspect end users, or bridge an existing user system into CloudBase; not when configuring providers or building client login UI.\n文档名:auth-tool 文档介绍:CloudBase auth provider configuration and login-readiness guide. This skill should be used when users need to inspect, enable, disable, or configure auth providers, publishable-key prerequisites, login methods, SMS/email sender setup, or other provider-side readiness before implementing a client or backend auth flow.\n文档名:auth-tool-cloudbase 文档介绍:CloudBase auth provider configuration and login-readiness guide. This skill should be used when users need to inspect, enable, disable, or configure auth providers, publishable-key prerequisites, login methods, SMS/email sender setup, or other provider-side readiness before implementing a client or backend auth flow.\n文档名:auth-web 文档介绍:CloudBase Web Authentication Quick Guide for frontend integration after auth-tool has already been checked. Provides concise and practical Web authentication solutions with multiple login methods and complete user management.\n文档名:auth-web-cloudbase 文档介绍:CloudBase Web Authentication Quick Guide for frontend integration after auth-tool has already been checked. Provides concise and practical Web authentication solutions with multiple login methods and complete user management.\n文档名:auth-wechat 文档介绍:Complete guide for WeChat Mini Program authentication with CloudBase - native login, user identity, and cloud function integration.\n文档名:cloud-functions 文档介绍:CloudBase function runtime guide for building, deploying, and debugging your own Event Functions or HTTP Functions. This skill should be used when users need application runtime code on CloudBase, not when they are merely calling CloudBase official platform APIs.\n文档名:cloud-storage-web 文档介绍:Complete guide for CloudBase cloud storage using Web SDK (@cloudbase/js-sdk) - upload, download, temporary URLs, file management, and best practices.\n文档名:cloudbase-agent 文档介绍:Build and deploy AI agents with CloudBase Agent SDK (TypeScript & Python). Implements the AG-UI protocol for streaming agent-UI communication. Use when deploying agent servers, using LangGraph/LangChain/CrewAI adapters, building custom adapters, understanding AG-UI protocol events, or building web/mini-program UI clients. Supports both TypeScript (@cloudbase/agent-server) and Python (cloudbase-agent-server via FastAPI).\n文档名:cloudbase-agent-ts 文档介绍:\"Build and deploy AI agents with Cloudbase Agent (TypeScript), a TypeScript SDK implementing the AG-UI protocol. Use when: (1) deploying agent servers with @cloudbase/agent-server, (2) using LangGraph adapter with ClientStateAnnotation, (3) using LangChain adapter with clientTools(), (4) building custom adapters that implement AbstractAgent, (5) understanding AG-UI protocol events, (6) building web UI clients with @ag-ui/client, (7) building WeChat Mini Program UIs with @cloudbase/agent-ui-miniprogram.\"\n文档名:cloudbase-cli 文档介绍:CloudBase CLI (tcb, 云开发CLI, Tencent CloudBase命令行) resource management skill. Use when deploying cloud functions, CloudRun, storage, NoSQL/MySQL, static hosting, permissions, CORS/domains via tcb; for CI/CD and batch ops; when the user prefers CLI; or as the first-session fallback when CloudBase MCP tools are not loaded yet (after install/config, before IDE restart). Covers tcb login (device code for Tencent Cloud accounts; --cloudbase-api-key -e for environment API Key without an account; --apiKeyId/--apiKey for CI) and domain commands (fn/hosting/cloudrun/…) as MCP auth/manage parity — do not default to tcb deploy.\n文档名:cloudbase-code-review 文档介绍:\"Code review and validation for CloudBase projects. After writing code for Web / miniprogram / CloudRun / cloud-function projects, call this skill to check for known pitfalls — auth guard misuse, missing database tables, RLS misconfiguration, storage domain setup, and SDK API misuse. Supports automated lint scripts (regex-based) + LLM semantic review.\"\n文档名:cloudbase-document-database-web-sdk 文档介绍:Use CloudBase document database Web SDK only for confirmed NoSQL collection work. Query, create, update, and delete document data; if the task mentions PostgreSQL / CloudBase PG / app.rdb(), route to postgresql-development instead.\n文档名:cloudbase-platform 文档介绍:CloudBase platform overview and routing guide. This skill should be used when users need high-level capability selection, platform concepts, console navigation, or cross-platform best practices before choosing a more specific implementation skill.\n文档名:cloudbase-wechat-integration 文档介绍:CloudBase WeChat integration guide for Mini Program WeChat Pay, Official Account JSAPI Pay, Native QR-code Pay, Official Account OAuth, openid handling, payment callbacks, and CloudBase Integration Center generated functions. This skill should be used when users ask to add, debug, or extend WeChat payment or official-account flows on CloudBase.\n文档名:cloudrun-development 文档介绍:CloudBase Run backend development rules (Function mode/Container mode). Use this skill when deploying backend services that require long connections, multi-language support, custom environments, AI agent development, or migrating existing/GitHub apps that need VPC access to MySQL/PostgreSQL/Redis. Also use when diagnosing CloudRun container deploy failures (deploy_failed, readiness/probe failed, image won't start, docker.io pull loops). For stateless HTTP services, prefer HTTP cloud functions.\n文档名:data-model-creation 文档介绍:\"[Deprecated] Optional advanced tool for complex data modeling. For simple MySQL table creation, use relational-database-tool directly; for PostgreSQL / CloudBase PG schema work, use postgresql-development. New environments should use PostgreSQL DDL via queryPgDatabase/managePgDatabase — see postgresql-development skill instead.\"\n文档名:http-api 文档介绍:CloudBase official HTTP API client guide. This skill should be used when backends, scripts, or non-SDK clients must call CloudBase platform APIs over raw HTTP instead of using a platform SDK or MCP management tool.\n文档名:http-api-cloudbase 文档介绍:CloudBase official HTTP API client guide. This skill should be used when backends, scripts, or non-SDK clients must call CloudBase platform APIs over raw HTTP instead of using a platform SDK or MCP management tool.\n文档名:minimal-web-baas-demo 文档介绍:\"Fast path for a minimal CloudBase Web + database demo (最小前后端 / 最小可用 fullstack / Lovable-like BaaS). Defaults to @cloudbase/js-sdk client CRUD (NoSQL app.database / PG app.rdb), MCP-only schema, preview-first, and forbids cloud functions unless secrets, cron/background jobs, or logic that security rules/RLS cannot express. Use for 搭一套 demo、留言板、Todo、Notes、Kanban, or when users say 带云函数+云数据库 but only need CRUD. NOT for production multi-service backends, CloudRun, WeChat Mini Programs, or tasks that truly need server secrets.\"\n文档名:miniprogram-development 文档介绍:WeChat Mini Program development rules. Use this skill when developing WeChat mini programs, integrating CloudBase capabilities, and deploying mini program projects.\n文档名:no-sql-web-sdk 文档介绍:Use CloudBase document database Web SDK only for confirmed NoSQL collection work. Query, create, update, and delete document data; if the task mentions PostgreSQL / CloudBase PG / app.rdb(), route to postgresql-development instead.\n文档名:no-sql-wx-mp-sdk 文档介绍:Use CloudBase document database WeChat MiniProgram SDK to query, create, update, and delete data. Supports complex queries, pagination, aggregation, and geolocation queries.\n文档名:ops-inspector 文档介绍:AIOps-style CloudBase inspection skill (v3). Use when users need health checks, log diagnosis, alarm interpretation (CPU alert normal?, peak QPS), metrics via queryEnv(action=metrics), or fault playbooks for 429 / function 404 / ACCESS_TOKEN_INVALID / zero invocations. Triggers on 巡检, 诊断, 告警, 峰值 QPS, 限频, 调用量为 0, troubleshooting.\n文档名:postgresql-development 文档介绍:\"Use when building, debugging, or evaluating CloudBase PostgreSQL / CloudBase PG / PG mode apps, including Postgres schema setup, queryPgDatabase/managePgDatabase, JS SDK v3 app.rdb() CRUD/RPC, PG HTTP API fallback, RLS-style permissions, username-password auth, and Web CMS/admin CRUD flows backed by CloudBase PG.\"\n文档名:postgresql-development-cloudbase 文档介绍:\"Use when building, debugging, or evaluating CloudBase PostgreSQL / CloudBase PG / PG mode apps, including Postgres schema setup, queryPgDatabase/managePgDatabase, JS SDK v3 app.rdb() CRUD/RPC, PG HTTP API fallback, RLS-style permissions, username-password auth, and Web CMS/admin CRUD flows backed by CloudBase PG.\"\n文档名:relational-database-mcp-cloudbase 文档介绍:\"[Deprecated] This is the required documentation for agents operating on the CloudBase Relational Database through MCP. It defines the canonical SQL management flow with `queryMysqlDatabase`, `manageMysqlDatabase`, `queryPermissions`, and `managePermissions`, including MySQL provisioning, destroy flow, async status checks, safe query execution, schema initialization, and permission updates. New environments should use PostgreSQL — see postgresql-development skill instead.\"\n文档名:relational-database-tool 文档介绍:\"[Deprecated] This is the required documentation for agents operating on the CloudBase Relational Database through MCP. It defines the canonical SQL management flow with `queryMysqlDatabase`, `manageMysqlDatabase`, `queryPermissions`, and `managePermissions`, including MySQL provisioning, destroy flow, async status checks, safe query execution, schema initialization, and permission updates. New environments should use PostgreSQL — see postgresql-development skill instead.\"\n文档名:relational-database-web 文档介绍:\"[Deprecated] Use when building frontend Web apps that talk to CloudBase Relational Database via @cloudbase/js-sdk – provides the canonical init pattern so you can then use Supabase-style queries from the browser. New environments should use PostgreSQL with app.rdb() — see postgresql-development skill instead.\"\n文档名:relational-database-web-cloudbase 文档介绍:\"[Deprecated] Use when building frontend Web apps that talk to CloudBase Relational Database via @cloudbase/js-sdk – provides the canonical init pattern so you can then use Supabase-style queries from the browser. New environments should use PostgreSQL with app.rdb() — see postgresql-development skill instead.\"\n文档名:spec-workflow 文档介绍:Use when medium-to-large changes need explicit requirements, technical design, and task planning before implementation, especially for multi-module work, unclear acceptance criteria, or architecture-heavy requests.\n文档名:ui-design 文档介绍:Use when users need visual direction, interface hierarchy, layout decisions, design specifications, or prototypes before implementing a Web or mini program UI.\n文档名:web-development 文档介绍:Use when users need to implement, integrate, debug, build, deploy, or validate a Web frontend after the product direction is already clear, especially for React, Vue, Vite, browser flows, or CloudBase Web integration.\n\n      OpenAPI 文档 (openapi) 查询只需要传 mode=\"openapi\" 和 apiName,不要传 action;action 仅用于 mode=\"docs\"。当前支持 7 个 API 文档,分别是:\n      API名:functions API介绍:Cloud Functions API - 云函数 HTTP API\nAPI名:mysqldb API介绍:关系型数据库 RESTful API (MySQL/PostgreSQL) - 云开发关系型数据库 HTTP API\nAPI名:cloudrun API介绍:CloudRun API - 云托管服务 HTTP API\nAPI名:storage API介绍:Storage API - 云存储 HTTP API\nAPI名:nosql API介绍:NoSQL RESTful API - 文档型数据库 HTTP API\nAPI名:auth API介绍:Authentication API - 身份认证 HTTP API\nAPI名:ai_model API介绍:AI 大模型接入 API - 统一 AI 模型 HTTP API",
+   "description": "云开发知识库检索工具,支持 CloudBase 官方文档 (docs)、固定技能文档 (skill) 和 OpenAPI 文档 (openapi) 查询。\n\n      按场景选择 mode:\n      - 工具调用报错且错误信息含具体错误码(如 OperationDenied.FreePackageDenied)时:mode=docs + action=searchDocs(query=错误码),先查错误码官方含义与处理指引再行动,不要凭猜测重试\n      - 不确定答案在哪、需要对官方文档做全文检索时:mode=docs + action=searchDocs(传 query 关键词)\n      - 已知文档标题、层级路径或 URL 时:mode=docs + action=findByName(传 input)或 action=readDoc(传 docPath)\n      - 需要某个场景的落地指南 / 最佳实践时:mode=skill + skillName\n      - 需要 HTTP API 的接口定义时:mode=openapi + apiName\n\n      ⚠️ 重要:当 CloudBase skills 处于禁用状态或当前 IDE 不支持 skill 文件读取时,必须使用 searchKnowledgeBase(mode=skill, skillName=...) 来获取 CloudBase 技能文档内容,而不是尝试直接读取 skill 文件。直接读取可能返回 400 错误。示例:\n      - 需要最小 Web+数据库 Demo 路径时:searchKnowledgeBase(mode=skill, skillName=minimal-web-baas-demo)\n      - 需要 auth-tool 指南时:searchKnowledgeBase(mode=skill, skillName=auth-tool)\n      - 需要 auth-web 指南时:searchKnowledgeBase(mode=skill, skillName=auth-web)\n      - 需要 cloudbase-agent 指南时:searchKnowledgeBase(mode=skill, skillName=cloudbase-agent)\n\n      返回内容包含该 skill 的 SKILL.md 全文,以及它在远端聚合仓(CNB raw)中的全部 .md 文件地址清单(SKILL.md 与 references/ 等,可直接 HTTP 抓取)。正文中代码栅栏之外的相对链接也会改写为绝对地址;若该 skill 在远端仓中不存在,则只返回内联内容并明确标注,不返回失效链接。\n\n      不确定该选哪个时:mode=skill 下不传 skillName、mode=openapi 下不传 apiName 直接调用,会返回当前可用清单及各自的适用场景 / 接口简介,再带上名称重新调用即可。可选名称也见本工具的 skillName / apiName 枚举(skill 共 27 个,API 共 8 个)。\n\n      注意:OpenAPI 文档 (openapi) 查询只需要传 mode=\"openapi\" 和 apiName,不要传 action;action 仅用于 mode=\"docs\"。",
    "execution": {
      "taskSupport": "forbidden"
    },
-           "functions",
            "mysqldb",
+           "pgdb",
+           "functions",
+           "auth",
            "cloudrun",
            "storage",
            "nosql",
-           "auth",
            "ai_model"
          ],
          "type": "string"
-         "description": "mode=docs 且 action=readDoc 时指定。文档相对路径或完整 URL。",
+         "description": "mode=docs 且 action=readDoc 时指定。站内相对路径(如 /quick-start),或 action=findByName / action=searchDocs 返回的文档地址 —— 传地址时只取其中的路径,主机部分一律忽略。",
          "type": "string"
        },
        "input": {
-           "ai-model-wechat",
-           "auth-http-api",
-           "auth-nodejs",
            "auth-nodejs-cloudbase",
-           "auth-tool",
            "auth-tool-cloudbase",
-           "auth-web",
            "auth-web-cloudbase",
-           "auth-wechat",
+           "cloud-api-operations",
            "cloud-functions",
            "cloud-storage-web",
            "cloudbase-agent",
-           "cloudbase-agent-ts",
            "cloudbase-cli",
            "cloudbase-code-review",
+           "cloudbase-declarative-deploy",
            "cloudbase-document-database-web-sdk",
            "cloudbase-platform",
            "cloudbase-wechat-integration",
-           "http-api",
            "http-api-cloudbase",
            "minimal-web-baas-demo",
-           "miniprogram-development",
-           "no-sql-web-sdk",
-           "no-sql-wx-mp-sdk",
            "ops-inspector",
-           "postgresql-development",
+           "postgresql-best-practices-cloudbase",
            "postgresql-development-cloudbase",
            "relational-database-mcp-cloudbase",
-           "relational-database-tool",
-           "relational-database-web",
            "relational-database-web-cloudbase",
            "spec-workflow",
            "ui-design",
--- pinned/writeNoSqlDatabaseContent
+++ observed/writeNoSqlDatabaseContent
  {
    "_meta": {
      "category": "NoSQL database"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "修改 CloudBase NoSQL 数据库中的数据记录。支持插入、更新(含 $set/$inc/$push 等操作符)、删除、upsert 等操作,适用于管理端数据写入与运维。⚠️ 服务端写入不含 _openid:若集合依赖客户端 SDK(@cloudbase/js-sdk 或微信小程序 wx.cloud.database())的行级安全规则(如 doc._openid == auth.openid),服务端写入时需手动补充 _openid 字段,否则客户端将无法读取到该数据。⚠️ 部分更新嵌套字段须使用点号路径,如 `$set: {\"shipping.city\": \"guangzhou\"}`,直接传嵌套对象会覆盖整个字段。",
--- pinned/writeNoSqlDatabaseStructure
+++ observed/writeNoSqlDatabaseStructure
  {
    "_meta": {
      "category": "NoSQL database"
-     "openWorldHint": true,
+     "openWorldHint": false,
      "readOnlyHint": false
    },
    "description": "创建、删除和管理 CloudBase NoSQL 数据库集合(collection)。支持创建新集合、删除现有集合,以及通过 updateCollection 的 updateOptions.CreateIndexes / updateOptions.DropIndexes 添加索引和删除索引。当需要新建集合时,使用 action=createCollection。本工具为服务端管理工具,用于管理端操作集合和索引结构,不用于编写客户端代码。",

tool removed: envQuery

Changed 2026-09-03 11:06 UTC

1 description rewritten.

--- pinned/searchKnowledgeBase
+++ observed/searchKnowledgeBase
  {
    "_meta": {
      "category": "rag"
-   "description": "云开发知识库检索工具,支持 CloudBase 官方文档 (docs)、固定技能文档 (skill) 和 OpenAPI 文档 (openapi) 查询。\n\n      按场景选择 mode:\n      - 不确定答案在哪、需要对官方文档做全文检索时:mode=docs + action=searchDocs(传 query 关键词)\n      - 已知文档标题、层级路径或 URL 时:mode=docs + action=findByName(传 input)或 action=readDoc(传 docPath)\n      - 需要某个场景的落地指南 / 最佳实践时:mode=skill + skillName\n      - 需要 HTTP API 的接口定义时:mode=openapi + apiName\n\n      ⚠️ 重要:当 CloudBase skills 处于禁用状态或当前 IDE 不支持 skill 文件读取时,必须使用 searchKnowledgeBase(mode=skill, skillName=...) 来获取 CloudBase 技能文档内容,而不是尝试直接读取 skill 文件。直接读取可能返回 400 错误。示例:\n      - 需要最小 Web+数据库 Demo 路径时:searchKnowledgeBase(mode=skill, skillName=minimal-web-baas-demo)\n      - 需要 auth-tool 指南时:searchKnowledgeBase(mode=skill, skillName=auth-tool)\n      - 需要 auth-web 指南时:searchKnowledgeBase(mode=skill, skillName=auth-web)\n      - 需要 cloudbase-agent 指南时:searchKnowledgeBase(mode=skill, skillName=cloudbase-agent)\n\n      固定技能文档 (skill) 查询当前支持 38 个固定文档,分别是:\n      文档名:ai-model-nodejs 文档介绍:\"Use this skill for Node.js backend AI via @cloudbase/node-sdk (>=3.16.0) — cloud functions, CloudRun, Express, Koa, NestJS, serverless APIs, scheduled jobs, LLM proxies. Only SDK supporting image generation (ai.createImageModel + generateImage). Text models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the model field of generateText/streamText. MUST run two-step preflight before code — see body. Keywords: backend, 云函数, 云托管, serverless, LLM proxy, agent orchestration, generateText, streamText, generateImage, createModel, hunyuan-image, Token Credits, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for browser/Web (use ai-model-web) or Mini Program (use ai-model-wechat).\"\n文档名:ai-model-web 文档介绍:\"Use this skill when a browser/Web app (React, Vue, Angular, Next, Nuxt, static sites, SPAs, dashboards, AI chat UI) needs AI models via @cloudbase/js-sdk. Default routing for page/页面/Web/前端/frontend/网页/H5 AI — call directly from browser, do NOT propose a Node.js proxy. Covers generateText and streamText. Models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the model field. MUST run two-step preflight before code — see body. Keywords: 页面, Web, 前端, React, Vue, Next, Nuxt, SPA, AI chat UI, generateText, streamText, createModel, hunyuan-exp, Token Credits, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for Node.js backend (use ai-model-nodejs), Mini Program (use ai-model-wechat), or image generation (Node SDK only).\"\n文档名:ai-model-wechat 文档介绍:Use this skill when developing WeChat Mini Programs (小程序, 企业微信小程序, wx.cloud-based apps) that need AI capabilities. Features text generation (generateText) and streaming (streamText) with callback support (onText, onEvent, onFinish) via wx.cloud.extend.AI. Built-in models include Hunyuan (hunyuan-2.0-instruct-20251111 recommended) and DeepSeek (deepseek-v3.2 recommended). API differs from JS/Node SDK - streamText requires data wrapper, generateText returns raw response. NOT for browser/Web apps (use ai-model-web), Node.js backend (use ai-model-nodejs), or image generation (not supported).\n文档名:auth-http-api 文档介绍:Use when you need to implement CloudBase Auth v2 over raw HTTP endpoints (login/signup, tokens, user operations) from backends or scripts that are not using the Web or Node SDKs.\n文档名:auth-nodejs 文档介绍:CloudBase Node SDK auth guide for server-side identity, user lookup, and custom login tickets. This skill should be used when Node.js code must read caller identity, inspect end users, or bridge an existing user system into CloudBase; not when configuring providers or building client login UI.\n文档名:auth-nodejs-cloudbase 文档介绍:CloudBase Node SDK auth guide for server-side identity, user lookup, and custom login tickets. This skill should be used when Node.js code must read caller identity, inspect end users, or bridge an existing user system into CloudBase; not when configuring providers or building client login UI.\n文档名:auth-tool 文档介绍:CloudBase auth provider configuration and login-readiness guide. This skill should be used when users need to inspect, enable, disable, or configure auth providers, publishable-key prerequisites, login methods, SMS/email sender setup, or other provider-side readiness before implementing a client or backend auth flow.\n文档名:auth-tool-cloudbase 文档介绍:CloudBase auth provider configuration and login-readiness guide. This skill should be used when users need to inspect, enable, disable, or configure auth providers, publishable-key prerequisites, login methods, SMS/email sender setup, or other provider-side readiness before implementing a client or backend auth flow.\n文档名:auth-web 文档介绍:CloudBase Web Authentication Quick Guide for frontend integration after auth-tool has already been checked. Provides concise and practical Web authentication solutions with multiple login methods and complete user management.\n文档名:auth-web-cloudbase 文档介绍:CloudBase Web Authentication Quick Guide for frontend integration after auth-tool has already been checked. Provides concise and practical Web authentication solutions with multiple login methods and complete user management.\n文档名:auth-wechat 文档介绍:Complete guide for WeChat Mini Program authentication with CloudBase - native login, user identity, and cloud function integration.\n文档名:cloud-functions 文档介绍:CloudBase function runtime guide for building, deploying, and debugging your own Event Functions or HTTP Functions. This skill should be used when users need application runtime code on CloudBase, not when they are merely calling CloudBase official platform APIs.\n文档名:cloud-storage-web 文档介绍:Complete guide for CloudBase cloud storage using Web SDK (@cloudbase/js-sdk) - upload, download, temporary URLs, file management, and best practices.\n文档名:cloudbase-agent 文档介绍:Build and deploy AI agents with CloudBase Agent SDK (TypeScript & Python). Implements the AG-UI protocol for streaming agent-UI communication. Use when deploying agent servers, using LangGraph/LangChain/CrewAI adapters, building custom adapters, understanding AG-UI protocol events, or building web/mini-program UI clients. Supports both TypeScript (@cloudbase/agent-server) and Python (cloudbase-agent-server via FastAPI).\n文档名:cloudbase-agent-ts 文档介绍:\"Build and deploy AI agents with Cloudbase Agent (TypeScript), a TypeScript SDK implementing the AG-UI protocol. Use when: (1) deploying agent servers with @cloudbase/agent-server, (2) using LangGraph adapter with ClientStateAnnotation, (3) using LangChain adapter with clientTools(), (4) building custom adapters that implement AbstractAgent, (5) understanding AG-UI protocol events, (6) building web UI clients with @ag-ui/client, (7) building WeChat Mini Program UIs with @cloudbase/agent-ui-miniprogram.\"\n文档名:cloudbase-cli 文档介绍:CloudBase CLI (tcb, 云开发CLI, Tencent CloudBase命令行) resource management skill. Use when deploying cloud functions, CloudRun, storage, NoSQL/MySQL, static hosting, permissions, CORS/domains via tcb; for CI/CD and batch ops; when the user prefers CLI; or as the first-session fallback when CloudBase MCP tools are not loaded yet (after install/config, before IDE restart). Covers tcb login (device code for Tencent Cloud accounts; --cloudbase-api-key -e for environment API Key without an account; --apiKeyId/--apiKey for CI) and domain commands (fn/hosting/cloudrun/…) as MCP auth/manage parity — do not default to tcb deploy.\n文档名:cloudbase-code-review 文档介绍:\"Code review and validation for CloudBase projects. After writing code for Web / miniprogram / CloudRun / cloud-function projects, call this skill to check for known pitfalls — auth guard misuse, missing database tables, RLS misconfiguration, storage domain setup, and SDK API misuse. Supports automated lint scripts (regex-based) + LLM semantic review.\"\n文档名:cloudbase-document-database-web-sdk 文档介绍:Use CloudBase document database Web SDK only for confirmed NoSQL collection work. Query, create, update, and delete document data; if the task mentions PostgreSQL / CloudBase PG / app.rdb(), route to postgresql-development instead.\n文档名:cloudbase-platform 文档介绍:CloudBase platform overview and routing guide. This skill should be used when users need high-level capability selection, platform concepts, console navigation, or cross-platform best practices before choosing a more specific implementation skill.\n文档名:cloudbase-wechat-integration 文档介绍:CloudBase WeChat integration guide for Mini Program WeChat Pay, Official Account JSAPI Pay, Native QR-code Pay, Official Account OAuth, openid handling, payment callbacks, and CloudBase Integration Center generated functions. This skill should be used when users ask to add, debug, or extend WeChat payment or official-account flows on CloudBase.\n文档名:cloudrun-development 文档介绍:CloudBase Run backend development rules (Function mode/Container mode). Use this skill when deploying backend services that require long connections, multi-language support, custom environments, AI agent development, or migrating existing/GitHub apps that need VPC access to MySQL/PostgreSQL/Redis. Also use when diagnosing CloudRun container deploy failures (deploy_failed, readiness/probe failed, image won't start, docker.io pull loops). For stateless HTTP services, prefer HTTP cloud functions.\n文档名:data-model-creation 文档介绍:\"[Deprecated] Optional advanced tool for complex data modeling. For simple MySQL table creation, use relational-database-tool directly; for PostgreSQL / CloudBase PG schema work, use postgresql-development. New environments should use PostgreSQL DDL via queryPgDatabase/managePgDatabase — see postgresql-development skill instead.\"\n文档名:http-api 文档介绍:CloudBase official HTTP API client guide. This skill should be used when backends, scripts, or non-SDK clients must call CloudBase platform APIs over raw HTTP instead of using a platform SDK or MCP management tool.\n文档名:http-api-cloudbase 文档介绍:CloudBase official HTTP API client guide. This skill should be used when backends, scripts, or non-SDK clients must call CloudBase platform APIs over raw HTTP instead of using a platform SDK or MCP management tool.\n文档名:minimal-web-baas-demo 文档介绍:\"Fast path for a minimal CloudBase Web + database demo (最小前后端 / 最小可用 fullstack / Lovable-like BaaS). Defaults to @cloudbase/js-sdk client CRUD (NoSQL app.database / PG app.rdb), MCP-only schema, preview-first, and forbids cloud functions unless secrets, cron/background jobs, or logic that security rules/RLS cannot express. Use for 搭一套 demo、留言板、Todo、Notes、Kanban, or when users say 带云函数+云数据库 but only need CRUD. NOT for production multi-service backends, CloudRun, WeChat Mini Programs, or tasks that truly need server secrets.\"\n文档名:miniprogram-development 文档介绍:WeChat Mini Program development rules. Use this skill when developing WeChat mini programs, integrating CloudBase capabilities, and deploying mini program projects.\n文档名:no-sql-web-sdk 文档介绍:Use CloudBase document database Web SDK only for confirmed NoSQL collection work. Query, create, update, and delete document data; if the task mentions PostgreSQL / CloudBase PG / app.rdb(), route to postgresql-development instead.\n文档名:no-sql-wx-mp-sdk 文档介绍:Use CloudBase document database WeChat MiniProgram SDK to query, create, update, and delete data. Supports complex queries, pagination, aggregation, and geolocation queries.\n文档名:ops-inspector 文档介绍:AIOps-style CloudBase inspection skill (v3). Use when users need health checks, log diagnosis, alarm interpretation (CPU alert normal?, peak QPS), metrics via queryEnv(action=metrics), or fault playbooks for 429 / function 404 / ACCESS_TOKEN_INVALID / zero invocations. Triggers on 巡检, 诊断, 告警, 峰值 QPS, 限频, 调用量为 0, troubleshooting.\n文档名:postgresql-development 文档介绍:\"Use when building, debugging, or evaluating CloudBase PostgreSQL / CloudBase PG / PG mode apps, including Postgres schema setup, queryPgDatabase/managePgDatabase, JS SDK v3 app.rdb() CRUD/RPC, PG HTTP API fallback, RLS-style permissions, username-password auth, and Web CMS/admin CRUD flows backed by CloudBase PG.\"\n文档名:postgresql-development-cloudbase 文档介绍:\"Use when building, debugging, or evaluating CloudBase PostgreSQL / CloudBase PG / PG mode apps, including Postgres schema setup, queryPgDatabase/managePgDatabase, JS SDK v3 app.rdb() CRUD/RPC, PG HTTP API fallback, RLS-style permissions, username-password auth, and Web CMS/admin CRUD flows backed by CloudBase PG.\"\n文档名:relational-database-mcp-cloudbase 文档介绍:\"[Deprecated] This is the required documentation for agents operating on the CloudBase Relational Database through MCP. It defines the canonical SQL management flow with `queryMysqlDatabase`, `manageMysqlDatabase`, `queryPermissions`, and `managePermissions`, including MySQL provisioning, destroy flow, async status checks, safe query execution, schema initialization, and permission updates. New environments should use PostgreSQL — see postgresql-development skill instead.\"\n文档名:relational-database-tool 文档介绍:\"[Deprecated] This is the required documentation for agents operating on the CloudBase Relational Database through MCP. It defines the canonical SQL management flow with `queryMysqlDatabase`, `manageMysqlDatabase`, `queryPermissions`, and `managePermissions`, including MySQL provisioning, destroy flow, async status checks, safe query execution, schema initialization, and permission updates. New environments should use PostgreSQL — see postgresql-development skill instead.\"\n文档名:relational-database-web 文档介绍:\"[Deprecated] Use when building frontend Web apps that talk to CloudBase Relational Database via @cloudbase/js-sdk – provides the canonical init pattern so you can then use Supabase-style queries from the browser. New environments should use PostgreSQL with app.rdb() — see postgresql-development skill instead.\"\n文档名:relational-database-web-cloudbase 文档介绍:\"[Deprecated] Use when building frontend Web apps that talk to CloudBase Relational Database via @cloudbase/js-sdk – provides the canonical init pattern so you can then use Supabase-style queries from the browser. New environments should use PostgreSQL with app.rdb() — see postgresql-development skill instead.\"\n文档名:spec-workflow 文档介绍:Use when medium-to-large changes need explicit requirements, technical design, and task planning before implementation, especially for multi-module work, unclear acceptance criteria, or architecture-heavy requests.\n文档名:ui-design 文档介绍:Use when users need visual direction, interface hierarchy, layout decisions, design specifications, or prototypes before implementing a Web or mini program UI.\n文档名:web-development 文档介绍:Use when users need to implement, integrate, debug, build, deploy, or validate a Web frontend after the product direction is already clear, especially for React, Vue, Vite, browser flows, or CloudBase Web integration.\n\n      OpenAPI 文档 (openapi) 查询只需要传 mode=\"openapi\" 和 apiName,不要传 action;action 仅用于 mode=\"docs\"。当前支持 7 个 API 文档,分别是:\n      API名:mysqldb API介绍:关系型数据库 RESTful API (MySQL/PostgreSQL) - 云开发关系型数据库 HTTP API\nAPI名:functions API介绍:Cloud Functions API - 云函数 HTTP API\nAPI名:storage API介绍:Storage API - 云存储 HTTP API\nAPI名:cloudrun API介绍:CloudRun API - 云托管服务 HTTP API\nAPI名:nosql API介绍:NoSQL RESTful API - 文档型数据库 HTTP API\nAPI名:ai_model API介绍:AI 大模型接入 API - 统一 AI 模型 HTTP API\nAPI名:auth API介绍:Authentication API - 身份认证 HTTP API",
+   "description": "云开发知识库检索工具,支持 CloudBase 官方文档 (docs)、固定技能文档 (skill) 和 OpenAPI 文档 (openapi) 查询。\n\n      按场景选择 mode:\n      - 不确定答案在哪、需要对官方文档做全文检索时:mode=docs + action=searchDocs(传 query 关键词)\n      - 已知文档标题、层级路径或 URL 时:mode=docs + action=findByName(传 input)或 action=readDoc(传 docPath)\n      - 需要某个场景的落地指南 / 最佳实践时:mode=skill + skillName\n      - 需要 HTTP API 的接口定义时:mode=openapi + apiName\n\n      ⚠️ 重要:当 CloudBase skills 处于禁用状态或当前 IDE 不支持 skill 文件读取时,必须使用 searchKnowledgeBase(mode=skill, skillName=...) 来获取 CloudBase 技能文档内容,而不是尝试直接读取 skill 文件。直接读取可能返回 400 错误。示例:\n      - 需要最小 Web+数据库 Demo 路径时:searchKnowledgeBase(mode=skill, skillName=minimal-web-baas-demo)\n      - 需要 auth-tool 指南时:searchKnowledgeBase(mode=skill, skillName=auth-tool)\n      - 需要 auth-web 指南时:searchKnowledgeBase(mode=skill, skillName=auth-web)\n      - 需要 cloudbase-agent 指南时:searchKnowledgeBase(mode=skill, skillName=cloudbase-agent)\n\n      固定技能文档 (skill) 查询当前支持 38 个固定文档,分别是:\n      文档名:ai-model-nodejs 文档介绍:\"Use this skill for Node.js backend AI via @cloudbase/node-sdk (>=3.16.0) — cloud functions, CloudRun, Express, Koa, NestJS, serverless APIs, scheduled jobs, LLM proxies. Only SDK supporting image generation (ai.createImageModel + generateImage). Text models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the model field of generateText/streamText. MUST run two-step preflight before code — see body. Keywords: backend, 云函数, 云托管, serverless, LLM proxy, agent orchestration, generateText, streamText, generateImage, createModel, hunyuan-image, Token Credits, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for browser/Web (use ai-model-web) or Mini Program (use ai-model-wechat).\"\n文档名:ai-model-web 文档介绍:\"Use this skill when a browser/Web app (React, Vue, Angular, Next, Nuxt, static sites, SPAs, dashboards, AI chat UI) needs AI models via @cloudbase/js-sdk. Default routing for page/页面/Web/前端/frontend/网页/H5 AI — call directly from browser, do NOT propose a Node.js proxy. Covers generateText and streamText. Models via ai.createModel with groups cloudbase, hunyuan-exp, or custom-*. Model IDs (deepseek-v4-flash, deepseek-v3.2, hunyuan-2.0-instruct-20251111, glm-5, kimi-k2.6) go in the model field. MUST run two-step preflight before code — see body. Keywords: 页面, Web, 前端, React, Vue, Next, Nuxt, SPA, AI chat UI, generateText, streamText, createModel, hunyuan-exp, Token Credits, TokenHub, Hunyuan, DeepSeek, GLM, Kimi, MiniMax. NOT for Node.js backend (use ai-model-nodejs), Mini Program (use ai-model-wechat), or image generation (Node SDK only).\"\n文档名:ai-model-wechat 文档介绍:Use this skill when developing WeChat Mini Programs (小程序, 企业微信小程序, wx.cloud-based apps) that need AI capabilities. Features text generation (generateText) and streaming (streamText) with callback support (onText, onEvent, onFinish) via wx.cloud.extend.AI. Built-in models include Hunyuan (hunyuan-2.0-instruct-20251111 recommended) and DeepSeek (deepseek-v3.2 recommended). API differs from JS/Node SDK - streamText requires data wrapper, generateText returns raw response. NOT for browser/Web apps (use ai-model-web), Node.js backend (use ai-model-nodejs), or image generation (not supported).\n文档名:auth-http-api 文档介绍:Use when you need to implement CloudBase Auth v2 over raw HTTP endpoints (login/signup, tokens, user operations) from backends or scripts that are not using the Web or Node SDKs.\n文档名:auth-nodejs 文档介绍:CloudBase Node SDK auth guide for server-side identity, user lookup, and custom login tickets. This skill should be used when Node.js code must read caller identity, inspect end users, or bridge an existing user system into CloudBase; not when configuring providers or building client login UI.\n文档名:auth-nodejs-cloudbase 文档介绍:CloudBase Node SDK auth guide for server-side identity, user lookup, and custom login tickets. This skill should be used when Node.js code must read caller identity, inspect end users, or bridge an existing user system into CloudBase; not when configuring providers or building client login UI.\n文档名:auth-tool 文档介绍:CloudBase auth provider configuration and login-readiness guide. This skill should be used when users need to inspect, enable, disable, or configure auth providers, publishable-key prerequisites, login methods, SMS/email sender setup, or other provider-side readiness before implementing a client or backend auth flow.\n文档名:auth-tool-cloudbase 文档介绍:CloudBase auth provider configuration and login-readiness guide. This skill should be used when users need to inspect, enable, disable, or configure auth providers, publishable-key prerequisites, login methods, SMS/email sender setup, or other provider-side readiness before implementing a client or backend auth flow.\n文档名:auth-web 文档介绍:CloudBase Web Authentication Quick Guide for frontend integration after auth-tool has already been checked. Provides concise and practical Web authentication solutions with multiple login methods and complete user management.\n文档名:auth-web-cloudbase 文档介绍:CloudBase Web Authentication Quick Guide for frontend integration after auth-tool has already been checked. Provides concise and practical Web authentication solutions with multiple login methods and complete user management.\n文档名:auth-wechat 文档介绍:Complete guide for WeChat Mini Program authentication with CloudBase - native login, user identity, and cloud function integration.\n文档名:cloud-functions 文档介绍:CloudBase function runtime guide for building, deploying, and debugging your own Event Functions or HTTP Functions. This skill should be used when users need application runtime code on CloudBase, not when they are merely calling CloudBase official platform APIs.\n文档名:cloud-storage-web 文档介绍:Complete guide for CloudBase cloud storage using Web SDK (@cloudbase/js-sdk) - upload, download, temporary URLs, file management, and best practices.\n文档名:cloudbase-agent 文档介绍:Build and deploy AI agents with CloudBase Agent SDK (TypeScript & Python). Implements the AG-UI protocol for streaming agent-UI communication. Use when deploying agent servers, using LangGraph/LangChain/CrewAI adapters, building custom adapters, understanding AG-UI protocol events, or building web/mini-program UI clients. Supports both TypeScript (@cloudbase/agent-server) and Python (cloudbase-agent-server via FastAPI).\n文档名:cloudbase-agent-ts 文档介绍:\"Build and deploy AI agents with Cloudbase Agent (TypeScript), a TypeScript SDK implementing the AG-UI protocol. Use when: (1) deploying agent servers with @cloudbase/agent-server, (2) using LangGraph adapter with ClientStateAnnotation, (3) using LangChain adapter with clientTools(), (4) building custom adapters that implement AbstractAgent, (5) understanding AG-UI protocol events, (6) building web UI clients with @ag-ui/client, (7) building WeChat Mini Program UIs with @cloudbase/agent-ui-miniprogram.\"\n文档名:cloudbase-cli 文档介绍:CloudBase CLI (tcb, 云开发CLI, Tencent CloudBase命令行) resource management skill. Use when deploying cloud functions, CloudRun, storage, NoSQL/MySQL, static hosting, permissions, CORS/domains via tcb; for CI/CD and batch ops; when the user prefers CLI; or as the first-session fallback when CloudBase MCP tools are not loaded yet (after install/config, before IDE restart). Covers tcb login (device code for Tencent Cloud accounts; --cloudbase-api-key -e for environment API Key without an account; --apiKeyId/--apiKey for CI) and domain commands (fn/hosting/cloudrun/…) as MCP auth/manage parity — do not default to tcb deploy.\n文档名:cloudbase-code-review 文档介绍:\"Code review and validation for CloudBase projects. After writing code for Web / miniprogram / CloudRun / cloud-function projects, call this skill to check for known pitfalls — auth guard misuse, missing database tables, RLS misconfiguration, storage domain setup, and SDK API misuse. Supports automated lint scripts (regex-based) + LLM semantic review.\"\n文档名:cloudbase-document-database-web-sdk 文档介绍:Use CloudBase document database Web SDK only for confirmed NoSQL collection work. Query, create, update, and delete document data; if the task mentions PostgreSQL / CloudBase PG / app.rdb(), route to postgresql-development instead.\n文档名:cloudbase-platform 文档介绍:CloudBase platform overview and routing guide. This skill should be used when users need high-level capability selection, platform concepts, console navigation, or cross-platform best practices before choosing a more specific implementation skill.\n文档名:cloudbase-wechat-integration 文档介绍:CloudBase WeChat integration guide for Mini Program WeChat Pay, Official Account JSAPI Pay, Native QR-code Pay, Official Account OAuth, openid handling, payment callbacks, and CloudBase Integration Center generated functions. This skill should be used when users ask to add, debug, or extend WeChat payment or official-account flows on CloudBase.\n文档名:cloudrun-development 文档介绍:CloudBase Run backend development rules (Function mode/Container mode). Use this skill when deploying backend services that require long connections, multi-language support, custom environments, AI agent development, or migrating existing/GitHub apps that need VPC access to MySQL/PostgreSQL/Redis. Also use when diagnosing CloudRun container deploy failures (deploy_failed, readiness/probe failed, image won't start, docker.io pull loops). For stateless HTTP services, prefer HTTP cloud functions.\n文档名:data-model-creation 文档介绍:\"[Deprecated] Optional advanced tool for complex data modeling. For simple MySQL table creation, use relational-database-tool directly; for PostgreSQL / CloudBase PG schema work, use postgresql-development. New environments should use PostgreSQL DDL via queryPgDatabase/managePgDatabase — see postgresql-development skill instead.\"\n文档名:http-api 文档介绍:CloudBase official HTTP API client guide. This skill should be used when backends, scripts, or non-SDK clients must call CloudBase platform APIs over raw HTTP instead of using a platform SDK or MCP management tool.\n文档名:http-api-cloudbase 文档介绍:CloudBase official HTTP API client guide. This skill should be used when backends, scripts, or non-SDK clients must call CloudBase platform APIs over raw HTTP instead of using a platform SDK or MCP management tool.\n文档名:minimal-web-baas-demo 文档介绍:\"Fast path for a minimal CloudBase Web + database demo (最小前后端 / 最小可用 fullstack / Lovable-like BaaS). Defaults to @cloudbase/js-sdk client CRUD (NoSQL app.database / PG app.rdb), MCP-only schema, preview-first, and forbids cloud functions unless secrets, cron/background jobs, or logic that security rules/RLS cannot express. Use for 搭一套 demo、留言板、Todo、Notes、Kanban, or when users say 带云函数+云数据库 but only need CRUD. NOT for production multi-service backends, CloudRun, WeChat Mini Programs, or tasks that truly need server secrets.\"\n文档名:miniprogram-development 文档介绍:WeChat Mini Program development rules. Use this skill when developing WeChat mini programs, integrating CloudBase capabilities, and deploying mini program projects.\n文档名:no-sql-web-sdk 文档介绍:Use CloudBase document database Web SDK only for confirmed NoSQL collection work. Query, create, update, and delete document data; if the task mentions PostgreSQL / CloudBase PG / app.rdb(), route to postgresql-development instead.\n文档名:no-sql-wx-mp-sdk 文档介绍:Use CloudBase document database WeChat MiniProgram SDK to query, create, update, and delete data. Supports complex queries, pagination, aggregation, and geolocation queries.\n文档名:ops-inspector 文档介绍:AIOps-style CloudBase inspection skill (v3). Use when users need health checks, log diagnosis, alarm interpretation (CPU alert normal?, peak QPS), metrics via queryEnv(action=metrics), or fault playbooks for 429 / function 404 / ACCESS_TOKEN_INVALID / zero invocations. Triggers on 巡检, 诊断, 告警, 峰值 QPS, 限频, 调用量为 0, troubleshooting.\n文档名:postgresql-development 文档介绍:\"Use when building, debugging, or evaluating CloudBase PostgreSQL / CloudBase PG / PG mode apps, including Postgres schema setup, queryPgDatabase/managePgDatabase, JS SDK v3 app.rdb() CRUD/RPC, PG HTTP API fallback, RLS-style permissions, username-password auth, and Web CMS/admin CRUD flows backed by CloudBase PG.\"\n文档名:postgresql-development-cloudbase 文档介绍:\"Use when building, debugging, or evaluating CloudBase PostgreSQL / CloudBase PG / PG mode apps, including Postgres schema setup, queryPgDatabase/managePgDatabase, JS SDK v3 app.rdb() CRUD/RPC, PG HTTP API fallback, RLS-style permissions, username-password auth, and Web CMS/admin CRUD flows backed by CloudBase PG.\"\n文档名:relational-database-mcp-cloudbase 文档介绍:\"[Deprecated] This is the required documentation for agents operating on the CloudBase Relational Database through MCP. It defines the canonical SQL management flow with `queryMysqlDatabase`, `manageMysqlDatabase`, `queryPermissions`, and `managePermissions`, including MySQL provisioning, destroy flow, async status checks, safe query execution, schema initialization, and permission updates. New environments should use PostgreSQL — see postgresql-development skill instead.\"\n文档名:relational-database-tool 文档介绍:\"[Deprecated] This is the required documentation for agents operating on the CloudBase Relational Database through MCP. It defines the canonical SQL management flow with `queryMysqlDatabase`, `manageMysqlDatabase`, `queryPermissions`, and `managePermissions`, including MySQL provisioning, destroy flow, async status checks, safe query execution, schema initialization, and permission updates. New environments should use PostgreSQL — see postgresql-development skill instead.\"\n文档名:relational-database-web 文档介绍:\"[Deprecated] Use when building frontend Web apps that talk to CloudBase Relational Database via @cloudbase/js-sdk – provides the canonical init pattern so you can then use Supabase-style queries from the browser. New environments should use PostgreSQL with app.rdb() — see postgresql-development skill instead.\"\n文档名:relational-database-web-cloudbase 文档介绍:\"[Deprecated] Use when building frontend Web apps that talk to CloudBase Relational Database via @cloudbase/js-sdk – provides the canonical init pattern so you can then use Supabase-style queries from the browser. New environments should use PostgreSQL with app.rdb() — see postgresql-development skill instead.\"\n文档名:spec-workflow 文档介绍:Use when medium-to-large changes need explicit requirements, technical design, and task planning before implementation, especially for multi-module work, unclear acceptance criteria, or architecture-heavy requests.\n文档名:ui-design 文档介绍:Use when users need visual direction, interface hierarchy, layout decisions, design specifications, or prototypes before implementing a Web or mini program UI.\n文档名:web-development 文档介绍:Use when users need to implement, integrate, debug, build, deploy, or validate a Web frontend after the product direction is already clear, especially for React, Vue, Vite, browser flows, or CloudBase Web integration.\n\n      OpenAPI 文档 (openapi) 查询只需要传 mode=\"openapi\" 和 apiName,不要传 action;action 仅用于 mode=\"docs\"。当前支持 7 个 API 文档,分别是:\n      API名:functions API介绍:Cloud Functions API - 云函数 HTTP API\nAPI名:mysqldb API介绍:关系型数据库 RESTful API (MySQL/PostgreSQL) - 云开发关系型数据库 HTTP API\nAPI名:cloudrun API介绍:CloudRun API - 云托管服务 HTTP API\nAPI名:storage API介绍:Storage API - 云存储 HTTP API\nAPI名:nosql API介绍:NoSQL RESTful API - 文档型数据库 HTTP API\nAPI名:auth API介绍:Authentication API - 身份认证 HTTP API\nAPI名:ai_model API介绍:AI 大模型接入 API - 统一 AI 模型 HTTP API",
    "execution": {
      "taskSupport": "forbidden"
    },
-           "mysqldb",
            "functions",
-           "storage",
+           "mysqldb",
            "cloudrun",
+           "storage",
            "nosql",
-           "ai_model",
-           "auth"
+           "auth",
+           "ai_model"
          ],
          "type": "string"
        },

Current tools

Show all 42 tool fingerprints
auth
9ddc068023bc1444
callCloudApi
178c3f570a43a77f
deployApply
f78c7698af95429e
deployBuild
9df6716d3cb452fa
deployPlan
910ba713a17a5ca1
downloadTemplate
fe585b8e623d6a3d
envDomainManagement
fa7420ef42ed0077
manageAgents
cee179cfc5304ef8
manageAppAuth
63bb094d230a3627
manageApps
355f1e044ebcc006
manageCloudRun
7ad1b3fed1850b9d
manageDataModel
b2295adbd9821e03
manageEnv
5ce2ac96817e2aa9
manageFunctions
754b782e7d8244ae
manageGateway
c47d12207f45b020
manageHosting
a62df85691976f7d
manageLogs
044b507f787da26a
manageMysqlDatabase
6fe2d136fa4972d8
managePermissions
136a326489ebf699
managePgDatabase
43eecba2f0d0382b
manageStorage
e3b5a512c41199d1
modifyDataModel
001c87d326c58767
prepareFeedback
21887f7064d127e9
queryAgents
4958efe8f6e0fd44
queryAppAuth
c717cebf6365a14f
queryApps
227074f9882ec766
queryCloudRun
bae9bb7c22a38020
queryEnv
68932175fa798256
queryFunctions
a6284012f2c9df3b
queryGateway
a219f0b03efd8709
queryHosting
8d627486ef3d8519
queryLogs
193e3238baf120c3
queryMysqlDatabase
7adb59cbd3ca1fc3
queryPermissions
488267b91a85b78a
queryPgDatabase
52a0cd30a76b4f83
queryPgStorage
c0a3d3e1d037ecb2
queryStorage
85a1d73bb2d5a7d3
readNoSqlDatabaseContent
bea9135c45e34821
readNoSqlDatabaseStructure
5b926a618d4feb4d
searchKnowledgeBase
b465dcac73f3242e
writeNoSqlDatabaseContent
9eb8a23ea1c75c73
writeNoSqlDatabaseStructure
e558b1d848131be3

Watch this server yourself

If you run this server, put the proxy in front of it. It pins these exact fingerprints on first connect and stops the session if they move.

npx -y mcp-pin@0.2.3 -- <your @cloudbase/cloudbase-mcp command>

Or subscribe to this page's RSS feed to be told when it changes.

Badge

mcp-pin status badge for @cloudbase/cloudbase-mcp

The badge states one fact about time and nothing else. It never claims a server is safe.

[![mcp-pin](https://mcp-pin.gautamkhosla.com/badge/6db3783deb4e6018.svg)](https://mcp-pin.gautamkhosla.com/servers/6db3783deb4e6018.html)