Skip to directory

AlloyDB for PostgreSQL MCP

Google Cloud

Streamable HTTP17 documented tools40

About AlloyDB for PostgreSQL MCP

Google Cloud managed MCP server for AlloyDB for PostgreSQL. Exact tool names and accessible operations depend on the published server reference and configured Google Cloud permissions.

What you can use it for

  • List all clusters
  • Create a new cluster
  • Get a cluster
  • List all instances in a cluster
  • Restores an AlloyDB cluster from a given backup or a source cluster and a timestamp. Requirements Depending on the source type, the requirements are different. For a backup source, the backup resource must exist. The backup resource can be created on-demand or from an automated system. For a continuous backup (also known as PITR) source, the source cluster must exist and have continuous backup enabled. For a backup and disaster recovery source, the backup resource must exist inside the backup vault. For a backup and disaster recovery point in time recovery source, the data source must exist inside the backup vault. Usage Call create_backup to create an on-demand backup if needed. Call restore_cluster to restore a cluster from a given backup or a source cluster and a timestamp. This will return a long-running operation that indicates the progress of the cluster restoration. The time taken for the operation to complete depends on the size of the backup or the source cluster. You can poll the status of the operation using the get_operation tool. Once the long-running operation is complete, the new cluster will be in a READY state.
  • Creates a backup for an AlloyDB cluster. Requirements The cluster that the backup is being created for must exist and be in a READY state. You can use the list_clusters tool to list all clusters in a project. Usage Call create_cluster to create a cluster if it doesn't exist. Call create_backup to create a backup for the cluster. This will return a long-running operation that indicates the progress of the backup creation. You can poll the status of the operation using the get_operation tool. Generally the creation time can vary depending on the size of the database. Once the long-running operation is complete, the backup will be in a READY state.
Connection and setup
Hosting
Google-managed remote
Transport
Streamable HTTP
Endpoint
https://alloydb.googleapis.com/mcp
Authentication
Google Cloud authentication: OAuth 2.0 using Application Default Credentials (ADC) in supported Google clients, or a client OAuth ID/secret or bearer token in compatible third-party clients. The principal needs mcp.tools.call plus the underlying product permissions; API key authentication is only available for services that explicitly support it.

Requirements

  • A Google Cloud project and access to the target product/resource.
  • Enable this MCP service and its underlying Google Cloud API as required by the product guide.
  • An MCP client that supports Streamable HTTP.
  • An identity with the MCP Tool User role (roles/mcp.toolUser) or equivalent mcp.tools.call permission, plus permissions for the underlying product operations.

Setup steps

  1. Choose the correct global or regional endpoint for your data location; this catalog lists the documented endpoint.
  2. In the Google Cloud project, enable the MCP service and the underlying product API if the product guide requires it.
  3. Authenticate the client with Google Cloud ADC (simplest with Antigravity/Gemini CLI) or configure OAuth 2.0 credentials in a compatible client.
  4. Grant the connecting identity roles/mcp.toolUser and only the product IAM roles needed for the intended operations.
  5. Add alloydb.googleapis.com to the client as a Streamable HTTP MCP server and complete sign-in.
  6. Refresh the client tool list and check that the tools match the product reference; availability may depend on permissions and selected toolset.
Tools 17

