Back to the catalog

mysql

Connect and interact with a MySQL database and data

Open source Open in the app JSON README (API)

About

Connect and interact with a MySQL database and data

Details

Kind
Plugins
Topic
Databases
Publisher
gemini-cli-extensions
Origin
gemini
Category
ferramentas
Version
0.1.6
Stars
43
Forks
2
Open pull requests
4
Last push
2026-08-27T16:35:17Z
Repository state
ativo
License
Apache-2.0
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
gemini-cli-extensions/mysql

README

# Gemini CLI Extension - MySQL

> [!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](https://dev.mysql.com/doc/) instances. It allows you to manage your databases, execute queries, and explore schemas directly from the [Gemini CLI](https://google-gemini.github.io/gemini-cli/), using natural language prompts.
> [!IMPORTANT]
> **We Want Your Feedback!**
> Please share your thoughts with us by filling out our feedback [form][form]. 
> Your input is invaluable and helps us improve the project for everyone.

[form]: https://docs.google.com/forms/d/e/1FAIpQLSfEGmLR46iipyNTgwTmIDJqzkAwDPXxbocpXpUbHXydiN1RTw/viewform?usp=pp_url&entry.157487=mysql

## Why Use the MySQL Extension?

* **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.


## Prerequisites

Before you begin, ensure you have the following:

* One of the supported agent harnesses, installed and authenticated:
  * [Gemini CLI](https://github.com/google-gemini/gemini-cli) (v0.6.0+)
  * [Claude Code](https://code.claude.com)
  * [Codex](https://developers.openai.com/codex) (v0.150.0+)
  * [Antigravity CLI](https://antigravity.google)
* [Node.js](https://nodejs.org/) (the MCP server runs via `npx`).
* A running MySQL instance.
* A user with database-level permissions to execute queries.

## Getting Started

### Installation

All harnesses use the same plugin; the MCP server runs via `npx` (no binary to download). Install with your harness of choice:

**Gemini CLI**

```bash
gemini extensions install https://github.com/gemini-cli-extensions/mysql
```

**Claude Code**

```bash
claude plugin marketplace add gemini-cli-extensions/mysql
claude plugin install mysql@mysql
```

**Codex**

```bash
codex plugin marketplace add gemini-cli-extensions/mysql
codex plugin add mysql@mysql
```

**Antigravity**

```bash
agy plugin install https://github.com/gemini-cli-extensions/mysql
```

See [Configuration](#configuration) for how each harness supplies the connection settings.

### Configuration

The plugin connects to MySQL using these settings:

*   `MYSQL_HOST`: (Optional) The MySQL host. Defaults to `localhost`.
*   `MYSQL_PORT`: (Optional) The MySQL port. Defaults to `3306`.
*   `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 with `gemini extensions list` / `gemini extensions config mysql [setting] [--scope user|workspace]` (restart the CLI to apply).
*   **Claude Code**: pass `--config KEY=VALUE` on install (repeatable), or run `/plugin` inside Claude Code.
*   **Codex** and **Antigravity**: export the variables in your shell before starting:

```bash
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](#troubleshooting) for debugging your configuration.

### Start Gemini CLI

To start the Gemini CLI, use the following command:

```bash
gemini
```

> [!WARNING]
> **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>`.

## Usage Examples

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."

## Supported Tools

*  `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 constraint
*  `list_table_fragmentation`: Use this tool to list fragmented tables

## Additional Extensions

Find additional extensions to support your entire software development lifecycle at [github.com/gemini-cli-extensions](https://github.com/gemini-cli-extensions), including:
* [Cloud SQL for MySQL extension](https://github.com/gemini-cli-extensions/cloud-sql-mysql)
* and more!

## Troubleshooting

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/`npx` is not installed or not on your `PATH`. Install Node.js (which provides `npx`).
* "npm error"/network failures on first run: `npx` fetches `@toolbox-sdk/server` on first launch, so it needs network access. Retry once connectivity is available.

More