MCP Reference: alloydb

A Model Context Protocol (MCP) server acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems such as databases and web services, translating their responses into a format that the AI application can understand.

Server Setup

You must enable MCP servers and set up authentication before use. For more information about using Google and Google Cloud remote MCP servers, see Google Cloud MCP servers overview .

Server Endpoints

An MCP service endpoint is the network address and communication interface (usually a URL) of the MCP server that an AI application (the Host for the MCP client) uses to establish a secure, standardized connection. It is the point of contact for the LLM to request context, call a tool, or access a resource. Google MCP endpoints can be global or regional.

The AlloyDB MCP server has the following MCP endpoints:

  • https://alloydb.googleapis.com/mcp
  • https://alloydb.northamerica-northeast1.rep.googleapis.com/mcp
  • https://alloydb.northamerica-northeast2.rep.googleapis.com/mcp
  • https://alloydb.northamerica-south1.rep.googleapis.com/mcp
  • https://alloydb.southamerica-east1.rep.googleapis.com/mcp
  • https://alloydb.southamerica-west1.rep.googleapis.com/mcp
  • https://alloydb.us-central1.rep.googleapis.com/mcp
  • https://alloydb.us-east1.rep.googleapis.com/mcp
  • https://alloydb.us-east4.rep.googleapis.com/mcp
  • https://alloydb.us-east5.rep.googleapis.com/mcp
  • https://alloydb.us-south1.rep.googleapis.com/mcp
  • https://alloydb.us-west1.rep.googleapis.com/mcp
  • https://alloydb.us-west2.rep.googleapis.com/mcp
  • https://alloydb.us-west3.rep.googleapis.com/mcp
  • https://alloydb.us-west4.rep.googleapis.com/mcp
  • https://alloydb.europe-central2.rep.googleapis.com/mcp
  • https://alloydb.europe-southwest1.rep.googleapis.com/mcp
  • https://alloydb.europe-north1.rep.googleapis.com/mcp
  • https://alloydb.europe-north2.rep.googleapis.com/mcp
  • https://alloydb.europe-west1.rep.googleapis.com/mcp
  • https://alloydb.europe-west2.rep.googleapis.com/mcp
  • https://alloydb.europe-west3.rep.googleapis.com/mcp
  • https://alloydb.europe-west4.rep.googleapis.com/mcp
  • https://alloydb.europe-west6.rep.googleapis.com/mcp
  • https://alloydb.europe-west8.rep.googleapis.com/mcp
  • https://alloydb.europe-west9.rep.googleapis.com/mcp
  • https://alloydb.europe-west10.rep.googleapis.com/mcp
  • https://alloydb.europe-west12.rep.googleapis.com/mcp
  • https://alloydb.asia-east1.rep.googleapis.com/mcp
  • https://alloydb.asia-east2.rep.googleapis.com/mcp
  • https://alloydb.asia-northeast1.rep.googleapis.com/mcp
  • https://alloydb.asia-northeast2.rep.googleapis.com/mcp
  • https://alloydb.asia-northeast3.rep.googleapis.com/mcp
  • https://alloydb.asia-south1.rep.googleapis.com/mcp
  • https://alloydb.asia-south2.rep.googleapis.com/mcp
  • https://alloydb.asia-southeast1.rep.googleapis.com/mcp
  • https://alloydb.asia-southeast2.rep.googleapis.com/mcp
  • https://alloydb.australia-southeast1.rep.googleapis.com/mcp
  • https://alloydb.australia-southeast2.rep.googleapis.com/mcp
  • https://alloydb.me-central1.rep.googleapis.com/mcp
  • https://alloydb.me-central2.rep.googleapis.com/mcp
  • https://alloydb.me-west1.rep.googleapis.com/mcp
  • https://alloydb.africa-south1.rep.googleapis.com/mcp

MCP Tools

An MCP tool is a function or executable capability that an MCP server exposes to a LLM or AI application to perform an action in the real world.

The alloydb MCP server has the following tools:

MCP Tools
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

  1. Call create_backup to create an on-demand backup if needed.
  2. Call restore_cluster to restore a cluster from a given backup or a source cluster and a timestamp.
  3. 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.
  4. You can poll the status of the operation using the get_operation tool.
  5. 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

  1. Call create_cluster to create a cluster if it doesn't exist.
  2. Call create_backup to create a backup for the cluster.
  3. This will return a long-running operation that indicates the progress of the backup creation.
  4. 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.
  5. Once the long-running operation is complete, the backup will be in a READY state.

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

  1. Call create_cluster to create a cluster if it doesn't exist.
  2. Call create_instance to create an instance within the cluster.
  3. This will return a long-running operation that indicates the progress of the instance creation.
  4. You can poll the status of the operation using the get_operation tool. Generally the creation takes 5-10 minutes.
  5. Once the long-running operation is complete, the instance will be in a READY state.
Get an 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

  1. Call update_instance to update an instance.
  2. This will return a long-running operation that indicates the progress of the instance update.
  3. You can poll the status of the operation using the get_operation tool.
  4. Once the long-running operation is complete, the instance will be in a READY state.

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

  1. Call create_cluster to create a cluster if it doesn't exist.
  2. Call create_instance to create an instance if it doesn't exist.
  3. Call create_user to create a user within the cluster which will return the User object.
Get a user in a given project, location, and cluster
List all users in a given project, location, and cluster

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

  1. Call create_cluster to create a cluster if it doesn't exist.
  2. Call create_instance to create an instance if it doesn't exist.
  3. Call create_user to create a user with the appropriate permissions if it doesn't exist.
  4. Call execute_sql to execute a SQL query on an instance.
  5. This will return the result of the SQL query.

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

  1. Call create_cluster to create a cluster if it doesn't exist.
  2. Call create_instance to create an instance if it doesn't exist.
  3. Call create_user to create a user with the appropriate permissions if it doesn't exist.
  4. Call execute_sql_read_only to execute a SQL query on an instance in read-only mode.
  5. This will return the result of the SQL query.

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

  1. Call export_data to export data from a cluster to a Cloud Storage bucket.
  2. 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.
  3. You can poll the status of the operation using the get_operation tool.

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

  1. Call import_data to import data into a cluster from a Cloud Storage bucket.
  2. 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.
  3. You can poll the status of the operation using the get_operation tool.

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.

Get MCP tool specifications

To get the MCP tool specifications for all tools in an MCP server, use the tools/list method. The following example demonstrates how to use curl to list all tools and their specifications currently available within the MCP server.

Curl Request
curl  
--location  
 'https://alloydb.googleapis.com/mcp' 
  
 \ 
--header  
 'content-type: application/json' 
  
 \ 
--header  
 'accept: application/json, text/event-stream' 
  
 \ 
--data  
 '{ 
 "method": "tools/list", 
 "jsonrpc": "2.0", 
 "id": 1 
 }' 
  
Create a Mobile Website
View Site in Mobile | Classic
Share by: