mcpField
C
CloudBase AI ToolKit

CloudBase AI ToolKit

Remote
github.comDeveloper Tools1.2kUpdated today

About CloudBase AI ToolKit

@cloudbase/cloudbase-mcp is the MCP server component of CloudBase AI Toolkit, for developers using AI coding tools with Tencent CloudBase. It exposes backend operations for databases, functions, storage, hosting, and logs, with remote OAuth or local execution options.

Key features

  1. 01Manage databases and data permissions
  2. 02Create, deploy, and debug cloud functions
  3. 03Handle authentication, storage, and hosting
  4. 04Inspect logs and redeploy
  5. 05Remote OAuth and local execution modes
  6. 06Confirmation for deletions and credential writes

Use cases

  1. 01Build and deploy full-stack apps through AI coding tools
  2. 02Automate CloudBase operations in CI/CD
  3. 03Require confirmation before deleting resources
  4. 04Use local mode to upload files or download templates

MCP support

It exposes tools for AI coding clients to operate Tencent CloudBase environments. Clients can connect to Tencent Cloud MCP remotely or run @cloudbase/cloudbase-mcp locally.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://tcb-api.cloud.tencent.com/mcp/v1?env_id={env_id}
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://tcb-api.cloud.tencent.com/mcp/v1?env_id={env_id}Auth required
Streamable HTTPhttps://tcb-api.tencentcloud.com/mcp/v1?env_id={env_id}Auth required
Packages
npm@cloudbase/cloudbase-mcp2.36.2

Tools

38
ParameterTypeRequiredDescription
actionenumNoAction: status=check status, start_auth=start login, login_by_api_key=log in with an API Key, set_env=bind environment (pass envId), logout=log outstatus | start_auth | set_env | logout | get_temp_credentials | login_by_api_key
authModeenumNoAuthentication mode: device=device-code authorization, web=browser callback authorizationdevice | web
oauthEndpointstringNoAdvanced optional: custom device-code login endpoint. If configured, oauthCustom defaults to true
clientIdstringNoAdvanced optional: custom device-code login client_id; if omitted, the default value is used
oauthCustombooleanNoAdvanced, optional: Toggle for the custom endpoint return format. Defaults to false when no endpoint is configured; defaults to true when an endpoint is configured, and cannot be set to false.
envIdstringNoEnvironment ID (unique identifier for a CloudBase environment). Once bound, the tool will operate on that environment. Required when action=set_env.
apiKeystringNoCloudBase API Key. Required when action=login_by_api_key.
apiKeyEnvIdstringNoCloudBase environment ID (EnvId). Required when action=login_by_api_key; specifies the environment associated with the API Key.
confirmstringNoConfirm the operation when action=logout by passing yes.
revealbooleanNoOptional when action=get_temp_credentials. true returns the temporary secret in plaintext; defaults to false, which returns only a masked result.

Details

From the project README
CloudBase AI Toolkit

@cloudbase/cloudbase-mcp

MCP Server for Tencent CloudBase. Part of CloudBase AI Toolkit.

Operate CloudBase from AI coding tools: login, databases, functions, storage, hosting, and logs—via the Model Context Protocol.

English · 简体中文 · Toolkit README · Docs · Changelog · Issues

README image README image README image README image

What this package is

@cloudbase/cloudbase-mcp is the npm distribution of the CloudBase MCP Server. It is one piece of the Toolkit:

PieceRole
PluginInstalls MCP + Skills + Hooks together
Agent SkillsScenario skills toward workable CloudBase practice
MCP (this package)Tools the agent calls to act on your CloudBase environment

Prefer Plugin when your IDE supports it. Use this package alone when you only need MCP config.

Full Toolkit narrative, related repos, and IDE matrix: repository README.

Quick start

{
  "mcpServers": {
    "cloudbase": {
      "command": "npx",
      "args": ["@cloudbase/cloudbase-mcp@latest"]
    }
  }
}

First prompts:

Login to CloudBase
Use CloudBase Skills to build a todo app with login, database and permissions, then deploy

You need a CloudBase environment and should confirm sensitive actions the AI proposes.

Other install paths
PathWhen
Official MCP Registry io.github.TencentCloudBase/cloudbase-mcpDiscover via registry search=cloudbase
npx plugins add TencentCloudBase/cloudbase-pluginOpen Plugin Spec tools
npm i -g @cloudbase/cli && tcb aiCloudBase AI CLI configures many IDEs
Marketplace / built-in pluginClaude Code, Codex, CodeBuddy, WorkBuddy, Doubao, MiniMax Code, DeepSeek Harness, Kimi Code, Kimi Work, ZCode, etc.

Connection modes

Remote (recommended): your IDE connects over HTTP to Tencent Cloud MCP. No local Node, and interactive clients finish authorization in the browser.

SiteMCP endpoint
China (domestic)https://tcb-api.cloud.tencent.com/mcp/v1
Internationalhttps://tcb-api.tencentcloud.com/mcp/v1

Pick the endpoint matching the site your environment lives in—the two sites use separate accounts and credentials.

OAuth (interactive, recommended): the URL is the whole configuration—your IDE opens the browser for login and consent, and you pick the environment there. No keys land in config files, and there is nothing to rotate.

{
  "mcpServers": {
    "cloudbase": {
      "type": "http",
      "url": "https://tcb-api.cloud.tencent.com/mcp/v1"
    }
  }
}

Static credentials (for a client without OAuth, and for CI/CD): append env_id and a key pair created on the same site as the endpoint.

{
  "mcpServers": {
    "cloudbase": {
      "type": "http",
      "url": "https://tcb-api.cloud.tencent.com/mcp/v1?env_id=<env_id>",
      "headers": {
        "X-TencentCloud-SecretId": "<Tencent Cloud Secret ID>",
        "X-TencentCloud-SecretKey": "<Tencent Cloud Secret Key>"
      }
    }
  }
}

A static key pair stays valid until it is rotated or deleted; an OAuth session ends when you log out. Use the static form only where the browser flow is impossible—and keep it out of a repository.

Local: runs npx @cloudbase/cloudbase-mcp@latest on your machine—full features, including local filesystem upload and template download. Requires Node.js v18.15.0+.

Remote trade-off: local-filesystem features (upload, template download) are unavailable, and the international site does not yet expose NoSQL tools.

Remote URLs accept site for one case only—a China-site environment in ap-singapore, where the region is ambiguous—plus enable_plugins / disable_plugins (comma-separated). Canonical plugin names: see src/server.ts in this package (e.g. env, database, functions, hosting, storage, pg_database, cloudrun, logs, feedback).

Self-hosted Cloud Mode: set CLOUDBASE_MCP_CLOUD_MODE=true (or MCP_CLOUD_MODE=true) so local file and process tools are disabled for remote callers.

ScenarioSuggestion
Personal / fastest startRemote URL (OAuth)
Need local file featuresLocal npx
CI / automationRemote + static credentials
Self-hosted MCPCloud Mode required
Site & region

Set TCB_SITE (domestic / intl) to select the login/credential site, and TCB_REGION for API routing. The domestic and international sites are separate account systems. ap-singapore exists on both, so domestic-site Singapore users must set TCB_SITE=domestic; otherwise it defaults to intl. Project-level .cloudbase/project.json ({ site, region, envId }) is also supported.

In remote mode the site is determined by the endpoint host itself—tcb-api.cloud.tencent.com is the China site, tcb-api.tencentcloud.com is the international site—and there is no site query parameter to set. This holds for a China-site environment in ap-singapore too: keep using the China-site endpoint. Self-hosted Cloud Mode deployments can still use the TCB_SITE environment variable.

Experimental: MCP Apps panels (off by default)

