MCP 工具
当前包含 43 个工具,按功能分组如下。
源数据: tools.json
工具总览
认证与登录
其他
环境管理
NoSQL 数据库
readNoSqlDatabaseStructurewriteNoSqlDatabaseStructurereadNoSqlDatabaseContentwriteNoSqlDatabaseContent
数据模型
PostgreSQL 数据库
PostgreSQL 云存储
MySQL 数据库
云函数
静态托管
云存储
模板与文件
搜索与知识库
云托管
网关
应用认证
权限管理
日志
AI Agent
云 API
消息推送
云端 MCP 配置说明
环境变量配置
使用云端 MCP 需要配置以下环境变量:
| 环境变量 | 说明 | 获取方式 |
|---|---|---|
TENCENTCLOUD_SECRETID | 腾讯云 SecretId | 获取腾讯云 API 密钥 |
TENCENTCLOUD_SECRETKEY | 腾讯云 SecretKey | 获取腾讯云 API 密钥 |
TENCENTCLOUD_SESSIONTOKEN | 非必填,腾讯云临时密钥 Token(可选) | 仅在使用临时密钥时需要,可通过 STS 服务 获取 |
CLOUDBASE_ENV_ID | 云开发环境 ID | 获取云开发环境 ID |
详细规格
auth
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)。
参数
动作:status=查询状态,start_auth=发起登录,login_by_api_key=API Key登录,set_env=绑定环境(传envId),logout=退出登录 可填写的值: "status", "start_auth", "set_env", "logout", "get_temp_credentials", "login_by_api_key"
认证模式:device=设备码授权,web=浏览器回调授权 可填写的值: "device", "web"
高级可选:自定义 device-code 登录 endpoint。配置后 oauthCustom 默认按 true 处理
高级可选:自定义 device-code 登录 client_id,不传则使用默认值
高级可选:自定义 endpoint 返回格式开关。未配置 endpoint 时默认 false;配置 endpoint 后默认 true。标准 {code,result} 包装格式的端点(如国际站 tcb-api.tencentcloud.com)应显式传 false
站点:domestic=国内站,intl=国际站。环境开通在腾讯云国际站时,登录(start_auth/login_by_api_key)需显式传 intl,否则会走国内站链路、看不到国际站环境;调用级显式传入优先于 TCB_SITE 环境变量 / region 映射表 / 项目配置,影响登录端点、授权页与 API Key 换取网关 可填写的值: "domestic", "intl"
环境ID(CloudBase 环境唯一标识),绑定后工具将操作该环境。action=set_env 时必填
地域(如 ap-shanghai / ap-guangzhou / ap-singapore)。用于 region→site 推断与 API Key 换取网关选择;显式 site 优先
输出语言:zh=中文(默认),en=英文。覆盖实例级语言(createCloudBaseMcpServer lang 选项 / TCB_LANG / project.json) 可填写的值: "zh", "en"
CloudBase API Key,action=login_by_api_key 时必填
CloudBase 环境ID(EnvId),action=login_by_api_key 时必填,用于指定 API Key 所属环境
action=logout 时确认操作,传 yes 可填写的值: const "yes"
action=get_temp_credentials 时可选。true=返回明文临时密钥;默认 false 仅返回脱敏结果
queryEnv
查询 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 等计费字段)。
📊 action=usage 对齐 tcb env usage/info:透传 Manager SDK describeEnvAccountCircle + describeCreditsUsageDetail,返回计费周期与各模块资源点用量(FLEXDB/SCF/COS 等)。envId 必填;type 可选过滤模块;未传 startDate/endDate 时自动使用当前计费周期。
📈 action=metrics 对齐 CloudBase 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。
🔍 action=info 还会派生三个用于后端选型的字段:
EnvInfo.RuntimeMode:'postgresql' 或 'nosql',表示新业务建议默认使用的后端(PG 已开通时为 postgresql,否则为 nosql)。EnvInfo.RuntimeBackends:\{postgresql, nosql, mysql\}三个布尔值,描述当前环境实际并存的后端。EnvInfo.RuntimeModeHints:每个后端对应的 API/工具/skill 提示。
🌐 action=info 还会在不改写 StaticStorages[].StaticDomain(云 API 名义域名)的前提下,投影网关路由 Enable 状态:StaticStorages[].staticDomainRouteEnabled 与 EnvInfo.staticDomainRouteEnabled(与 queryHosting websiteConfig 同源)。false 表示默认静态域名根路由已禁用(访问会返回 GATEWAY_ROUTE_DISABLED),勿把名义域名当成可达 URL。
AI 在写业务/权限/存储代码前必须先看这三项: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 都不该使用。
参数
查询类型:list=环境列表/摘要筛选(按 DescribeEnvs 语义筛选,支持通过 envId / region 筛选,返回 EnvId、Alias、Status、EnvType、Region、PackageId、PackageName、IsDefault,不支持 expiry),info=指定环境的详细信息(必须传入 envId,返回资源字段和计费信息),domains=安全域名列表,usage=环境资源用量(必须传入 envId,对齐 tcb env usage/info),metrics=环境监控时序(必须传入 envId 与 metricName,对齐 TCB DescribeCurveData) 可填写的值: "list", "info", "domains", "usage", "metrics"
按环境别名筛选。action=list 时可选
按环境别名精确筛选。action=list 时可选;与 alias 配合使用
环境 ID。action=list 时可选(仅按 DescribeEnvs 语义做筛选,仍返回摘要);action=info / action=usage / action=metrics 时必填;action=domains 时可选(不传则查当前绑定环境,传了则查该环境的安全域名)。
查询地域。仅 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 明确站点。 可填写的值: "ap-shanghai", "ap-guangzhou", "ap-singapore"
返回数量上限。action=list 时可选
分页偏移。action=list 时可选
返回字段白名单。仅支持 EnvId、Alias、Status、EnvType、Region、PackageId、PackageName、IsDefault。action=list 时可选
用量模块过滤。仅 action=usage 时有效;不传则查询全部模块。可选值对齐 tcb CLI:FLEXDB、TDSQL、SCF、EKS、COS、AI、HOSTING、Auth、APIInvocation、HTTPInvocation、VM、Workflow、Other。
用量开始日期(YYYY-MM-DD)。仅 action=usage 时有效;与 endDate 成对传入。不传则使用当前计费周期。
用量结束日期(YYYY-MM-DD)。仅 action=usage 时有效;与 startDate 成对传入。不传则使用当前计费周期。
是否返回每日用量明细。仅 action=usage 时有效;默认 true。
监控指标名。仅 action=metrics 时有效且必填。GatewayTraceEnvQPS/EnvQPSAll=环境与网关 QPS;FunctionInvocation/FunctionError/FunctionTimeout/FunctionThrottle=云函数调用、错误、超时、限流;DbRead/DbWrite/DbSizepkg=文档库读写与容量;MysqlCpuUsageRate/MysqlMemoryUse/MysqlStorageUsage=SQL 库 CPU/内存/磁盘;TkeCpuUsedService/TkeQPSService/TkeHttpErrorService=云托管 CPU/QPS/错误。 可填写的值: "GatewayTraceEnvQPS", "EnvQPSAll", "FunctionInvocation", "FunctionError", "FunctionTimeout", "FunctionThrottle", "FunctionDuration", "FunctionConcurrentExecutions", "DbRead", "DbWrite", "DbSizepkg", "MysqlCpuUsageRate", "MysqlMemoryUse", "MysqlStorageUsage", "MysqlQps", "MysqlSlowQueries", "MysqlDbConnections", "TkeCpuUsedService", "TkeMemUsedService", "TkeQPSService", "TkeHttpErrorService", "TkeInvokeNumService"
监控开始时间(YYYY-MM-DD HH:mm:ss)。仅 action=metrics 时有效;与 endTime 成对传入。不传则默认最近 24 小时。结束时间须晚于开始时间至少五分钟。
监控结束时间(YYYY-MM-DD HH:mm:ss)。仅 action=metrics 时有效;与 startTime 成对传入。不传则默认最近 24 小时。
统计周期(秒)。仅 action=metrics 时有效;仅支持 300、3600、86400。不传则由后端按时间范围自动选择。时间范围 ≤1 天不可用 86400;>3 天不可用 300。 可填写的值: 300, 3600, 86400
资源 ID。仅 action=metrics 时有效。云函数传函数名,文档库传集合名,云托管必须传服务名;GatewayTraceEnvQPS 不传则使用环境级 all|:|all|:|all|:|all。
子资源 ID。仅 action=metrics 时有效;查询云托管某版本监控时传入版本名。
envQuery
查询 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 等计费字段)。
📊 action=usage 对齐 tcb env usage/info:透传 Manager SDK describeEnvAccountCircle + describeCreditsUsageDetail,返回计费周期与各模块资源点用量(FLEXDB/SCF/COS 等)。envId 必填;type 可选过滤模块;未传 startDate/endDate 时自动使用当前计费周期。
📈 action=metrics 对齐 CloudBase 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。
🔍 action=info 还会派生三个用于后端选型的字段:
EnvInfo.RuntimeMode:'postgresql' 或 'nosql',表示新业务建议默认使用的后端(PG 已开通时为 postgresql,否则为 nosql)。EnvInfo.RuntimeBackends:\{postgresql, nosql, mysql\}三个布尔值,描述当前环境实际并存的后端。EnvInfo.RuntimeModeHints:每个后端对应的 API/工具/skill 提示。
🌐 action=info 还会在不改写 StaticStorages[].StaticDomain(云 API 名义域名)的前提下,投影网关路由 Enable 状态:StaticStorages[].staticDomainRouteEnabled 与 EnvInfo.staticDomainRouteEnabled(与 queryHosting websiteConfig 同源)。false 表示默认静态域名根路由已禁用(访问会返回 GATEWAY_ROUTE_DISABLED),勿把名义域名当成可达 URL。
AI 在写业务/权限/存储代码前必须先看这三项: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 都不该使用。
⚠️ DEPRECATED:此工具名已废弃,是 queryEnv 的旧词序别名,入参与 action 完全一致。请直接调用 queryEnv;本别名将 在下个版本移除。
参数
查询类型:list=环境列表/摘要筛选(按 DescribeEnvs 语义筛选,支持通过 envId / region 筛选,返回 EnvId、Alias、Status、EnvType、Region、PackageId、PackageName、IsDefault,不支持 expiry),info=指定环境的详细信息(必须传入 envId,返回资源字段和计费信息),domains=安全域名列表,usage=环境资源用量(必须传入 envId,对齐 tcb env usage/info),metrics=环境监控时序(必须传入 envId 与 metricName,对齐 TCB DescribeCurveData) 可填写的值: "list", "info", "domains", "usage", "metrics"
按环境别名筛选。action=list 时可选
按环境别名精确筛选。action=list 时可选;与 alias 配合使用
环境 ID。action=list 时可选(仅按 DescribeEnvs 语义做筛选,仍返回摘要);action=info / action=usage / action=metrics 时必填;action=domains 时可选(不传则查当前 绑定环境,传了则查该环境的安全域名)。
查询地域。仅 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 明确站点。 可填写的值: "ap-shanghai", "ap-guangzhou", "ap-singapore"
返回数量上限。action=list 时可选
分页偏移。action=list 时可选
返回字段白名单。仅支持 EnvId、Alias、Status、EnvType、Region、PackageId、PackageName、IsDefault。action=list 时可选
用量模块过滤。仅 action=usage 时有效;不传则查询全部模块。可选值对齐 tcb CLI:FLEXDB、TDSQL、SCF、EKS、COS、AI、HOSTING、Auth、APIInvocation、HTTPInvocation、VM、Workflow、Other。
用量开始日期(YYYY-MM-DD)。仅 action=usage 时有效;与 endDate 成对传入。不传则使用当前计费周期。
用量结束日期(YYYY-MM-DD)。仅 action=usage 时有效;与 startDate 成对传入。不传则使用当前计费周期。
是否返回每日用量明细。仅 action=usage 时有效;默认 true。
监控指标名。仅 action=metrics 时有效且必填。GatewayTraceEnvQPS/EnvQPSAll=环境与网关 QPS;FunctionInvocation/FunctionError/FunctionTimeout/FunctionThrottle=云函数调用、错误、超时、限流;DbRead/DbWrite/DbSizepkg=文档库读写与容量;MysqlCpuUsageRate/MysqlMemoryUse/MysqlStorageUsage=SQL 库 CPU/内存/磁盘;TkeCpuUsedService/TkeQPSService/TkeHttpErrorService=云托管 CPU/QPS/错误。 可填写的值: "GatewayTraceEnvQPS", "EnvQPSAll", "FunctionInvocation", "FunctionError", "FunctionTimeout", "FunctionThrottle", "FunctionDuration", "FunctionConcurrentExecutions", "DbRead", "DbWrite", "DbSizepkg", "MysqlCpuUsageRate", "MysqlMemoryUse", "MysqlStorageUsage", "MysqlQps", "MysqlSlowQueries", "MysqlDbConnections", "TkeCpuUsedService", "TkeMemUsedService", "TkeQPSService", "TkeHttpErrorService", "TkeInvokeNumService"
监控开始时间(YYYY-MM-DD HH:mm:ss)。仅 action=metrics 时有效;与 endTime 成对传入。不传则默认最近 24 小时。结束时间须晚于开始时间至少五分钟。
监控结束时间(YYYY-MM-DD HH:mm:ss)。仅 action=metrics 时有效;与 startTime 成对传入。不传则默认最近 24 小时。
统计周期(秒)。仅 action=metrics 时有效;仅支持 300、3600、86400。不传则由后端按时间范围自动选择。时间范围 ≤1 天不可用 86400;>3 天不可用 300。 可填写的值: 300, 3600, 86400
资源 ID。仅 action=metrics 时有效。云函数传函数名,文档库传集合名,云托管必须传服务名;GatewayTraceEnvQPS 不传则使用环境级 all|:|all|:|all|:|all。
子资源 ID。仅 action=metrics 时有效;查询云托管某版本监控时传入版本名。
envDomainManagement
⚠️ DEPRECATED:此工具已废弃并收编进 manageEnv,请改用 manageEnv(action="addSecurityDomain") / manageEnv(action="removeSecurityDomain")(入参 domains 完全一致)。本别名将在下个版本移除。
管理【环境安全域名】=浏览器跨域(CORS)白名单:控制允许哪些网页 origin(host:port)从浏览器直接调用本环境的 CloudBase 资源。只做 CORS 来源验证,不提供访问域名,不涉及 HTTPS 证书。⚠️ 与【网关自定义域名】是两套完全独立的配置,互不相干:如需给自己的域名绑定 HTTPS 访问入口(云托管 / 网关服务),那属于 manageGateway 的职责——先 queryGateway(listCustomDomains);已有域名则 manageGateway(createRoute) 显式传 domain(无需证书);仅首次绑定新域名才用 bindCustomDomain(需 certificateId)。不要用本工具做这件事。
操作指引:(原工具名 createEnvDomain/deleteEnvDomain,为兼容旧 AI 规则可继续使用这些名称)当浏览器 Web 应用需要从本地 Vite / dev server 直接访问 CloudBase 资源时,先用 queryEnv(action=domains) 检查当前实际浏览器 origin 对应的 host:port 是否已在白名单中,再按该实际值添加。新增或删除后请每约 10 秒轮询 queryEnv(action=domains) 确认状态收敛,勿一次 sleep 满 10 分钟;多数环境数分钟内可收敛。
参数
操作类型:create=添加安全域名,delete=删除安全域名 可填写的值: "create", "delete"
安全域名数组(格式:host:port,例如 localhost:5173 或 127.0.0.1:4173)。注意:不是自定义域名,不需要证书。
manageEnv
管理 CloudBase 环境,支持:listPackages=查询可选套餐列表,create=创建新环境(需确认),modifyPlan=变更套餐(升降配,需确认),renew=续费环境(需确认),addSecurityDomain=添加环境安全域名(浏览器 CORS 白名单,不计费、无需确认),removeSecurityDomain=删除环境安全域名(不计费、无需确认)。
⚠️ 涉及费用的操作(create/modifyPlan/renew),执行前必须展示配置摘要并等待用户通过 confirm="yes" 确认;安全域名操作(addSecurityDomain/removeSecurityDomain)不计费,无需 confirm。
ℹ️ 安全域名=浏览器跨域(CORS)白名单,控制允许哪些网页 origin(host:port)从浏览器直接调用本环境的 CloudBase 资源,不提供访问域名、不涉及 HTTPS 证书。给自己的域名绑定 HTTPS 访问入口(云托管/网关服务)属于 manageGateway(listCustomDomains/bindCustomDomain)的职责,与本工具无关。
参数
操作类型:listPackages=查询可选套餐,create=创建环境,modifyPlan=变更套餐,renew=续费,addSecurityDomain=添加安全域名(CORS 白名单条目),removeSecurityDomain=删除安全域名 可填写的值: "listPackages", "create", "modifyPlan", "renew", "addSecurityDomain", "removeSecurityDomain"
安全域名数组(格式:host:port,例如 localhost:5173 或 127.0.0.1:4173)。仅 action=addSecurityDomain/removeSecurityDomain 时有效且必填。注意:这是 CORS 白名单条目,不是自定义域名,不需要证书。添加前应先用 queryEnv(action=domains) 检查浏览器实际 origin 是否已在白名单中。
环境别名(action=create 时必填)。要求:小写字母/数字/减号,不能以减号开头或结尾,最长 20 位
套餐 ID(action=create/modifyPlan 时必填)。可选值如 baas_personal(个人版)、baas_pf_standard(标准版)、baas_pf_enterprise(企业版)
启用的资源类型(action=create 时可选)。可选值:storage(存储)、function(云函数)、postgresql(PostgreSQL),省略时默认全部三项。CreateEnv 要求 Resources 非空,MCP 会始终下发该字段。不再包含 flexdb(文档数据库):新建环境不会创建 NoSQL 实例,其可用性以 queryEnv(action="info") 返回的 EnvInfo.RuntimeBackends 为准。
购买或续费时长(月),action=create/renew 时可选,默认 1
创建地域(仅 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。 可填写的值: "ap-shanghai", "ap-guangzhou", "ap-singapore"
环境 ID(action=modifyPlan/renew 时必填)
确认操作。所有付费操作(create/modifyPlan/renew)必须传 "yes" 确认 可填写的值: const "yes"
readNoSqlDatabaseStructure
读取 CloudBase NoSQL 数据库集合与索引结构,支持列出集合、查看集合详情、列出索引以及检查索引是否存在。本工具为服务端管理工具,用于管理端查询数据库结构,不用于编写客户端代码。
参数
listCollections: 列出集合列表 describeCollection: 描述集合详情(会返回索引摘要) checkCollection: 检查集合是否存在 listIndexes: 列出指定集合的索引列表 checkIndex: 检查指定索引是否存在 可填写的值: "listCollections", "describeCollection", "checkCollection", "listIndexes", "checkIndex"
返回数量限制(listCollections 操作时可选)
偏移量(listCollections 操作时可选)
集合名称(describeCollection、listIndexes、checkIndex 操作时必填)
索引名称(checkIndex 操作时必填)
writeNoSqlDatabaseStructure
创建、删除和管理 CloudBase NoSQL 数据库集合(collection)。支持创建新集合、删除现有集合,以及通过 updateCollection 的 updateOptions.CreateIndexes / updateOptions.DropIndexes 添加索引和删除索引。当需要新建集合时,使用 action=createCollection。本工具为服务端管理工具,用于管理端操作集合和索引结构,不用于编写客户端代码。
参数
createCollection: 创建集合 updateCollection: 更新集合配置;添加索引请传 updateOptions.CreateIndexes,删除索引请传 updateOptions.DropIndexes deleteCollection: 删除集合 可填写的值: "createCollection", "updateCollection", "deleteCollection"
集合名称
更新选项(updateCollection 时使用)。CreateIndexes 用于添加索引,DropIndexes 用于删除索引。
readNoSqlDatabaseContent
查询 CloudBase NoSQL 数据库中的数据记录。支持按条件筛选、分页、排序,适用于管理端数据查询与运维。limit 默认 100、最大 1000;超出请用 offset 分页。projection 仅支持 { field: 1|0 } 对象(示例 {"_id":1,"name":1,"createdAt":1}),不要传字段数组。
参数
集合名称
可选:显式指定数据库实例ID;未传时会自动解析并缓存
查询条件(对象或字符串,推荐对象)
返回字段投影,仅支持对象或对应 JSON 字符串,值只能是 1/0/true/false。合法示例:{"_id":1,"name":1,"createdAt":1}(包含)或 {"password":0}(排除)。不要传 ["name","age"] 这类字段数组,也不要混用包含与排除(_id 除外)。
排序条件,仅支持数组 [{"key":"createdAt","direction":-1}] 或对应 JSON 字符串。
返回数量限制,整数,范围 1-1000,默认 100。超过 1000 会被 Cloud API MgoLimit lte 校验拒绝;请用 offset 分页。
跳过的记录数
writeNoSqlDatabaseContent
修改 CloudBase NoSQL 数据库中的数据记录。支持插入、更新(含 $set/$inc/$push 等操作符)、删除、upsert 等操作,适用于管理端数据写入与运维。⚠️ 服务端写入不含 _openid:若 集合依赖客户端 SDK(@cloudbase/js-sdk 或微信小程序 wx.cloud.database())的行级安全规则(如 doc._openid == auth.openid),服务端写入时需手动补充 _openid 字段,否则客户端将无法读取到该数据。⚠️ 部分更新嵌套字段须使用点号路径,如 $set: \{"shipping.city": "guangzhou"\},直接传嵌套对象会覆盖整个字段。
参数
insert: 插入数据(新增文档) update: 更新数据 delete: 删除数据 可填写的值: "insert", "update", "delete"
集合名称
可选:显式指定数据库实例ID;未传时会自动解析并缓存
要插入的文档对象数组,每个文档都是对象(insert 操作必填)
查询条件( 对象或字符串,推荐对象)(update/delete 操作必填)
更新内容(对象或字符串,推荐对象)(update 操作必填)。按 MongoDB 更新语义传入 MgoUpdate:部分更新请使用 `$set`、`$inc`、`$unset`、`$push` 等操作符,例如使用 `$set` 更新 `status`;不要直接传"字段到值的普通对象",否则可能替换整条文档。 ⚠️ 嵌套字段必须用点号路径(如 `shipping.city`),禁止整对象替换: - ❌ 错误:{ "$set": { "shipping": { "city": "guangzhou" } } } — shipping 被整块替换,原有 address/province 等字段全部丢失 - ✅ 正确:{ "$set": { "shipping.city": "guangzhou" } } — 仅更新 city,shipping 下其他字段保留
是否更新多条记录(update/delete 操作可选)
是否在不存在时插入(update 操作可选)
manageDataModel
数据模型查询工具,支持查询和列表数据模型(只读操作)。通过 action 参数区分操作类型:list=获取模型列表(不含Schema,可选 names 参数过滤),get=查询单个模型详情(含Schema字段列表、格式、关联关系等,需要提供 name 参数),docs=生成SDK使用文档(需要提供 name 参数)
参数
操作类型:get=查询单个模型(含Schema字段列表、格式、关联关系,需要提供 name 参数),list=获取模型列表(不含Schema,可选 names 参数过滤),docs=生成SDK使用文档(需要提供 name 参数) 可填写的值: "get", "list", "docs"
要查询的数据模型名称。当 action='get' 或 action='docs' 时,此参数为必填项,必须提供已存在的数据模型名称。可通过 action='list' 操作获取可用的模型名称列表
模型名称数组(list操作时可选,用于过滤)
modifyDataModel
基于Mermaid classDiagram创建数据模型。为保持兼容性,工具名仍为 modifyDataModel;当前仅支持创建新模型,不支持更新现有模型结构 。内置异步任务监控,自动轮询直至完成或超时。
参数
Mermaid classDiagram代码,描述数据模型结构。 示例: classDiagram class Student { name: string <<姓名>> age: number = 18 <<年龄>> gender: x-enum = "男" <<性别>> classId: string <<班级ID>> identityId: string <<身份ID>> course: Course[] <<课程>> required() ["name"] unique() ["name"] enum_gender() ["男", "女"] display_field() "name" } class Class { className: string <<班级名称>> display_field() "className" } class Course { name: string <<课程名称>> students: Student[] <<学生>> display_field() "name" } class Identity { number: string <<证件号码>> display_field() "number" } %% 关联关系 Student "1" --> "1" Identity : studentId Student "n" --> "1" Class : student2class Student "n" --> "m" Course : course Student "n" <-- "m" Course : students %% 类的命名 note for Student "学生模型" note for Class "班级模型" note for Course "课程模型" note for Identity "身份模型"
操作类型:create=创建新模型 可填写的值: "create"
是否立即发布模型
数据库实例类型,可选值:MYSQL=MySQL 数据库,FLEXDB=文档型数据库(NoSQL) 可填写的值: "MYSQL", "FLEXDB"
queryPgDatabase
查询 CloudBase PostgreSQL 数据库。支持获取当前 PG 上下文、列出带 schema 的数据库对象、读取轻量元数据、检查单个对象结构,以及执行只读 SQL。
参数
操作类型:context=获取当前 PostgreSQL 上下文;objects=列出带 schema 的数据库对象;metadata=获取轻量表元数据;schema=检查单个带 schema 的对象结构;sql=执行只读 SQL 可填写的值: "context", "objects", "metadata", "schema", "sql"
action=sql 时使用的只读 SQL
action=schema 时使用的带 schema 的 PostgreSQL 对象名,例如 public.users
可选的 schema 过滤条件,用于 action=objects 或 action=metadata
可选的摘要数量上限,用于对象、元数据或 SQL 返回行数,默认 20,最大 200。
managePgDatabase
管理 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。
参数
操作类型: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) 可填写的值: "execute", "dryRun", "planMigration", "applyMigration", "listMigrations", "migrationDetail", "describeMigrationTask", "fetchMigration", "rollbackMigration", "repairMigration"
action=execute、dryRun、planMigration、applyMigration 或 repairMigration(applied) 使用的 SQL 语句
执行任何写入 SQL 前都需要显式设置为 true。
可选的 CloudBase 环境 ID,不传时使用当前 MCP 环境。
可选的 PostgreSQL 逻辑实例标识,默认 cloudbase-pg。
可选的默认 schema,默认 public。
可选的 PostgreSQL role,传给 Manager SDK executePGSql 的 Role(平台会 SET ROLE)。默认 cloudbase_postgres。推荐取值:cloudbase_postgres / anon / authenticated / service_role。不要传 postgres、postgres_pgdb_*、平台保留角色(cloudbase_admin,为平台管理账号不对用户开放)或从环境名臆造的角色;不确定时省略本字段,或先用 cloudbase_postgres 执行 SELECT rolname FROM pg_roles 。
可选的对象名,当前仅用于非 migration 场景。migration 相关操作请使用 migrationName / migrationVersion / lastN。
plan/apply/repair 必填:migration 名称,小写字母开头,仅允许小写字母和下划线(不允许数字,服务端 PushPGUserMigrations 会拒绝含数字的名称)。
14 位时间戳 YYYYMMDDHHMMSS。plan/apply/detail/repair 必填;fetchMigration 可选(传入则只拉该条,省略则拉全量远端 history);禁止由服务端静默生成,避免与本地 cloudbase/migrations/<version>_<name>.sql 分叉。applyMigration 非增量:每次传完整 SQL;终态失败且 listMigrations 未落地时版本号不占用,换新 migrationVersion 重发全量 SQL 即可(同名不同版本不冲突)。
plan/apply 可选:回滚 SQL 语句。
rollback 必填:回滚最近 N 条已应用的 Migration,正整数。
list 可选:返回数量上限,1-500,默认 100。
list 可选:分页偏移,默认 0。
apply 可选:获取数据库锁的最长时间(毫秒),默认 5000。
apply 可选:单条 SQL 执行最长时间(毫秒),默认 300000。
apply 可选:轮询 DescribeTaskResult 的最长等待(毫秒)。默认 600000(与 CLI tcb db pg migration up 的 10 分钟对齐)。范围 5000-600000。超时后务必先 describeMigrationTask(taskId) 再 listMigrations,禁止立刻重推同 version。
apply 可选,默认 true。设为 false 时 Push 后立即返回 TaskId(errorCode=MIGRATION_TASK_PENDING),由调用方用 describeMigrationTask 轮询任务终态,再用 listMigrations 确认是否落库;适合 MCP host 工具调用超时较短的场景。默认 true 会同步等到任务终态。
describeMigrationTask 必填:PushPGUserMigrations / applyMigration 返回的 TaskId。用于一次性查询 DescribeTaskResult(Status/Phase/Reason),不轮询等待。
repair 必填:applied=标记为已应用(可补录 Query),reverted=删除 history 记录。 可填写的值: "applied", "reverted"
repair 必填:修复原因。
fetchMigration 可选,默认 false。true=覆盖本地已存在的同名 SQL 文件(对齐 CLI tcb db pg migration fetch --force);false=跳过已存在文件。用于从远端 history 重新对齐 Git checksum。
planMigration / applyMigration 可选,默认 false。true=允许 out-of-order(version 小于远端 LatestVersion)仍可 Preview/Push,对齐 CLI tcb db pg migration up --include-all;仅在确认要补历史/乱序迁移时使用,日常应选更大的 migrationVersion。
可选,默认 false。仅当需要故意绕过 migration history 时设为 true,才允许 schema DDL 走 execute;正常建表/改 schema 必须用 applyMigration。
queryPgStorage
查询 CloudBase PostgreSQL 环境下的云存储能力。返回 bucket/config 能力摘要、对象信息查询方案,以及基于 HTTP API 或 SDK 的上传实现方案;不会读取本地文件,也不会默认输出大量签名 URL。
参数
操作类型:buckets/config=查询存储能力摘要;createBucket=生成 bucket 创建方案(SQL/HTTP API/CLI);uploadPlan=生成 HTTP API/SDK 上传方案;objectInfo=生成对象元信息查询方案;signUpload/signDownload=显式的一次性签名 URL 请求占位 可填写的值: "buckets", "config", "uploadPlan", "objectInfo", "signUpload", "signDownload", "createBucket"
云存储 bucket 名称
单个对象 key
多个对象 key,用于对象元信息查询规划
待上传对象的元信息。文件字节内容不会通过 MCP 传递。
签名 URL 有效期,单位秒,范围 60 到 86400。
queryMysqlDatabase
查询 CloudBase MySQL 数据库信息。支持执行只读 SQL、查询 MySQL 开通结果、查询 MySQL 任务状态,以及获取当前实例生命周期上下文。标准 getInstanceInfo/describeInstance 不返回连接凭据;仅 getConnectionInfo 透传原始连接/集群载荷(含可能的凭据),且仅用于显式 TCP 迁移。业务 CRUD 优先使用 SDK 或 runQuery/runStatement。
参数
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) 可填写的值: "runQuery", "describeCreateResult", "describeTaskStatus", "getInstanceInfo", "describeInstance", "getConnectionInfo"
Read-only SQL used by action=runQuery
Official request payload used by describeCreateResult/describeTaskStatus
Optional SQL database instance context for runQuery
manageMysqlDatabase
管理 CloudBase MySQL 数据库资源。支持开通 MySQL、销毁 MySQL、执行写入 SQL/DDL ,以及初始化数据库 Schema。注意:必须先开通 MySQL(action=provisionMySQL,confirm=true)才能执行 runStatement 或 initializeSchema。若 MySQL 尚未开通,工具会返回 MYSQL_NOT_CREATED 并给出开通的 nextAction 提示。
参数
provisionMySQL=create MySQL instance; destroyMySQL=destroy MySQL instance; runStatement=execute write SQL or DDL; initializeSchema=run ordered schema initialization statements 可填写的值: "provisionMySQL", "destroyMySQL", "runStatement", "initializeSchema"
Explicit confirmation required for action=provisionMySQL or action=destroyMySQL
SQL statement used by action=runStatement
Official request payload used by action=provisionMySQL or action=destroyMySQL
Ordered schema initialization SQL statements used by action=initializeSchema
Whether initializeSchema should block until MySQL is confirmed ready. Defaults to true.
Optional provisioning status requests used to confirm readiness before initializeSchema
Optional SQL database instance context for runStatement/initializeSchema
queryFunctions
CloudBase 云函数统一只读入口。通过更自解释的 action 查询 CloudBase 云函数列表、函数详情、执行日志、层、触发器和代码下载地址。
分页说明:listFunctions、listLayers 支持 limit 和 offset 参数。
limit: 分页数量,默认值由后端决定offset: 分页偏移,从 0 开始- 示例:
queryFunctions(action="listFunctions", offset=10, limit=10)
查询 CloudBase 云函数日志:使用 action="listFunctionLogs",需要提供 functionName 参数。
- 示例:
queryFunctions(action="listFunctionLogs", functionName="my-function") - 如需查看日志详情:
queryFunctions(action="getFunctionLogDetail", requestId="xxx")
定时任务 / cron / 定时跑:使用 listFunctionTriggers 查询函数的 timer 触发器配置。
层(Layer)说明:
- 层为 SCF 账号级共享命名空间:不同环境创建同名层会共享同一层的版本序列;删除某版本会影响所有绑定该版本的环境的函数
- 创建层必须用带环境标识的唯一层名,固定格式:
\{layerName\}_\{当前envId\}(如common_cloud1-d9ghadgak3edf6b36)。不要在不同环境使用相同裸层名,创建前先listLayers查重 listLayers/listLayerVersions/getLayerVersionDetail返回账号级视图,可能含其他环境创建的层
区分 queryLogs 工具:
- 本工具用于查询特定 CloudBase 云函数的执行日志
queryLogs工具用于搜索 CLS 日志服务(跨服务日志聚合)
参数
只读操作类型: - `listFunctions`: 列出所有 CloudBase 云函数 - `getFunctionDetail`: 获取 CloudBase 云函数详情(需要 functionName) - `listFunctionLogs`: 查询 CloudBase 云函数执行日志(需要 functionName) - `getFunctionLogDetail`: 获取日志详情(需要 requestId) - `listFunctionLayers`: 列出函数绑定的层 - `listLayers`: 列出所有层(账号级视图,含其他环境创建的层) - `listLayerVersions`: 列出层的版本(注意:是 Versions 不是 Version;账号级视图) - `getLayerVersionDetail`: 获取层版本详情(账号级视图) - `listFunctionTriggers`: 列出函数触发器(用于查看定时任务 / cron / timer 配置) - `getFunctionDownloadUrl`: 获取函数代码下载地址 - `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。 可填写的值: "listFunctions", "getFunctionDetail", "listFunctionLogs", "getFunctionLogDetail", "listFunctionLayers", "listLayers", "listLayerVersions", "getLayerVersionDetail", "listFunctionTriggers", "getFunctionDownloadUrl", "getFunctionDeployStatus"
CloudBase 云函数名称。`getFunctionDetail`、`listFunctionLogs`、`listFunctionLayers`、`listFunctionTriggers`、`getFunctionDownloadUrl` 时必填
分页数量(limit)。列表类 action 可选,默认值由后端决定
分页偏移(offset)。列表类 action 可选,默认 0
代码保护密钥,用于解密函数代码
getFunctionDetail / listFunctionTriggers 时是否返回环境变量明文值。默认 false:Value 脱敏为 ***,仅保留 Key 与 ValueLength,足以确认配置了哪些变量及变更是否生效;true 时返回明文,敏感变量会进入模型上下文,谨慎使用。如需查看明文,建议优先使用控制台或 CLI
日志查询开始时间,格式必须为 YYYY-MM-DD HH:mm:ss(如 2024-01-01 00:00:00) 。与 endTime 间隔不能超过一天。不传时默认查询最近一天
日志查询结束时间,格式必须为 YYYY-MM-DD HH:mm:ss(如 2024-01-01 23:59:59)。与 startTime 间隔不能超过一天。不传时默认为当前时间
日志请求 ID。`getFunctionLogDetail` 操作必填,可从 `listFunctionLogs` 结果中获取
函数版本别名,如 $LATEST、$DEFAULT。日志查询时可选
层查询的运行时筛选,如 Nodejs18.15
层名称搜索关键字
层名称。`listLayerVersions`、`getLayerVersionDetail` 操作必填。层为账号级共享命名空间;推荐固定格式 `{layerName}_{当前envId}`(如 common_cloud1-d9ghadgak3edf6b36)
层版本号。`getLayerVersionDetail` 操作必填
`getFunctionDeployStatus` 操作时的异步部署任务 ID(由 manageFunctions 的 wait=false 返回)。任务仅保存在当前 MCP 进程内存中:终态任务保留约 30 分钟,运行中任务最长保留 2 小时。
manageFunctions
CloudBase 云函数统一写入口。支持创建函数、更新代码、更新配置、调用函数、管理定时跑 / 定时任务 / scheduled job 的 timer 触发器和层绑定。如果要创建 cron 定时任务,先用 createFunction 创建函数,再用 createFunctionTrigger 创建 timer 触发器(支持7段cron表达式),deleteFunctionTrigger 删除触发器。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。
个人版 TCR 凭证:imageType=personal 的 local/cloud 构建需要推送凭证。若 MCP 配置的 env 中已设置 TCB_TCR_USERNAME 与 TCB_TCR_PASSWORD(与 TENCENTCLOUD_SECRETID 等密钥同样的配置方式),则不需要在请求参数中传递 func.imageConfig.build.registryCredential,留空即可自动读取。不要向用户索要密码明文,也不要把密码写进工具参数。 注意这条 env 通道只在本地 stdio MCP、且客户端的 mcp.json 支持自定义 env 块时可用:部分 GUI 客户端不继承 shell 的 export,IDE 内置型 MCP 的凭据注入通常是硬编码白名单(例如只放行 TENCENTCLOUD_*),这类用户没有配置自定义 env 的通道,「在 MCP 配置的 env 中设置」对他们是无效指引。面向内置 MCP 用户应改为引导:使用企业版(imageType=enterprise,走实例临时令牌,不需要固定密码),或改用 buildStrategy=image 直接部署已推送的镜像。 企业版登录态要求:enterprise 的 cloud/local 构建要经 CAM 铸造 TCR 临时令牌,环境级 API Key 与 OAuth 换出的临时凭据都不带 CAM 策略,会被前置拦截并提示改用账号级密钥或 image 策略;个人版走静态密码直接 docker login,不经过 CAM,反而是 API Key 用户唯一能走通的构建路径。
层(Layer)说明:
- 层为 SCF 账号级共享命名空间:不同环境创建同名层会共享同一层的版本序列;删除某版本会影响所有绑定该版本的环境的函数
- 创建层必须用带环境标识的唯一层名,固定格式:
\{layerName\}_\{当前envId\}(如common_cloud1-d9ghadgak3edf6b36)。不要在不同环境使用相同裸层名,创建前先listLayers查重 - 相关 action:
createLayerVersion/deleteLayerVersion/attachLayer/detachLayer/updateFunctionLayers(只读查询见 queryFunctions 的 listLayers / listLayerVersions / getLayerVersionDetail)
参数
写操作类型,例如 createFunction、updateFunctionCode、incrementalDeployFunction、invokeFunction、deleteFunction、createFunctionTrigger(定时任务 / cron / timer)、deleteFunctionTrigger、createLayerVersion、deleteLayerVersion、attachLayer、detachLayer、updateFunctionLayers。层名推荐固定格式 `{layerName}_{当前envId}`(如 common_cloud1-d9ghadgak3edf6b36) 可填写的值: "createFunction", "updateFunctionCode", "updateFunctionConfig", "invokeFunction", "deleteFunction", "createFunctionTrigger", "deleteFunctionTrigger", "createLayerVersion", "deleteLayerVersion", "attachLayer", "detachLayer", "updateFunctionLayers", "incrementalDeployFunction"
createFunction / updateFunctionCode 的函数配置。镜像/构建部署通过 func.buildStrategy(zip/cloud/local/image)区分,镜像相关字段收敛在 func.imageConfig 命名空间下。
创建或更新函数代码时默认推荐的本地目录方式。必须是直接包含函数文件夹的目录绝对路径(如 /abs/path/cloudfunctions 或 /abs/path/functions),不要传项目根目录(如 /abs/path),也不要传到函数名子目录(如 /abs/path/cloudfunctions/hello)。本地应按 cloudfunctions/<functionName>/index.js 或 functions/<functionName>/index.js 布局,此参数传 cloudfunctions 或 functions 目录的绝对路径。SDK 会自动拼接函数名子目录,无需预先压缩 zip 或 base64 编码。
createFunction 时是否覆盖
目标函数名称(顶层)。updateFunctionCode / updateFunctionConfig / invokeFunction 等 action 使用此字段。不要只写在 func.name:createFunction 用 func.name,其它 action 用顶层 functionName。若误传 func.name,也会被识别为 functionName。
仅兼容特殊场景:预先准备好的代码包 base64 编码。普通 createFunction/updateFunctionCode 默认不要先压缩 zip,优先使用 functionRootPath。
函数入口
配置更新时的超时时间
配置更新时要合并 的环境变量。若含 DATABASE_URL / MYSQL_* / POSTGRES_* / REDIS_* 等 TCP 连库变量,必须同时提供真实 vpc(或函数已绑定完整 VPC)。禁止猜测 vpcId/subnetId。
配置更新时的 VPC 信息。非原生 TCP 连库场景必填真实 vpcId+subnetId;不要用占位符。
invokeFunction 的调用参数
createFunctionTrigger 的触发器列表,用于定时跑 / 定时任务 / scheduled job。timer 触发器使用7段 cron 表达式(秒 分 时 日 月 星期 年),如 "0 */5 * * * * *" 表示每5分钟执行一次
deleteFunctionTrigger 的目标触发器名称
层名称。创建层推荐固定格式 `{layerName}_{当前envId}`(如 common_cloud1-d9ghadgak3edf6b36);不要跨环境复用裸层名。层为账号级共享命名空间
层版本号
层内容路径,可为目录或 ZIP 文件
层内容的 base64 编码
层适用的运行时列表
层版本描述
层许可证信息
updateFunctionLayers 的目标层列表,顺序即最终顺序
层绑定时的代码保护密钥
镜像构建部署(func.buildStrategy=cloud/local)是否只生成部署计划。默认 true;传 false 时必须同时传 confirm=true。
真实镜像部署是否等待完整部署;设为 false 立即返回 taskId 并后台执行。默认 true 是为了兼容既有调用方,但同步等待最长可达约 15 分钟,很容易先撞上 MCP Client 的请求超时——客户端超时只是断开这次请求,云端部署仍在继续,却拿不到 taskId 追踪。因此执行真实构建部署(buildStrategy=cloud/local,dryRun=false)时建议显式传 wait=false。
镜像部署是否允许 manager-node 自动补齐固定白名 单 CAM 策略。默认 false;仅在明确确认权限变更时设为 true。
危险操作确认开关。deleteFunction、deleteFunctionTrigger、deleteLayerVersion、detachLayer 等删除类操作以及镜像构建部署(func.buildStrategy=cloud/local)真实执行需要显式传入 confirm=true
incrementalDeployFunction 增量部署时的变更文件路径
queryHosting
查询 CloudBase 静态托管的只读信息。适合 AI 先做发现再决定下一步:action=websiteConfig 查询首页/错误页/路由规则与站点域名信息;action=status 查询托管服务状态;action=findFiles 按前缀查找文件;action=listFiles 列出全部托管文件;action=domainStatus 查询自定义域名的当前状态与配置。该工具不会产生任何副作用。
参数
查询类型:websiteConfig=查询静态托管网站文档配置与站点域名信息,status=查询静态托管服务状态,findFiles=按前 缀查找托管文件,listFiles=列出静态托管中的全部文件,domainStatus=查询自定义域名配置与生效状态。该工具严格只读,不会修改任何资源。 可填写的值: "websiteConfig", "status", "findFiles", "listFiles", "domainStatus"
文件前缀过滤条件。仅 action=findFiles 时使用,例如 app/ 或 assets/logo。
分页起始标记。仅 action=findFiles 时使用,用于续查上一页之后的结果。
单次返回的最大文件条数。仅 action=findFiles 时使用。
要查询的自定义域名列表。仅 action=domainStatus 时使用,例如 ["www.example.com"]。
manageHosting
管理 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。
参数
管理类型:upload=上传本地构建产物到静态托管,delete=删除静态托管文件或目录,setWebsiteDocument=设置首页/错误页/路由规则,enableService=开通静态托管服务,bindDomain=绑定自定义域名,unbindDomain=解绑自定义域名,updateDomain=更新域名缓存/防盗链/IP 规则,downloadFile=下载单个托管文件到本地,downloadDirectory=下载托管目录到本地。 可填写的值: "upload", "delete", "setWebsiteDocument", "enableService", "bindDomain", "unbindDomain", "updateDomain", "downloadFile", "downloadDirectory"
本地路径。action=upload 时表示要上传的本地文件/目录路径;action=downloadFile 或 downloadDirectory 时表示下载到本地的目标路径。建议传绝对路径。
静态托管中的目标路径。action=upload 时表示上传后的托管路径;action=delete/downloadFile/downloadDirectory 时表示托管侧文件或目录路径。
多文件上传配置。仅 action=upload 时可选;传入后会逐项上传,不再依赖单个 localPath/cloudPath。
上传时忽略的文件模式。仅 action=upload 时可选,例如 node_modules 或 ["**/*.map", "**/.DS_Store"]。
是否把 cloudPath 视为目录。仅 action=delete 时使用;true=删除目录,false=删除单个文件。
高风险操作确认开关。action=delete 和 action=unbindDomain 时必须显式传 true,避免误删文件或误解绑域名。
网站首页文档名称。仅 action=setWebsiteDocument 时必填,例如 index.html。
错误页文档名称。仅 action=setWebsiteDocument 时可选,例如 404.html。
网站路由规则列表。仅 action=setWebsiteDocument 时可选。SPA 常见配置是将 404 重写到 index.html。
自定义域名。action=bindDomain / unbindDomain / updateDomain 时使用,例如 www.example.com。
证书 ID。仅 action=bindDomain 时必填。
域名 ID。仅 action=updateDomain 时必填,用于精确更新指定域名配置。
域名配置。仅 action=updateDomain 时必填,支持缓存、Referer、防盗链、IP 规则与频控。