连接方式:远端模式与本地模式
CloudBase MCP 有两种接法:远端模式(服务跑在云端,IDE 通过 HTTP 连接)和本地模式(服务在你本机用 npx 启动,IDE 通过 stdio 连接)。两种用同一份代码、同一套工具,差别只在服务跑在哪,以及因此少了哪些依赖本地文件的能力。
不确定就先用远端模式:填一个地址,支持 OAuth 的客户端会带你完成授权。
⚠️ MCP 给 AI 的是真实写权限 —— 删集合、删函数、删存储都在能力范围里。接之前先读危险操作与二次确认。二次确认只在支持 elicitation 的客户端里生效,而且它是护栏,不是安全边界。
两种方式怎么选
| 你的情况 | 推荐方式 | 说明 |
|---|---|---|
| 想最快跑通、不想在本机维护 Node 环境 | 远端模式 · 腾讯云提供的服务 | 只需一个地址,交互式客户端自动完成授权 |
| 团队统一接入 | 远端模式 · 腾讯云提供的服务 | 免运维,能力随服务端统一升级,各端无需跟进版本 |
| 云端 Agent / 平台集成(调用方不在开发者本机) | 远端模式 · 腾讯云提供的服务 | 调用方在云端,只能通过 HTTP 接入 |
| CI/CD、脚本化、无人值守 | 远端模式 + 静态凭证 | 无法交互授权时用密钥,见 鉴权方式;本地模式亦可(npx + CLOUDBASE_API_KEY) |
| 需要上传本地文件、把模板下载到本机 | 本地模式(npx) | 涉及本机文件系统与本地进程的工具只在本地模式注册 |
| 已有自己的服务器,需接入内网或自管凭证 | 远端模式 · 在自有服务器自建 | 必须开启 Cloud Mode |
远端模式有条件缺口(涉及本机文件系统的工具不注册),见 远端模式的能力边界。推荐它的前提是把缺口说清楚,而不是含糊地都说好。
站点与地域(site / region)
两套独立的账号体系
CloudBase 有国内站(domestic,cloud.tencent.com)与国际站(intl,tencentcloud.com)两套互相独立的账号体系:环境、控制台、API 密钥、登录态都不通用。
接入前先确认你的环境开在哪个站,再选对应地址。 选错站点的典型表现是**「登录成功但看不到自己的环境」**,而不是明确的报错。
| 国内站 | 国际站 | |
|---|---|---|
| 远端 MCP 地址 | https://tcb-api.cloud.tencent.com/mcp/v1 | https://tcb-api.tencentcloud.com/mcp/v1 |
| 控制台 | tcb.cloud.tencent.com | tcb.tencentcloud.com |
| 默认地域 | ap-shanghai | ap-singapore |
| 支持地域 | ap-shanghai、ap-guangzhou、ap-singapore | ap-singapore |
| NoSQL(文档数据库)工具 | 支持 | 暂未提供 |
远端模式下站点由域名决定——用国内站地址就是国内站,用国际站地址就是国际站。不存在「一个域名切两个站」的用法,也不需要额外声明。
本地模式怎么定站点
本地模式没有域名可依据,MCP 按下面的优先级推断站点:
显式 cloudBaseOptions.site/region
> 环境变量 TCB_SITE / TCB_REGION
> 项目级配置 .cloudbase/project.json
> cloudbaserc.json(按字段回退,site 为 MCP 扩展字段)
> 全局默认:domestic + ap-shanghai
按 region 反查站点时:
| region | 未配 site 时的解析结果 |
|---|---|
ap-shanghai / ap-guangzhou | domestic(国内站) |
ap-singapore | 歧义:国内站与国际站都有该地域,未配 site 时默认 intl(兼容既有行为) |
命令行(tcb CLI)怎么定站点
tcb CLI 用的是另一个开关,与 MCP 的 TCB_SITE 互不影响——设错那个只会静默无效:
| 工具 | 开关 | 作用范围 | 校验 |
|---|---|---|---|
tcb CLI | 环境变量 TCB_IS_INTL=true,或持久化 tcb config set isIntl true | 本机全局:对所有国内站项目同样生效 | tcb config get isIntl |
| MCP(本地模式) | TCB_SITE + TCB_REGION | 单个 IDE 的 MCP 配置 | auth(action="status") |
只是本次要用国际站,加环境变量即可,不留全局状态:
TCB_IS_INTL=true tcb login
TCB_IS_INTL=true tcb env list
确认整机都走国际站,再持久化(会一并影响本机上的国内站项目):
tcb config set isIntl true
⚠️
tcb login成功但tcb env list是空的,就是站点选错,不是账号没有环境。先查isIntl,不要急着重登。⚠️ 改站点要两边一起改。 MCP 侧的解析优先级是「环境变量 >
.cloudbase/project.json」,所以只改项目记录、不改客户端env,MCP 仍然按旧站点走。项目记录是项目级、随仓库提交,重启后自动带入;tcb config isIntl是机器级,不能当项目配置用。
国际站用户
{
"mcpServers": {
"cloudbase": {
"command": "npx",
"args": ["@cloudbase/cloudbase-mcp@latest"],
"env": {
"TCB_SITE": "intl",
"TCB_REGION": "ap-singapore"
}
}
}
}
国内站的新加坡环境
国内站支持新加坡地域,但只配 TCB_REGION=ap-singapore 会被当成国际站 —— 登录跳国际站、NoSQL 工具被跳过。必须把站点也写上:
"env": { "TCB_SITE": "domestic", "TCB_REGION": "ap-singapore" }
也可以写进项目级 .cloudbase/project.json(独立文件,不并入 cloudbaserc.json),同一目录下的会话自动带入:
{
"site": "domestic",
"region": "ap-singapore",
"envId": "your-env-id"
}
环境 ID 的解析顺序、以及已有 CLI 项目的回退规则
其中 envId 会作为该项目的默认环境,解析优先级:
显式 cloudBaseOptions.envId
> 环境变量 CLOUDBASE_ENV_ID
> 当前进程内已绑定的环境(auth(action="set_env") 结果)
> 项目级配置 .cloudbase/project.json 的 envId
> cloudbaserc.json 的 envId(按字段回退)
> 账号登录态里的环境
> 返回 ENV_REQUIRED,引导调用 auth(action="set_env")
cloudbaserc.json 回退源说明(面向已有 CLI 项目,无需重复维护绑定配置):
- 按字段回退:project.json 与 cloudbaserc.json 各字段独立互补(如 project.json 只写 site、cloudbaserc.json 只写 envId 时两边同时生效),同一字段以 project.json 优先
- envId / region 支持字面量与
{{env.KEY}}模板:模板从项目根.env/.env.local解析(与 CLI 同源);{{private.X}}及解析失败的模板会被跳过,继续走下一级,不会报错 - MCP 不写 cloudbaserc.json:它是 CLI 维护的人工部署配置(CLI 部署后还会自动回写);机器管理的绑定持久化走
.cloudbase/project.json
因为该文件在仓库内且随仓库提交,所以新起的 MCP 进程、以及同一仓库的每个 Git worktree 都会自动命中同一环境,无需为每个 worktree 重新 set_env;不同仓库各读自己的文件,绑定不会互相串。
多站点凭证并存
登录凭证按站点分槽存储(~/.config/.cloudbase/auth.json 的 credential 升级为 credential.domestic / credential.intl),国内站与国际站可分别登录并存,切换环境无需重新登录。旧版单槽数据读取时自动视为 domestic,首次写回时自动升级为分槽格式。
远端模式(推荐)
快速开始
- 在客户端的 MCP 配置里加一条地址(国内站):
{
"mcpServers": {
"cloudbase": {
"type": "http",
"url": "https://tcb-api.cloud.tencent.com/mcp/v1"
}
}
}
- 首次连接时客户端会打开浏览器,登录腾讯云、选一个环境授权。
- 让 AI 查一次环境确认接通,比如「看下我环境里的云函数」。
国际站把地址换成 https://tcb-api.tencentcloud.com/mcp/v1。站点由域名决定,没有 site 参数。
不支持 OAuth 的客户端用上面这种写法会返回 403 Forbidden: Missing credentials,改用静态凭证。
含义与适用场景
- 含义:MCP 服务运行在服务端,IDE 通过 HTTP 连接,本机无需安装或运行 Node.js。
- 适用场景:快速跑通与团队统一接入;云端 Agent 或平台集成(调用方不在开发者本机);已有自己的服务器且需要自行掌控部署。
- 优点:不依赖本机环境,只填一个地址即可;交互式客户端在浏览器里完成授权,密钥不落配置文件;能力随服务端统一升级,各端无需跟进版本。
- 限制:涉及本机文件系统的能力不可用,详见下节。
远端服务有两种来源,能力完全一致,区别在由谁运维:
- 使用腾讯云提供的 MCP 服务:免运维,按下面的地址与鉴权方式配置即可,也是绝大多数用户的路径。
- 在自有服务器自建:需要自行部署并开启 Cloud Mode,适用于需接入内网或要自管凭证的场景。
远端模式的能力边界
MCP 服务不在开发者本机,因此涉及本机文件系统与本地进程的工具不会注册,调用时直接找不到该工具:
| 工具 | 不可用原因 |
|---|---|
auth | 登录依赖本地凭证文件的读写 |
manageStorage | 涉及本地文件上传/下载 |
downloadTemplate | 下载项目模板到本机 |
manageCloudRun | 涉及本地服务启动(action="run") |
deployBuild | 读取本地 cloudbaserc,并从当前工作目录构建上传产物 |
deployPlan | 同上 |
deployApply | 同上 |
另有一组动作级限制——工具本身仍在,但依赖本地文件系统的动作会在调用时返回明确错误:
manageFunctions:涉及本地代码上传的动作manageApps:deployApp传入filePath/localPath时不可用,改用getUploadUrl取预签名 URL、上传后带cosTimestamp调用manageStorage中读写本地文件的动作
此外还有一项站点级能力差异:国际站暂未提供 NoSQL(文档数据库)相关工具,见 站点与地域。
这套裁剪由 Cloud Mode 统一实现。腾讯云提供的 MCP 服务已在服务端开启,直接使用即可;在自有服务器部署时需要自行开启(见在自有服务器自建)。
配置方式一:OAuth 授权(交互式,推荐)
只填地址,不需要在配置文件里放任何密钥:
{
"mcpServers": {
"cloudbase": {
"type": "http",
"url": "https://tcb-api.cloud.tencent.com/mcp/v1"
}
}
}
首次连接时客户端会自动完成:动态客户端注册(DCR)→ 打开浏览器登录 → 选择环境并确认授权 → 拿到令牌。
Cursor、VS Code、WorkBuddy 等支持 OAuth 的客户端用这种方式即可。相比把密钥写进配置,它避免了密钥落盘与被误提交的风险。
国际站把
url换成https://tcb-api.tencentcloud.com/mcp/v1即可。⚠️ 不支持 OAuth 的客户端用这种「只填地址」的写法会返回
403 Forbidden: Missing credentials,请改用配置方式二:静态凭证。
配置方式二:静态凭证
用于不支持 OAuth 的客户端,以及 CI/CD 等无法交互授权的场景。远端服务通过请求头(header)校验调用方身份,当前支持腾讯云 API 密钥:
| Header | 值 | 获取方式 |
|---|---|---|
X-TencentCloud-SecretId | 腾讯云 SecretId | 腾讯云 API 密钥 |
X-TencentCloud-SecretKey | 腾讯云 SecretKey | 同上 |
两个 header 需成对传入,缺一不可。将 <env_id> 替换为你的环境 ID(在 云开发控制台 查看),完整配置:
{
"mcpServers": {
"cloudbase": {
"type": "http",
"url": "https://tcb-api.cloud.tencent.com/mcp/v1?env_id=<env_id>",
"headers": {
"X-TencentCloud-SecretId": "<腾讯云 Secret ID>",
"X-TencentCloud-SecretKey": "<腾讯云 Secret Key>"
}
}
}
}
⚠️ 这对密钥是账号级凭证,权限覆盖整个腾讯云账号,请勿提交到仓库或转发他人;CI 等场景建议通过密钥管理服务注入。
若换成国际站,把
url换成https://tcb-api.tencentcloud.com/mcp/v1?env_id=<env_id>,并使用国际站的密钥。
URL 参数(仅远端模式)
远端模式的 MCP 配置没有 env 块,所以下面这些都只能通过 URL 参数传入。
远端 URL 支持的 query 参数只有下面四个,其余参数会被忽略:
| 参数 | 是否必填 | 作用 |
|---|---|---|
env_id(或 envId) | 使用静态密钥时必填;OAuth 接入时由 token 绑定环境,可省略 | 指定要操作的环境 |
enable_plugins | 否 | 仅启用指定插件,多个用逗号分隔 |
disable_plugins | 否 | 从默认插件集合中禁用指定插件,多个用逗号分隔 |
use_internal_endpoint | 否 | 走内网 endpoint,仅特定部署可用 |
# 只启用指定插件
https://tcb-api.cloud.tencent.com/mcp/v1?env_id=YOUR_ENV_ID&enable_plugins=env,database
# 禁用指定插件
https://tcb-api.cloud.tencent.com/mcp/v1?env_id=YOUR_ENV_ID&disable_plugins=rag,env
当前可配置的插件名以 mcp/src/server.ts 为准,建议优先使用 canonical 名称:env, database, pg_database, pg_storage, mysql_database, functions, hosting, storage, setup, rag, download, gateway, cloudrun, app-auth, permissions, logs, agents, apps, capi, feedback, database-nosql, database-sql, data-model。
⚠️ 没有
site参数,也没有region参数。 站点由你使用的域名决定——用国内站地址就是国内站,即使环境位于ap-singapore;写成site=domestic不会生效。region则随环境走:OAuth 接入时由 token 绑定的环境决定,需要查询其他地域时在工具调用里传region参数。
远端模式环境变量说明
远端模式下,MCP 服务运行在服务端,环境变量在服务端配置。使用腾讯云提供的 MCP 服务时,通过 URL 与 headers 传入 env_id 和凭证即可,无需再配置服务端环境变量。
若你自建远端服务,可参考 MCP 工具 - 云端 MCP 配置说明 中的可选环境变量表(如 TENCENTCLOUD_SECRETID、TENCENTCLOUD_SECRETKEY、CLOUDBASE_ENV_ID 等);站点同样支持用 TCB_SITE 环境变量指定(domestic / intl),与本地模式行为一致。
在自有服务器自建(Cloud Mode)
启用方式
通过以下任一方式启用 Cloud Mode(三选一):
# 方式 1:环境变量
export CLOUDBASE_MCP_CLOUD_MODE=true
# 方式 2:备选环境变量
export MCP_CLOUD_MODE=true
# 方式 3:CLI 参数
npx @cloudbase/cloudbase-mcp@latest --cloud-mode
启用后对外提供 Streamable HTTP 接口,涉及本地文件系统读写和本地进程启动的工具将被逐一禁用(清单见远端模式的能力边界),确保远程调用方无法通过这些工具操作服务器本地资源。
安全架构说明
CloudBase MCP 针对不同部署场景提供分层安全保护:
┌─────────────────────────────────────────────────────┐
│ 本地模式 (Local) │
│ - 全部工具可用 │
│ - 调用方 = 开发者本人(已拥有机器完整控制权) │
│ - 通信方式:stdio / localhost │
└─────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────┐
│ 远端模式 (Remote / Cloud Mode) │
│ - 本地文件/进程工具自动禁用 │
│ - 三层过滤:服务端注册过滤 + 客户端白名单(双重冗余) │
│ - 远程调用方无法操作服务器本地资源 │
│ - 通信方式:HTTPS (Streamable HTTP) │
└─────────────────────────────────────────────────────┘
重要提示:本地模式下
manageCloudRun(action="run")等工具是产品的正常功能,等同于开发者在终端执行curl或node app.js。这些工具仅在开发者本机运行,不存在权限提升风险。如果你需要在远程服务器上部署 MCP 服务并对外提供接口,务必启用 Cloud Mode(腾讯云提供的 MCP 服务已默认启用)。
本地模式
含义与适用场景
- 含义:MCP 服务在你本机通过
npx启动,与 IDE 同机运行。 - 适用场景:需要依赖本地文件系统的能力(上传本地代码或目录、把模板下载到本机);离线或受限网络环境。
- 优点:功能最全,包含上传/下载、模板安装等依赖本地文件系统的能力。
- 要求:本机已安装 Node.js,且能执行
npx。
快速开始
在 IDE 的 MCP 配置中添加(以 Cursor / WindSurf 等为例):
{
"mcpServers": {
"cloudbase": {
"command": "npx",
"args": ["@cloudbase/cloudbase-mcp@latest"],
"env": {}
}
}
}
💡 本地模式的站点没有域名可依据,国际站用户需在
env中声明TCB_SITE=intl;国内站是默认值,不用写。见本地模式怎么定站点。
本地模式可选环境变量
本地模式下,可通过修改 env 环境变量来控制。以下均为可选,不配置时使用默认行为。
| 环境变量 | 说明 | 默认 / 说明 |
|---|---|---|
CLOUDBASE_API_KEY | CloudBase 环境级 API Key(推荐用于 CI/CD、MCP Server) | 与 CLOUDBASE_ENV_ID 配合使用,优先级高于 TENCENTCLOUD_* 密钥;兼容读取 CLOUDBASE_APIKEY(与 @cloudbase/js-sdk / @cloudbase/node-sdk 对齐,优先使用带下划线的 CLOUDBASE_API_KEY);在控制台创建 |
CLOUDBASE_ENV_ID | 云开发环境 ID(可选) | 未设置时首次调用会引导登录并选择环境 |
CLOUDBASE_API_ENDPOINT | 自定义 API Key 换取凭证的 Endpoint(高级可选) | 不设则使用默认 https://<envId>.<region>.tcb-api.tencentcloudapi.com |
CLOUDBASE_LOCAL_ENDPOINT | 把云 API 改打到本机进程的源站,例如 http://127.0.0.1:8797 | 不设则走腾讯云。值是源站,不要带 /capi(会自动补上)。设置后跳过登录、不需要密钥,环境 ID 为 local。与上面的 CLOUDBASE_API_ENDPOINT 不是同一个地址 |
TENCENTCLOUD_SECRETID | 腾讯云 SecretId(可选) | 不设则通过登录引导获取;获取腾讯云 API 密钥 |
TENCENTCLOUD_SECRETKEY | 腾讯云 SecretKey(可选) | 同上 |
TENCENTCLOUD_SESSIONTOKEN | 腾讯云临时密钥 Token(可选) | 仅在使用临时密钥时需要,可通过 STS 服务 获取 |
TCB_REGION | 腾讯云地域,如 ap-shanghai(可选) | 不设则使用 SDK 默认 |
TCB_SITE | 站点:domestic(国内站)或 intl(国际站)(可选) | 不设则按 region 反查映射表;ap-singapore 歧义时默认 intl。国内站新加坡用户必须显式设 domestic,避免被误判为国际站 |
TCB_AUTH_OAUTH_ENDPOINT | 自定义 device-code 登录 endpoint(可选,推荐作为主要覆盖项) | 不设则使用默认登录 endpoint |
TCB_AUTH_CLIENT_ID | 自定义 device-code 登录 client_id(高级可选) | 不设则使用默认 client_id |
TCB_AUTH_OAUTH_CUSTOM | 自定义 endpoint 返回格式开关(高级可选) | 未配置 endpoint 时默认 false;配置 endpoint 后默认 true |
TCB_TCR_USERNAME | 个人版 TCR 推送用户名,即腾讯云账号 UIN(可选) | 仅 HTTP 云函数个人版镜像构建(imageType=personal 的 local / cloud)需要;与 cloudbaserc 的 {{env.TCB_TCR_USERNAME}} 同名,CLI 与 MCP 共用一套变量 |
TCB_TCR_PASSWORD | 个人版 TCR 固定密码(可选) | 同上;配置后无需在工具参数中传递凭证,避免密码进入 AI 上下文。获取个人版镜像仓库密码 |
INTEGRATION_IDE | 当前 IDE 标识(如 Cursor、CodeBuddy)(可选) | 用于日志与能力适配 |
CLOUDBASE_MCP_PLUGINS_ENABLED | 启用的插件列表,逗号分隔(可选) | 不设则使用默认插件集 |
CLOUDBASE_MCP_PLUGINS_DISABLED | 禁用的插件列表,逗号分隔(可选) | 与 URL 参数 disable_plugins 效果类似 |
WORKSPACE_FOLDER_PATHS / PROJECT_ROOT | 项目根目录(下载模板、远程文件等)(可选) | 不设则使用当前工作目录;CI 下可用 GITHUB_WORKSPACE 等 |
CLOUDBASE_MCP_TELEMETRY_DISABLED | 设为 true 关闭遥测上报(可选) | 默认上报 |
CLOUDBASE_LOG_DIR | 日志目录(可选) | 默认 ~/.cloudbase-mcp/logs |
遥测说明:CloudBase MCP 默认上报使用统计,用于产品改进与用量统计,包含工具名、调用结果与耗时、工具级 action(如 auth 的 status / set_env)、错误摘要(截断)、环境 ID、地域 / 站点、IDE 与 MCP 客户端标识及其声明的能力(例如是否支持交互式输入)、设备标识,以及环境所属主账号 uin(字段名 login_uin,与 CloudBase CLI 保持一致)。当客户端读取 ui:// 面板资源时会额外上报一条资源读取事件(事件名 toolkit_resource_read,含资源 URI、MIME、内容字节数、耗时与成败,并复用上面同一套环境 / 站点 / 客户端字段)。上报内容会做截断与敏感字段过滤,不用于其他用途。如需关闭,设 CLOUDBASE_MCP_TELEMETRY_DISABLED=true 即可完全关闭。
登录相关环境变量怎么选
大多数情况下,这 3 个变量都不用配:TCB_AUTH_OAUTH_ENDPOINT、TCB_AUTH_CLIENT_ID、TCB_AUTH_OAUTH_CUSTOM。
只有在你们要接入企业/平台自己的登录中间层时,才需要配置。可参考官方文档 无 CAM 子账号的隔离方案。
- 个人开发、普通团队:不用配,直接走默认 device-code 登录
- 服务器、CI/CD、MCP Server、AI Agent:推荐配
CLOUDBASE_API_KEY+CLOUDBASE_ENV_ID(环境级长期凭证,自动换取临时密钥) - 传统密钥方式:配
TENCENTCLOUD_SECRETID、TENCENTCLOUD_SECRETKEY、TENCENTCLOUD_SESSIONTOKEN、CLOUDBASE_ENV_ID - 企业自建登录中间层:通常只先配
TCB_AUTH_OAUTH_ENDPOINT
凭证优先级
当多种凭证同时存在时,MCP 按以下优先级选择:
CLOUDBASE_API_KEY+CLOUDBASE_ENV_ID— CloudBase 环境级 API Key(若未设置CLOUDBASE_API_KEY,兼容读取CLOUDBASE_APIKEY)TENCENTCLOUD_SECRETID+TENCENTCLOUD_SECRETKEY— 腾讯云永久/临时密钥- 本地存储的 Device Flow 登录凭证(
~/.config/.cloudbase/auth.json)
登录模式与查询范围
两种登录的可见环境范围不同,这是凭据权限边界,不是环境丢失:
| 登录方式 | auth(status) 字段 | 能看到什么 |
|---|---|---|
| 账号级(device / web / 腾讯云 SecretId) | credential_scope=account | 当前地域下账号有权的环境;其他地域需显式查询 |
环境级 API Key(CLOUDBASE_API_KEY + CLOUDBASE_ENV_ID) | credential_scope=single_env | 仅绑定的那一个 envId,无法列出其他环境或其他地域 |
跨地域查询(仅账号级凭据):
- MCP:
queryEnv(action="list", region="ap-singapore")(旧称envQuery) - MCP 管控面:
callCloudApi(service="tcb", action="DescribeEnvs", region="ap-singapore")。不要把Region放进params(会报The parameter Region is not recognized) - CLI:
tcb env list -r ap-singapore --json
绑定非当前地域环境:账号级登录下 auth(action="set_env", envId="<EnvId>") 不要求 envId 出现在当前地域候选列表中;环境级 API Key 不能改绑到其他 envId。
API Key 模式示例
{
"mcpServers": {
"cloudbase": {
"command": "npx",
"args": ["@cloudbase/cloudbase-mcp@latest"],
"env": {
"CLOUDBASE_API_KEY": "<your-api-key>",
"CLOUDBASE_ENV_ID": "<your-env-id>"
}
}
}
}
💡 API Key 可在 云开发控制台 的环境设置中创建和管理。
⚠️ API Key 具有环境级别的操作权限,请妥善保管,建议通过环境变量注入,不要硬编码在配置文件中。
自定义登录中间层
最小示例:
TCB_AUTH_OAUTH_ENDPOINT=https://auth.your-domain.com/oauth
补充说明:
TCB_AUTH_CLIENT_ID:只有自定义登录服务要求固定client_id时才配TCB_AUTH_OAUTH_CUSTOM:配置自定义TCB_AUTH_OAUTH_ENDPOINT时应按true使用;现在默认也会自动按true处理
危险操作与二次确认
破坏性动作在执行前会请求一次确认(MCP elicitation)。是否生效取决于客户端,它不是安全边界。
会触发确认的动作
| 资源 | 工具.action |
|---|---|
| 云函数 | manageFunctions.deleteFunction、deleteFunctionTrigger、deleteLayerVersion |
| 数据库 | writeNoSqlDatabaseStructure.deleteCollection、writeNoSqlDatabaseContent.delete、manageMysqlDatabase.destroyMySQL |
| 存储与托管 | manageStorage.delete、manageHosting.delete |
| 云托管 | manageCloudRun.delete |
| 数据库迁移 | managePgDatabase.execute、applyMigration —— 按 SQL 语句判定,不看 action 名 |
| 域名与路由 | envDomainManagement.delete、manageEnv.removeSecurityDomain、manageGateway.deleteRoute、deleteCustomDomain |
| 账号与发布 | manageAgents.deleteAgent、manageAppAuth.deleteProvider、deleteApiKey、manageApps.deleteApp、deleteAppVersion |
安全边界
| 客户端行为 | 结果 |
|---|---|
| 不支持 elicitation | 不弹确认,直接执行 |
| 支持,但自动应答(< 500ms) | 视为未询问,直接执行 |
| 用户拒绝 | 返回正常结果,不标为错误(标错误会让模型重试同一删除) |
⚠️ 护栏,不是安全边界。生产环境不要只靠它:用只读凭证,或用
enable_plugins收窄可调用的插件范围。
开关
| 环境变量 | 作用 |
|---|---|
CLOUDBASE_MCP_SKIP_ELICITATIONS | 跳过清单,逗号分隔,可写 工具名 或 工具名.action,区分大小写,不支持通配 |
CLOUDBASE_MCP_ELICIT_AUTO_APPROVE=block | 客户端自动应答时也拦下 |
支持的插件
当前插件名称、默认启用集合与兼容别名以 mcp/src/server.ts 为准。下表列出当前支持的全部 canonical 名称:
| 插件名 | 默认启用 | 说明 |
|---|---|---|
env | 是 | 环境登录、环境查询、安全域名管理 |
database | 是 | NoSQL 数据库 + 数据模型(组合注册) |
pg_database | 是 | PostgreSQL 数据库 |
pg_storage | 是 | PostgreSQL 存储 |
mysql_database | 是 | MySQL 数据库 |
functions | 是 | 云函数查询、创建、更新、调用 |
hosting | 是 | 静态托管与域名管理 |
storage | 是 | 云存储文件管理 |
setup | 是 | 模板、IDE 规则与配置下载 |
rag | 是 | 知识库、技能、OpenAPI 与官方文档检索 |
download | 是 | 下载远程文件到本地 |
gateway | 是 | 云函数访问入口与路由管理 |
cloudrun | 是 | 云托管服务初始化、部署与管理 |
app-auth | 是 | 应用侧认证配置 |
permissions | 是 | 权限、角色与安全规则 |
logs | 是 | 日志服务状态与日志检索 |
agents | 是 | Agent 查询与管理 |
apps | 是 | CloudApp 应用与版本管理 |
capi | 是 | 通用云 API 调用 |
feedback | 是 | 默认注册 prepareFeedback,生成案例或开发复盘草稿,确认后给出提交链接,不代为提交 |
database-nosql | 否 | 仅 NoSQL 数据库(database 的子集) |
database-sql | 否 | 仅 SQL 数据库(mysql_database 的子集) |
data-model | 否 | 仅数据模型(database 的子集) |
兼容别名(建议优先使用 canonical 名称):
| 别名 | → canonical |
|---|---|
access-control | permissions |
auth-config | app-auth |
security-rule / security-rules | permissions |
secret-rule / secret-rules | permissions |
users | permissions |
mysql / mysql-database | mysql_database |
sql-database | mysql_database |
未配置时默认启用上表中"默认启用"为"是"的插件;可通过环境变量或 URL 参数控制插件范围。enable_plugins / disable_plugins 以及 CLOUDBASE_MCP_PLUGINS_ENABLED / CLOUDBASE_MCP_PLUGINS_DISABLED 的多值格式均为逗号分隔。
支持的工具
工具数量与名称会随版本演进而变化。完整参数与说明请见 MCP 工具;如需确认某个工具或插件是否真实存在,请优先以 mcp/src/server.ts 与 mcp/src/tools/*.ts 中的注册结果为准。