create_user
Create a database user for a Cloud SQL instance. * This tool returns a long-running operation. Use the get_operation tool to poll its status until the operation completes. * When you use the create_user tool, specify the type of user: CLOUD_IAM_USER, CLOUD_IAM_SERVICE_ACCOUNT, or BUILT_IN. * By d...
This record as markdown: /tools/com-googleapis-sqladmin-mcp/create-user.md
What create_user does on Mcp
AI agents use create_user to create or update resources in Mcp, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mcp environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Required. The name of the user in the Cloud SQL instance. |
type | string | Yes | Required. The user type. It determines the method to authenticate the user during login. Use type CLOUD_IAM_USER when authenticating with a Cloud IAM user. Use |
project | string | Yes | Required. Project ID of the project that contains the instance. |
instance | string | Yes | Required. Database instance ID. This does not include the project ID. |
databaseRoles | array | — | Optional. Role memberships of the user. Default value is [cloudsqlsuperuser]. |
passwordSecretVersion | string | — | Optional. Input only. The resource name of the Secret Manager secret holding the password for the user, only needed if `type` is `BUILT_IN`. The expected format |
Parameters from the server's own tool schema.
Why create_user is rated Medium
An AI agent can call create_user faster than any human can review: one bad instruction and it creates or modifies resources in Mcp by the hundred, each call as confident as the last.
Attacks that exploit this kind of access
The rule that runs create_user safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Mcp, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For create_user, this is the rule to start with:
create_user stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Mcp, apply this rule, and every create_user call is checked against it from then on.
Questions about create_user
Create a database user for a Cloud SQL instance. * This tool returns a long-running operation. Use the get_operation tool to poll its status until the operation completes. * When you use the create_user tool, specify the type of user: CLOUD_IAM_USER, CLOUD_IAM_SERVICE_ACCOUNT, or BUILT_IN. * By default the newly created user is assigned the cloudsqlsuperuser role, unless you specify other database roles explicitly in the request. * You can use a newly created user with the execute_sql tool if the user is a currently logged in IAM user. The execute_sql tool executes the SQL statements using the privileges of the database user logged in using IAM database authentication. The create_user tool has the following limitations: * To create a built-in user with password, use the password_secret_version field to provide password using the Google Cloud Secret Manager. The value of password_secret_version should be the resource name of the secret version, like projects/12345/locations/us-central1/secrets/my-password-secret/versions/1 or projects/12345/locations/us-central1/secrets/my-password-secret/versions/latest. The caller needs to have secretmanager.secretVersions.access permission on the secret version. * The create_user tool doesn't support creating a user for SQL Server. To create an IAM user in PostgreSQL: * The database username must be the IAM user's email address and all lowercase. For example, to create user for PostgreSQL IAM user example-user@example.com, you can use the following request: { "name": "example-user@example.com", "type": "CLOUD_IAM_USER", "instance":"test-instance", "project": "test-project" } The created database username for the IAM user is example-user@example.com. To create an IAM service account in PostgreSQL: * The database username must be created without the .gserviceaccount.com suffix even though the full email address for the account isservice-account-name@project-id.iam.gserviceaccount.com. For example, to create an IAM service account for PostgreSQL you can use the following request format: { "name": "test@test-project.iam", "type": "CLOUD_IAM_SERVICE_ACCOUNT", "instance": "test-instance", "project": "test-project" } The created database username for the IAM service account is test@test-project.iam. To create an IAM user or IAM service account in MySQL: * When Cloud SQL for MySQL stores a username, it truncates the @ and the domain name from the user or service account's email address. For example, example-user@example.com becomes example-user. * For this reason, you can't add two IAM users or service accounts with the same username but different domain names to the same Cloud SQL instance. * For example, to create user for the MySQL IAM user example-user@example.com, use the following request: { "name": "example-user@example.com", "type": "CLOUD_IAM_USER", "instance": "test-instance", "project": "test-project" } The created database username for the IAM user is example-user. * For example, to create the MySQL IAM service account service-account-name@project-id.iam.gserviceaccount.com, use the following request: { "name": "service-account-name@project-id.iam.gserviceaccount.com", "type": "CLOUD_IAM_SERVICE_ACCOUNT", "instance": "test-instance", "project": "test-project" } The created database username for the IAM service account is service-account-name. It is categorised as a Write tool in the Mcp MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
create_user accepts 6 parameters: name, type, project, instance, databaseRoles, passwordSecretVersion. Required: name, type, project, instance. The full parameter table on this page comes from the server's own tool schema.
Register the MCP server in PolicyLayer and add a rule for create_user: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Mcp. Nothing to install.
create_user is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_user rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_user. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_user is provided by the MCP server (https://sqladmin.googleapis.com/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on , and thousands of servers like it.
This server
Across the catalogue