Note
This extension is currently in beta (pre-v1.0), and may see breaking changes until the first stable release (v1.0).
This Gemini CLI extension provides a set of tools to interact with MySQL instances. It allows you to manage your databases, execute queries, and explore schemas directly from the Gemini CLI, using natural language prompts.
Important
We Want Your Feedback! Please share your thoughts with us by filling out our feedback form. Your input is invaluable and helps us improve the project for everyone.
- Natural Language Management: Stop wrestling with complex commands. Explore schemas and query data by describing what you want in plain English.
- Seamless Workflow: As a Google-developed extension, it integrates seamlessly into the Gemini CLI environment. No need to constantly switch contexts for common database tasks.
- Code Generation: Accelerate development by asking Gemini to generate data classes and other code snippets based on your table schemas.
Before you begin, ensure you have the following:
- One of the supported agent harnesses, installed and authenticated:
- Gemini CLI (v0.6.0+)
- Claude Code
- Codex
- Antigravity CLI
- Node.js (the MCP server runs via
npx). - A running MySQL instance.
- A user with database-level permissions to execute queries.
All harnesses use the same plugin; the MCP server runs via npx (no binary to download). Install with your harness of choice:
Gemini CLI
gemini extensions install https://github.com/gemini-cli-extensions/mysqlClaude Code
claude plugin marketplace add gemini-cli-extensions/mysql
claude plugin install mysql@mysqlCodex
codex plugin marketplace add gemini-cli-extensions/mysql
codex plugin add mysql@mysqlAntigravity
agy plugin install https://github.com/gemini-cli-extensions/mysqlSee Configuration for how each harness supplies the connection settings.
The plugin connects to MySQL using these settings:
MYSQL_HOST: (Optional) The MySQL host. Defaults tolocalhost.MYSQL_PORT: (Optional) The MySQL port. Defaults to3306.MYSQL_DATABASE: The name of the database to connect to.MYSQL_USER: The database username.MYSQL_PASSWORD: The password for the database user.
How you supply them depends on the harness:
- Gemini CLI: prompted on install and saved to the extension's
.env. View or update later withgemini extensions list/gemini extensions config mysql [setting] [--scope user|workspace](restart the CLI to apply). - Claude Code: pass
--config KEY=VALUEon install (repeatable), or run/plugininside Claude Code. - Codex and Antigravity: export the variables in your shell before starting:
export MYSQL_HOST="<your-mysql-host>" # Optional, defaults to localhost
export MYSQL_PORT="<your-mysql-port>" # Optional, defaults to 3306
export MYSQL_DATABASE="<your-database-name>"
export MYSQL_USER="<your-database-user>"
export MYSQL_PASSWORD="<your-database-password>"Note
See Troubleshooting for debugging your configuration.
To start the Gemini CLI, use the following command:
geminiWarning
Changing Instance & Database Connections
Currently, the database connection must be configured before starting the Gemini CLI and can not be changed during a session.
To save and resume conversation history use command: /chat save <tag> and /chat resume <tag>.
Interact with MySQL using natural language right from your IDE:
- Explore Schemas and Data:
- "Show me all tables in the 'orders' database."
- "What are the columns in the 'products' table?"
- "How many orders were placed in the last 30 days, and what were the top 5 most purchased items?"
- Generate Code:
- "Generate a Python dataclass to represent the 'customers' table."
list_tables: Use this tool to list tables and descriptions.execute_sql: Use this tool to execute any SQL statement.get_query_plan: Use this tool to generate an execution plan.list_active_queries: Use this tool to lists top N (default 10) ongoing queries.list_tables_missing_unique_indexes: Use this tool to find tables that do not have primary or unique key constraintlist_table_fragmentation: Use this tool to list fragmented tables
Find additional extensions to support your entire software development lifecycle at github.com/gemini-cli-extensions, including:
- Cloud SQL for MySQL extension
- and more!
Use gemini --debug to enable debugging.
Common issues:
- "✖ Error during discovery for server: MCP error -32000: Connection closed": The database connection has not been established. Ensure your configuration is set via environment variables.
- "✖ MCP ERROR: Error: spawn npx ENOENT": Node.js/
npxis not installed or not on yourPATH. Install Node.js (which providesnpx). - "npm error"/network failures on first run:
npxfetches@toolbox-sdk/serveron first launch, so it needs network access. Retry once connectivity is available.