Files
genai-toolbox/docs/CLOUDSQLMYSQL_README.md
Yuan Teoh 975d02e243 docs: update docs for antigravity (#2015)
Update docs formatting and bullet point indentation. 
Update option to move binary into executables folder.
2025-11-21 15:57:07 -08:00

5.1 KiB

Cloud SQL for MySQL MCP Server

The Cloud SQL for MySQL Model Context Protocol (MCP) Server gives AI-powered development tools the ability to work with your Google Cloud SQL for MySQL databases. It supports connecting to instances, exploring schemas, and running queries.

Features

An editor configured to use the Cloud SQL for MySQL MCP server can use its AI capabilities to help you:

  • Query Data - Execute SQL queries and analyze query plans
  • Explore Schema - List tables and view schema details
  • Database Maintenance - Check for fragmentation and missing indexes
  • Monitor Performance - View active queries

Installation and Setup

Prerequisites

  • Download and install MCP Toolbox:

    1. Download the Toolbox binary: Download the latest binary for your operating system and architecture from the storage bucket. Check the releases page for OS and CPU architecture support: https://storage.googleapis.com/genai-toolbox/v0.21.0/<os>/<arch>/toolbox

      • Replace <os> with linux, darwin (macOS), or windows.
      • Replace <arch> with amd64 (Intel) or arm64 (Apple Silicon).
      curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v0.21.0/linux/amd64/toolbox
      
    2. Make it executable:

      chmod +x toolbox
      
    3. Move binary to /usr/local/bin/ or /usr/bin/:

      sudo mv toolbox /usr/local/bin/
      # sudo mv toolbox /usr/bin/
      

      On Windows, move binary to the WindowsApps\ folder:

      move "C:\Users\<path-to-binary>\toolbox.exe" "C:\Users\<username>\AppData\Local\Microsoft\WindowsApps\"
      

      Tip: Ensure the destination folder for your binary is included in your system's PATH environment variable. To check PATH, use echo $PATH (or echo %PATH% on Windows).

      Note: You may need to restart Antigravity for changes to take effect.

  • A Google Cloud project with the Cloud SQL Admin API enabled.

  • Ensure Application Default Credentials are available in your environment.

  • IAM Permissions:

    • Cloud SQL Client (roles/cloudsql.client)

Configuration

The MCP server is configured using environment variables.

export CLOUD_SQL_MYSQL_PROJECT="<your-gcp-project-id>"
export CLOUD_SQL_MYSQL_REGION="<your-cloud-sql-region>"
export CLOUD_SQL_MYSQL_INSTANCE="<your-cloud-sql-instance-id>"
export CLOUD_SQL_MYSQL_DATABASE="<your-database-name>"
export CLOUD_SQL_MYSQL_USER="<your-database-user>"  # Optional
export CLOUD_SQL_MYSQL_PASSWORD="<your-database-password>"  # Optional
export CLOUD_SQL_MYSQL_IP_TYPE="PUBLIC"  # Optional: `PUBLIC`, `PRIVATE`, `PSC`. Defaults to `PUBLIC`.

Note: If your instance uses private IPs, you must run the MCP server in the same Virtual Private Cloud (VPC) network.

Add the following configuration to your MCP client (e.g., settings.json for Gemini CLI):

{
  "mcpServers": {
    "cloud-sql-mysql": {
      "command": "toolbox",
      "args": ["--prebuilt", "cloud-sql-mysql", "--stdio"],
      "env": {
        "CLOUD_SQL_MYSQL_PROJECT": "your-project-id",
        "CLOUD_SQL_MYSQL_REGION": "your-region",
        "CLOUD_SQL_MYSQL_INSTANCE": "your-instance-id",
        "CLOUD_SQL_MYSQL_DATABASE": "your-database-name",
        "CLOUD_SQL_MYSQL_USER": "your-username",
        "CLOUD_SQL_MYSQL_PASSWORD": "your-password"
      }
    }
  }
}

Usage

Once configured, the MCP server will automatically provide Cloud SQL for MySQL capabilities to your AI assistant. You can:

  • "Show me the schema for the 'orders' table."
  • "List the top 10 active queries."
  • "Check for tables missing unique indexes."

Server Capabilities

The Cloud SQL for MySQL MCP server provides the following tools:

Tool Name Description
execute_sql Use this tool to execute SQL.
list_active_queries Lists top N ongoing queries from processlist and innodb_trx.
get_query_plan Provide information about how MySQL executes a SQL statement (EXPLAIN).
list_tables Lists detailed schema information for user-created tables.
list_tables_missing_unique_indexes Find tables that do not have primary or unique key constraint.
list_table_fragmentation List table fragmentation in MySQL.

Documentation

For more information, visit the Cloud SQL for MySQL documentation.