auth, queryEnv and the deploy tools can render MCP Apps panels (ui://cloudbase/*) in hosts that support them. This is experimental and switched off by default: with no environment variable set, no ui:// resource is registered and no tool carries _meta.ui, so a host sees an ordinary MCP server and results stay plain JSON text.

Turn it on with CLOUDBASE_MCP_UI=on (also accepts 1 / true / yes / enabled). Anything else — off, 0, false, no, disabled, or a typo — leaves it off. Tools behave identically either way; the flag only decides whether panels are offered.

Capabilities

Typical backend work in your environment (confirm critical steps):

  • Database: PostgreSQL and document DB, data models, CRUD, permissions
  • Compute: cloud functions / Cloud Run—author, deploy, invoke, debug
  • Auth & storage: login methods, object storage, permission linkage
  • Release & ops: static hosting / Mini Program publish; logs and redeploy

Tool catalog: MCP tools · tools.json

Confirmations before destructive calls

Deleting a cloud function, a collection, the documents in one, a stored file, a CloudRun service or a MySQL instance now pauses the call until you answer a dialog that names the target — "about to delete the cloud function hello (env env-abc)" — instead of asking a bare "are you sure?". The same deletes pause when they arrive as callCloudApi, but only for an explicit service + Action pair: DeleteFunction on tcb or scf, tcb.DeleteTable, tcb.DeleteItem, tcb.DestroyEnv, tcb.DestroyPlatformEnv, tcb.DestroyMySQL, tcbr.DeleteCloudRunServer, and tcbr.DeleteCloudRunVersions when IsDeleteServer is true. A Delete prefix does not confirm other cloud APIs. Cloud storage deletes do not go through callCloudApi. PostgreSQL execute / applyMigration pause only when the SQL itself is DELETE, DROP, TRUNCATE or ALTER … DROP; INSERT, UPDATE and CREATE TABLE do not. It is built on MCP form elicitation, so it can only appear where the client declares that capability and actually asks the user.

SituationWhat happens
The client asks the userYou get the dialog; the call runs only after you pick "delete"
The client is in a full-access / never-ask modeIt answers on its own within a few milliseconds. That is treated as "you were not asked", and the call proceeds
The client cannot render formsNo dialog, and the call proceeds — the behaviour is the same as before this change
You decline, dismiss it, or answer nothing for 45sNothing is executed, and the result says so without being marked as an error, so a model does not retry the same deletion

A declined call is not a failure: the tool returns "not executed" plus what to do instead. Two environment variables change the handling, and neither of them bypasses authentication, permissions or read-only limits — they only decide whether the question is asked:

VariableEffect
CLOUDBASE_MCP_SKIP_ELICITATIONSComma-separated. Accepts a tool name (manageFunctions, callCloudApi) or a single action (manageFunctions.deleteFunction, callCloudApi.tcb.DeleteFunction), case-sensitive, no wildcard. Unknown entries are logged and ignored rather than failing the server
CLOUDBASE_MCP_ELICIT_AUTO_APPROVEallow (default) proceeds when the client answers for itself; block treats that case as not confirmed

A client's own tool-approval prompt is not this confirmation: it asks "may this tool run?", not "is this the resource you want to delete?".

Credential-shaped arguments: one real check before writing

When a call's arguments contain something shaped like a credential — a three-part JWT, or a cb_secret_… / cb_publishable_… key — the server asks the client for one check before writing: compare the value against your original source and confirm. The message deliberately carries no plaintext: only the total length, the segment lengths (for a JWT), and a fingerprint (the first 12 hex characters of sha256). That is enough to notice a value that was changed while being copied or transcribed, and nothing that would put the secret into the conversation or into the logs.

What this is not. We do not decide whether the credential is valid. There is no signature verification, no certs/JWKS lookup, no network request of any kind, and no server-side comparison — the server never sees the value you originally pasted, so the only side that can compare it is the client. This is a request for a real confirmation at write time, not a validity check.

Boundaries. It only applies when the arguments actually contain a credential-shaped string (otherwise the call is unchanged: one shallow scan, no network). It only applies when the client supports interactive form elicitation; a client that cannot ask proceeds as before, so an unattended client is not blocked. And a check that returns within a few hundred milliseconds counts as "nobody looked at it": unlike the deletion confirmation — where a client answering for itself is treated as "you were not asked" and the call proceeds — a credential write is not executed, because a value nobody compared is exactly the case this guards against. When the guard declines, the result says "not executed" without being marked as an error, so a model does not retry it blindly.

VariableEffect
CLOUDBASE_MCP_SKIP_CREDENTIAL_GUARDComma-separated. Accepts a tool name (manageCloudRun) or a single action (manageCloudRun.updateConfig), case-sensitive, no wildcard. Unknown entries are logged and ignored rather than failing the server

Get-started panel (MCP Apps)

Where the client declares the io.modelcontextprotocol/ui extension, auth also opens a small read-only panel (ui://cloudbase/get-started). It consumes the structured result that this auth call already returned and shows the connection status in plain words — location (site plus region, e.g. "Shanghai (China)"), access scope, and the environment ID — with a single primary action for the current state (sign in when signed out, pick an environment when not bound, wire up a sample project when ready). The only call the panel makes is the read-only auth(status), fired by "Re-check"; every other action just hands a sentence to the conversation, and the raw response is folded into "View raw response".

Clients that do not render MCP Apps are unaffected: auth keeps the same title, description, arguments and output, and resources/list stays empty, so nothing new appears in a resource browser.

IDE config snippets

Cursor (.cursor/mcp.json)
{
  "mcpServers": {
    "cloudbase": {
      "command": "npx",
      "args": ["@cloudbase/cloudbase-mcp@latest"]
    }
  }
}
WindSurf (.windsurf/settings.json)
{
  "mcpServers": {
    "cloudbase": {
      "command": "npx",
      "args": ["@cloudbase/cloudbase-mcp@latest"]
    }
  }
}
CodeBuddy

CloudBase is built in; manual MCP config is usually unnecessary.

Others: IDE setup.

Docs

License

MIT · TencentCloudBase

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.