Model Context Protocol (MCP) 服务器充当外部服务(为大语言模型 [LLM] 或 AI 应用提供上下文、数据或功能)与 LLM 或 AI 应用之间的代理。MCP 服务器将 AI 应用连接到数据库和 Web 服务等外部系统,并将这些系统的响应转换为 AI 应用可理解的格式。
服务器设置
您必须先启用 MCP 服务器并设置身份验证,然后才能使用。如需详细了解如何使用 Google 和 Google Cloud 远程 MCP 服务器,请参阅 Google Cloud MCP 服务器概览。
适用于 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 身份验证”的错误,则可以使用 如果您收到“The instance doesn't allow using executeSql to access this instance”(实例不允许使用 executeSql 访问此实例)等错误,可以使用 当您收到身份验证错误时:
收到 |
| execute_sql_readonly |
在 Cloud SQL 实例上执行任何有效的只读 SQL 语句。 如需支持
使用
如果您收到类似于“未为实例启用 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 }' |