## Description > Should include a concise description of the changes (bug or feature), it's > impact, along with a summary of the solution ## PR Checklist > Thank you for opening a Pull Request! Before submitting your PR, there are a > few things you can do to make sure it goes smoothly: - [x] Make sure you reviewed [CONTRIBUTING.md](https://github.com/googleapis/genai-toolbox/blob/main/CONTRIBUTING.md) - [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/genai-toolbox/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) - [ ] Make sure to add `!` if this involve a breaking change 🛠️ Fixes #<issue_number_goes_here>
4.9 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
For Cloud SQL infrastructure management, search the MCP store for the Cloud SQL for MySQL Admin MCP Server.
Prerequisites
- Node.js installed.
- 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)
- Cloud SQL Client (
Note: If your instance uses private IPs, you must run the MCP server in the same Virtual Private Cloud (VPC) network.
Install & Configuration
-
In the Antigravity MCP Store, click the "Install" button.
Note
On first use, the installation process automatically downloads and uses MCP Toolbox
>=0.26.0. To update MCP Toolbox, use:npm i -g @toolbox-sdk/server@latestTo always run the latest version, update the MCP server configuration to use:npx -y @toolbox-sdk/server@latest --prebuilt cloud-sql-mysql. -
Add the required inputs for your instance in the configuration pop-up, then click "Save". You can update this configuration at any time in the "Configure" tab.
You'll now be able to see all enabled tools in the "Tools" tab.
Note
If you encounter issues with Windows Defender blocking the execution, you may need to configure an allowlist. See Configure exclusions for Microsoft Defender Antivirus for more details.
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. |
Custom MCP Server 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`.
Add the following configuration to your MCP client (e.g., settings.json for Gemini CLI, mcp_config.json for Antigravity):
{
"mcpServers": {
"cloud-sql-mysql": {
"command": "npx",
"args": ["-y", "@toolbox-sdk/server", "--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"
}
}
}
}
Documentation
For more information, visit the Cloud SQL for MySQL documentation.