Google Cloud documents 17 tools for cluster/instance/user management, backups, SQL and data movement. execute_sql can change database contents; execute_sql_read_only is separately available. Cluster/instance creation, restore, import and export can affect project data and incur Google Cloud resource costs. IAM is required.

  • list_clusters

    List all clusters

    01
  • create_cluster

    Create a new cluster

    02
  • get_cluster

    Get a cluster

    03
  • list_instances

    List all instances in a cluster

    04
  • restore_cluster

    Restores an AlloyDB cluster from a given backup or a source cluster and a timestamp. Requirements Depending on the source type, the requirements are different. For a backup source, the backup resource must exist. The backup resource can be created on-demand or from an automated system. For a continuous backup (also known as PITR) source, the source cluster must exist and have continuous backup enabled. For a backup and disaster recovery source, the backup resource must exist inside the backup vault. For a backup and disaster recovery point in time recovery source, the data source must exist inside the backup vault. Usage Call create_backup to create an on-demand backup if needed. Call restore_cluster to restore a cluster from a given backup or a source cluster and a timestamp. This will return a long-running operation that indicates the progress of the cluster restoration. The time taken for the operation to complete depends on the size of the backup or the source cluster. You can poll the status of the operation using the get_operation tool. Once the long-running operation is complete, the new cluster will be in a READY state.

    05
  • create_backup

    Creates a backup for an AlloyDB cluster. Requirements The cluster that the backup is being created for must exist and be in a READY state. You can use the list_clusters tool to list all clusters in a project. Usage Call create_cluster to create a cluster if it doesn't exist. Call create_backup to create a backup for the cluster. This will return a long-running operation that indicates the progress of the backup creation. You can poll the status of the operation using the get_operation tool. Generally the creation time can vary depending on the size of the database. Once the long-running operation is complete, the backup will be in a READY state.

    06
  • create_instance

    Creates an AlloyDB instance, which is a child resource of a cluster. Requirements The cluster that the instance is being created in must exist and be in a READY state. You can use the list_clusters tool to list all clusters in a project. If you're trying to create a PRIMARY instance, then the cluster must not already have a PRIMARY instance. If you're trying to create a READ_POOL instance, then the cluster must already have a PRIMARY instance. Usage Call create_cluster to create a cluster if it doesn't exist. Call create_instance to create an instance within the cluster. This will return a long-running operation that indicates the progress of the instance creation. You can poll the status of the operation using the get_operation tool. Generally the creation takes 5-10 minutes. Once the long-running operation is complete, the instance will be in a READY state.

    07
  • get_instance

    Get an instance

    08
  • update_instance

    Updates an AlloyDB instance. Requirements The instance that is being updated must exist and be in a READY state. You can use the list_instances tool to list all instances in a cluster. Usage Call update_instance to update an instance. This will return a long-running operation that indicates the progress of the instance update. You can poll the status of the operation using the get_operation tool. Once the long-running operation is complete, the instance will be in a READY state.

    09
  • create_user

    Create a new user in a given project, location, and cluster. Requirements The cluster that the user is being created in must exist and be in a READY state. You can use the list_clusters tool to list all clusters in a project. A PRIMARY instance must exist and be in a READY state. You can use the list_instances tool to list all instances in a cluster. Only an IAM_BASED type user is supported. The "postgres" database role should be assigned to the user if the user wants to access the default postgres database. Usage Call create_cluster to create a cluster if it doesn't exist. Call create_instance to create an instance if it doesn't exist. Call create_user to create a user within the cluster which will return the User object.

    10
  • get_user

    Get a user in a given project, location, and cluster

    11
  • list_users

    List all users in a given project, location, and cluster

    12
  • execute_sql

    Execute a SQL query on an instance. Requirements The cluster must exist and be in a READY state. You can use the list_clusters tool to list all clusters in a project. The instance must exist and be in a READY state. You can use the list_instances tool to list all instances in a cluster. The user must exist and have the appropriate permissions to execute the SQL query. You can use the list_users tool to list all users in a cluster. Usage Call create_cluster to create a cluster if it doesn't exist. Call create_instance to create an instance if it doesn't exist. Call create_user to create a user with the appropriate permissions if it doesn't exist. Call execute_sql to execute a SQL query on an instance. This will return the result of the SQL query.

    13
  • execute_sql_read_only

    Execute a SQL query on an instance in read-only mode. Requirements The cluster must exist and be in a READY state. You can use the list_clusters tool to list all clusters in a project. The instance must exist and be in a READY state. You can use the list_instances tool to list all instances in a cluster. The user must exist and have the appropriate permissions to execute the SQL query. You can use the list_users tool to list all users in a cluster. Usage Call create_cluster to create a cluster if it doesn't exist. Call create_instance to create an instance if it doesn't exist. Call create_user to create a user with the appropriate permissions if it doesn't exist. Call execute_sql_read_only to execute a SQL query on an instance in read-only mode. This will return the result of the SQL query.

    14
  • export_data

    Exports data from an AlloyDB cluster to a file in Google Cloud Storage. Requirements The cluster and primary instance must exist and be in a READY state. The Google Cloud Storage bucket must exist. The AlloyDB service account must have the storage.objectAdmin IAM role to write to the bucket. The AlloyDB service account is in the format of service-{project_number}@gcp-sa-alloydb.iam.gserviceaccount.com. {project_number} is a valid base-10 encoded positive integer. Usage Call export_data to export data from a cluster to a Cloud Storage bucket. This will return a long-running operation that indicates the progress of the export. The time taken for the operation to complete depends on the size of data being exported. You can poll the status of the operation using the get_operation tool.

    15
  • import_data

    Imports data into an AlloyDB cluster from a file stored in a Google Cloud Storage bucket. Requirements The cluster must exist, and be in a READY state. The primary instance must exist and be in a READY state. The import file must be located in a Cloud Storage bucket. The AlloyDB cluster's storage will scale up to only the storage quota limit. The imported data should be less than that limit. Compressed data (.gz) is supported to reduce the import size. The AlloyDB service account must have the storage.objectViewer IAM role to read from the bucket. The AlloyDB service account is in the format of service-{project_number}@gcp-sa-alloydb.iam.gserviceaccount.com. {project_number} is a valid base-10 encoded positive integer. Usage Call import_data to import data into a cluster from a Cloud Storage bucket. This will return a long-running operation that indicates the progress of the import. The time taken for the operation to complete depends on the size of data being imported. You can poll the status of the operation using the get_operation tool.

    16
  • get_operation

    Gets the status of a long-running operation. Usage Some tools (for example, create_cluster and create_instance ) return a long-running operation. You can use this tool to get the status of the operation. A long-running operation can take several minutes to complete. If an operation takes an extended amount of time, then use a command line tool to pause for 30 seconds before you recheck the status of the operation. Parameters name : The name of the operation to get. name should be the name returned by the tool that initiated the operation. name should be in the format of projects/{project}/locations/{location}/operations/{operation} . Returns An Operation object that contains the status of the operation. If the operation is not complete, the response will be empty. If the operation is complete, the response will contain either: A response field that contains the result of the operation and indicates that it was successful. A error field that indicates any errors that occurred during the operation.

    17
Original sources
  • official server catalog

    Official Google Cloud catalog lists this product as an available remote MCP server.

  • official setup guide

    Google Cloud describes remote MCP client setup, Streamable HTTP transport, supported authentication options, and ADC setup.

  • official authentication guide

    Google documents supported identity types and authorization requirements for Google Cloud MCP calls.

  • official tool reference

    Google Cloud AlloyDB MCP reference enumerates 17 exact tools and provides a tools/list request for current schemas.

  • official setup and security guide

    Current setup guide documents endpoint, Streamable HTTP, authentication/IAM permissions, and unauthenticated tools/list discovery.

Documentation checked 2026-10-28. Connection has not been runtime tested.