MCP Tools Reference: cloud-sql

工具:list_users

列出 Cloud SQL 实例的所有数据库用户。

以下示例演示了如何使用 curl 调用 list_users MCP 工具。

Curl 请求
                  
curl --location 'https://sqladmin.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_users",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

输入架构

SqlUsersListRequest

JSON 表示法
{
  "instance": string,
  "project": string
}
字段
instance

string

数据库实例 ID。不包括项目 ID。

project

string

实例所属的项目的 ID。

输出架构

用户列表响应。

UsersListResponse

JSON 表示法
{
  "kind": string,
  "items": [
    {
      object (User)
    }
  ],
  "nextPageToken": string
}
字段
kind

string

始终为 sql#usersList

items[]

object (User)

实例中的用户资源列表。

nextPageToken
(deprecated)

string

未使用。

用户

JSON 表示法
{
  "kind": string,
  "password": string,
  "etag": string,
  "name": string,
  "host": string,
  "instance": string,
  "project": string,
  "type": enum (SqlUserType),
  "iamEmail": string,
  "passwordPolicy": {
    object (UserPasswordValidationPolicy)
  },
  "databaseRoles": [
    string
  ],

  // Union field user_details can be only one of the following:
  "sqlserverUserDetails": {
    object (SqlServerUserDetails)
  }
  // End of list of possible types for union field user_details.

  // Union field _dual_password_type can be only one of the following:
  "dualPasswordType": enum (DualPasswordType)
  // End of list of possible types for union field _dual_password_type.

  // Union field _iam_status can be only one of the following:
  "iamStatus": enum (IamStatus)
  // End of list of possible types for union field _iam_status.
}
字段
kind

string

始终为 sql#user

password

string

用户的密码。

etag

string

此字段已弃用,将在未来版本的 API 中移除。

name

string

Cloud SQL 实例中用户的名称。由于网址中已指定主机,因此 update 可以省略此项。

host

string

可选。用户可用于连接的主机。对于 insert 操作,主机默认为空字符串。对于 update 操作,主机将在请求网址中进行指定。插入后便无法更新主机名。对于 MySQL 实例,这是必需的;对于 PostgreSQL 或 SQL Server 实例,这是可选的。

instance

string

Cloud SQL 实例的名称。不包括项目 ID。由于网址中已指定主机,因此 update 可以省略此项。

project

string

包含 Cloud SQL 数据库的项目的 ID。Google Apps 网域会带有前缀(如果适用)。由于网址中已指定主机,因此 update 可以省略此项。

type

enum (SqlUserType)

用户类型。它用于确定在登录期间对用户进行身份验证的方法。默认值为数据库的内置用户类型。

iamEmail

string

可选。IAM 用户的完整电子邮件地址。对于普通数据库用户,此字段不会填充。仅适用于 MySQL 数据库用户。

passwordPolicy

object (UserPasswordValidationPolicy)

用户级密码验证政策。

databaseRoles[]

string

可选。用户的角色成员资格

联合字段 user_details。特定数据库类型 user_details 的用户详细信息只能是以下其中一种:
sqlserverUserDetails

object (SqlServerUserDetails)

联合字段 _dual_password_type

_dual_password_type 只能是下列其中一项:

dualPasswordType

enum (DualPasswordType)

用户的双重密码状态。

联合字段 _iam_status

_iam_status 只能是下列其中一项:

iamStatus

enum (IamStatus)

指明群组是否处于活跃状态,以进行 IAM 数据库身份验证。

SqlServerUserDetails

JSON 表示法
{
  "disabled": boolean,
  "serverRoles": [
    string
  ]
}
字段
disabled

boolean

用户是否已遭到停用

serverRoles[]

string

此用户的服务器角色

UserPasswordValidationPolicy

JSON 表示法
{
  "allowedFailedAttempts": integer,
  "passwordExpirationDuration": string,
  "enableFailedAttemptsCheck": boolean,
  "status": {
    object (PasswordStatus)
  },
  "enablePasswordVerification": boolean
}
字段
allowedFailedAttempts

integer

用户被锁定之前允许的登录失败次数。

passwordExpirationDuration

string (Duration format)

密码更新后的到期时间。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

enableFailedAttemptsCheck

boolean

如果为 true,则启用失败的登录尝试次数检查。

status

object (PasswordStatus)

仅限输出。只读密码状态。

enablePasswordVerification

boolean

如果为 true,用户必须先指定当前密码,然后才能更改密码。此标志仅适用于 MySQL。

时长

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

时间段的带符号秒数。必须介于 -315,576,000,000 到 +315,576,000,000 之间(含边界值)。注意:这些界限是通过以下计算得出的:60 秒/分钟 * 60 分钟/小时 * 24 小时/天 * 365.25 天/年 * 10000 年

nanos

integer

时间跨度的有符号秒数小数部分(以纳秒为单位)。小于 1 秒的时长用 0 seconds 字段和正或负 nanos 字段表示。对于时长为 1 秒或更长时间的情况,nanos 字段的非零值必须与 seconds 字段的符号相同。必须介于 -999,999,999 到 +999,999,999 之间(含边界值)。

PasswordStatus

JSON 表示法
{
  "locked": boolean,
  "passwordExpirationTime": string
}
字段
locked

boolean

如果为 true,则表示用户没有登录权限。

passwordExpirationTime

string (Timestamp format)

当前密码的到期时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

工具注释

破坏性提示:❌ | 等幂性提示:❌ | 只读提示:✅ | 开放世界提示:❌