npx skills add ...
npx skills add tencentcloudbase/skills --skill 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.
npx skills add tencentcloudbase/skills --skill relational-database-mcp-cloudbase
Sibling CloudBase skills ship beside this skill. Use local relative paths such as ../auth-tool-cloudbase/SKILL.md.
If a referenced sibling skill file is missing from this environment, ask the user to install the full CloudBase plugin (or the missing skill). Do not HTTP-fetch remote skill or protocol markdown into the agent context.
queryMysqlDatabase, manageMysqlDatabase, queryPermissions, or managePermissions.../relational-database-web-cloudbase/SKILL.md../http-api-cloudbase/SKILL.md_openid and permissions review after creating new SQL tables.getConnectionInfo (or inferred host/password) to build a default TCP client for new apps. Prefer SDK / runQuery / runStatement; TCP credentials are an explicit migration exception only.Use this skill when an agent needs to operate on CloudBase Relational Database via MCP tools, for example:
Do NOT use this skill for:
Recognize MCP context
queryMysqlDatabase, manageMysqlDatabase, queryPermissions, managePermissions, you are in MCP context.Pick the right tool for the job
queryMysqlDatabasemanageMysqlDatabasequeryPermissions(action="getResourcePermission")managePermissions(action="updateResourcePermission")Always be explicit about safety
queryMysqlDatabase(action="getInstanceInfo") or a read-only SQL check before writes.These tools are the supported way to interact with CloudBase Relational Database via MCP:
queryMysqlDatabaseSELECT and other read-only SQL queries with action="runQuery"action="getInstanceInfo" (lifecycle only — no connection credentials)action="describeCreateResult" or action="describeTaskStatus"action="getConnectionInfo" returns the raw connection/cluster payload (may include credentials) for migrating existing TCP/ORM clients. Do not use this for new business CRUD — prefer Web/Node SDK or runQuery / runStatement.Example flow:
Do NOT call getConnectionInfo and then wire pymysql / mysql2 / DATABASE_URL into a cloud function for greenfield apps. Platform-delegated SQL and SDK access are the default.
manageMysqlDatabaseaction="provisionMySQL"action="destroyMySQL"INSERT, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, DROP TABLE with action="runStatement"action="initializeSchema"Important: When creating a new table, you must include the _openid column for per-user access control:
Note: when a user is logged in, _openid is automatically populated by the server from the authenticated session. Do not manually fill it in normal inserts.
Before calling this tool, confirm:
When destroying MySQL, confirm:
describeTaskStatus afterward to inspect the destroy result.queryPermissionsqueryPermissions(action="getResourcePermission", resourceType="sqlDatabase", resourceId="<tableName>")managePermissionsmanagePermissions(action="updateResourcePermission", resourceType="sqlDatabase", resourceId="<tableName>", permission="READONLY")permissionssecurity-rule, security-rules, secret-rule, secret-rules, and access-control are still routed to permissionsreadSecurityRule and writeSecurityRule are removed; always use queryPermissions and managePermissionsqueryMysqlDatabase(action="getInstanceInfo").manageMysqlDatabase(action="provisionMySQL", confirm=true).queryMysqlDatabase(action="describeCreateResult")queryMysqlDatabase(action="describeTaskStatus")READY.describeCreateResult; reserve describeTaskStatus for destroy flows whose task response carries TaskName.queryMysqlDatabase(action="runQuery") with a limited SELECT.LIMIT and relevant filters.manageMysqlDatabase(action="initializeSchema").queryPermissions or managePermissions.queryMysqlDatabase(action="runQuery") to inspect current data or schema if needed.manageMysqlDatabase(action="runStatement").queryMysqlDatabase(action="getInstanceInfo") to confirm the current environment still has a SQL instance.manageMysqlDatabase(action="destroyMySQL", confirm=true).queryMysqlDatabase(action="describeTaskStatus") until the destroy task completes or fails.queryMysqlDatabase(action="getInstanceInfo") to confirm the instance no longer exists.MCP tools are for agent operations and database management:
SDKs are for application code:
When working as an MCP agent, always prefer these MCP tools for CloudBase Relational Database, and avoid mixing them with SDK initialization in the same flow.