Install any skill in seconds. Free to start, no credit card required.
Get Started Free →[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.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 122% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 18% | 0% |
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:
queryMysqlDatabase, manageMysqlDatabase, queryPermissions, managePermissions, you are in MCP context.queryMysqlDatabasemanageMysqlDatabasequeryPermissions(action="getResourcePermission")managePermissions(action="updateResourcePermission")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:
json{ "action": "runQuery", "sql": "SELECT id, email FROM users ORDER BY created_at DESC LIMIT 50" }
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:
sql_openid VARCHAR(64) DEFAULT '' NOT NULL
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.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.
Other measured skills in the registry, with their headline benchmark lift.