Model Context Protocol (MCP) 服务器充当外部服务(为大语言模型 [LLM] 或 AI 应用提供上下文、数据或功能)与 LLM 或 AI 应用之间的代理。MCP 服务器将 AI 应用连接到数据库和 Web 服务等外部系统,并将这些系统的响应转换为 AI 应用可理解的格式。
服务器设置
您必须先启用 MCP 服务器并设置身份验证,然后才能使用。如需详细了解如何使用 Google 和 Google Cloud 远程 MCP 服务器,请参阅 Google Cloud MCP servers overview。
适用于 MCP 的 Cloud SQL Admin API
服务器端点
MCP 服务端点是 MCP 服务器的网络地址和通信接口(通常是网址),AI 应用(MCP 客户端的宿主)使用该端点来建立安全、标准化的连接。它是 LLM 请求上下文、调用工具或访问资源的交互点。Google MCP 端点可以是全球性的,也可以是区域性的。
cloud-sql MCP 服务器具有以下 MCP 端点:
- https://sqladmin.googleapis.com/mcp
MCP 工具
MCP 工具是 MCP 服务器向 LLM 或 AI 应用公开的函数或可执行功能,用于在现实世界中执行操作。
cloud-sql MCP 服务器具有以下工具:
| MCP 工具 | |
|---|---|
| list_instances | 列出项目中的所有 Cloud SQL 实例。 |
| get_instance | 获取 Cloud SQL 实例的详细信息。 |
| create_instance |
启动 Cloud SQL 实例的创建。
除非另有说明,否则新创建的实例将使用开发环境的默认实例配置。 以下是开发环境中实例的默认配置: 建议将以下配置用于生产环境中的实例: 建议将以下实例配置用于 SQL Server: |
| execute_sql |
在 Cloud SQL 实例上执行任何有效的 SQL 语句,包括数据定义语言 (DDL)、数据控制语言 (DCL)、数据查询语言 (DQL) 或数据操纵语言 (DML) 语句。 如需支持
如果您收到类似于“IAM authentication is not enabled for the instance”(未为此实例启用 IAM 身份验证)的错误,则可以使用 如果您收到类似于“The instance doesn't allow using executeSql to access this instance”(此实例不允许使用 executeSql 访问此实例)的错误,则可以使用 当您收到身份验证错误时:
收到 |
| execute_sql_readonly |
在 Cloud SQL 实例上执行任何有效的只读 SQL 语句。 如需支持
使用
如果您收到类似于“IAM authentication is not enabled for the instance”(未为此实例启用 IAM 身份验证)的错误,则可以使用 如果您收到类似于“The instance doesn't allow using executeSql to access this instance”(此实例不允许使用 executeSql 访问此实例)的错误,则可以使用 当您收到身份验证错误时:
收到 |
| get_operation | 获取长时间运行的操作的状态。长时间运行的操作可能需要几分钟才能完成。如果操作需要很长时间,请使用命令行工具暂停 30 秒,然后再重新检查操作的状态。 |
| create_user |
为 Cloud SQL 实例创建数据库用户。
如需在 PostgreSQL 中创建 IAM 用户,请执行以下操作:
为 IAM 用户创建的数据库用户名为 如需在 PostgreSQL 中创建 IAM 服务帐号,请执行以下操作:
为 IAM 服务帐号创建的数据库用户名为 如需在 MySQL 中创建 IAM 用户或 IAM 服务帐号,请执行以下操作:
为 IAM 用户创建的数据库用户名为
为 IAM 服务帐号创建的数据库用户名为 |
| update_user |
更新 Cloud SQL 实例的数据库用户。 此工具仅支持更新用户以分配数据库角色。
更新用户角色的关键参数:
角色更新的工作原理:
示例:
|
| clone_instance |
创建 Cloud SQL 实例作为源实例的克隆。
|
| update_instance |
部分更新 Cloud SQL 实例的配置设置。
|
| list_users | 列出 Cloud SQL 实例的所有数据库用户。 |
| create_backup | 在 Cloud SQL 实例上执行备份。请务必在请求中填充项目和实例字段。您还可以选择性地提供备份的位置(区域)和说明,在这种情况下,还应填充相应的请求字段。 |
| restore_backup |
将备份恢复到 Cloud SQL 实例。 必须在请求中提供并填充 target_instance 和 target_project。 您可以通过多种方式提供备份标识符:
使用标识符填充请求中的 必须在请求中填充 source_project。如果标识符是 backup_run_id,则系统将提供 source_project。如果标识符是备份 URI,则可能需要从 URI 中提取 source_project。请勿将提取的 source_project 与 target_project 混淆,后者将以其他方式提供。 此外,如果标识符是 backup_run_id,则必须在请求中提供并填充 source_instance。 请勿在恢复之前尝试创建实例,恢复本身会在需要时创建实例。 在执行恢复之前,请先向用户确认参数。 |
| import_data |
将数据导入 Cloud SQL 实例。 如果文件不是以 在将文件上传到 Cloud Storage 之前,请考虑是否要在提供的项目中创建新存储桶或使用现有存储桶。 将文件上传到 Cloud Storage 后,实例服务帐号必须具有足够的权限才能从 Cloud Storage 存储桶读取上传的文件。 这可以通过以下方式实现:
授予权限后,您就可以导入数据了。我们建议您将可选参数留空,并使用系统默认值。文件类型通常可以根据文件扩展名确定。例如,如果文件是 SQL 文件,则为 以下是 MySQL 的示例 SQL MySQL 没有 对于 PostgreSQL,
|
| postgres_upgrade_precheck |
检查 Cloud SQL for PostgreSQL 实例是否已准备好进行主要版本升级到指定目标版本。 必须在请求中提供 此工具可帮助您在尝试实际升级之前发现潜在问题,从而降低失败或停机的风险。 此工具仅支持 PostgreSQL 主实例,并且不会在读取副本上运行。 预检通常会评估:
该工具会返回一个长时间运行的操作。使用此调用返回的操作名称和 重要提示:操作状态为 DONE 后,详细的预检结果将显示在 结果采用结构化形式,表示:
每项发现结果都应包含一条消息和任何必需的操作。在继续进行主要版本升级之前,解决所有报告的问题至关重要。如果 运行此预检不会影响实例的可用性。 |
获取 MCP 工具规范
如需获取 MCP 服务器中所有工具的 MCP 工具规范,请使用 tools/list 方法。下面的示例演示了如何使用 curl 列出 MCP 服务器中当前可用的所有工具及其规范。
| Curl 请求 |
|---|
curl --location 'https://sqladmin.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |