Files
genai-toolbox/docs/en/how-to/connect-ide/mysql_mcp.md
release-please[bot] cd8d68d464 chore(main): release 0.19.1 (#1901)
🤖 I have created a release *beep* *boop*
---


##
[0.19.1](https://github.com/googleapis/genai-toolbox/compare/v0.19.0...v0.19.1)
(2025-11-07)


### ⚠ BREAKING CHANGES

* **tools/alloydbainl:** update AlloyDB AI NL statement order
([#1753](https://github.com/googleapis/genai-toolbox/issues/1753))
* **tools/bigquery-analyze-contribution:** Add allowed dataset support
([#1675](https://github.com/googleapis/genai-toolbox/issues/1675))
([ef28e39](ef28e39e90))
* **tools/bigquery-get-dataset-info:** add allowed dataset support
([#1654](https://github.com/googleapis/genai-toolbox/issues/1654))

### Features

* Support `excludeValues` for parameters
([#1818](https://github.com/googleapis/genai-toolbox/issues/1818))
([a8e98dc](a8e98dc99d))
* **elasticsearch:** Add Elasticsearch source and tools
([#1109](https://github.com/googleapis/genai-toolbox/issues/1109))
([5367285](5367285e91))
* **mindsdb:** Add MindsDB Source and Tools
([#878](https://github.com/googleapis/genai-toolbox/issues/878))
([1b2cca9](1b2cca9faa))
* **cloud-healthcare:** Add support for healthcare source, tool and
prebuilt config
([#1853](https://github.com/googleapis/genai-toolbox/issues/1853))
([1f833fb](1f833fb1a1))
* **singlestore:** Add SingleStore Source and Tools
([#1333](https://github.com/googleapis/genai-toolbox/issues/1333))
([40b9dba](40b9dbab08))
* **source/bigquery:** Add client cache for user-passed credentials
([#1119](https://github.com/googleapis/genai-toolbox/issues/1119))
([cf7012a](cf7012a82b))
* **source/bigquery:** Add service account impersonation support for
bigquery
([#1641](https://github.com/googleapis/genai-toolbox/issues/1641))
([e09d182](e09d182f88))
* **tools/bigquery-analyze-contribution:** Add allowed dataset support
([#1675](https://github.com/googleapis/genai-toolbox/issues/1675))
([ef28e39](ef28e39e90))
* **tools/bigquery-get-dataset-info:** Add allowed dataset support
([#1654](https://github.com/googleapis/genai-toolbox/issues/1654))
([a2006ad](a2006ad577))
* **tools/looker-run-dashboard:** New `run_dashboard` tool
([#1858](https://github.com/googleapis/genai-toolbox/issues/1858))
([30857c2](30857c2294))
* **tools/looker-run-look:** Modify run_look to show query origin
([#1860](https://github.com/googleapis/genai-toolbox/issues/1860))
([991e539](991e539f9c))
* **tools/looker:** Tools to retrieve the connections, schemas,
databases, and column metadata from a looker system.
([#1804](https://github.com/googleapis/genai-toolbox/issues/1804))
([d7d1b03](d7d1b03f3b))
* **tools/mongodb:** Make MongoDB tools' `filterParams` field optional
([#1614](https://github.com/googleapis/genai-toolbox/issues/1614))
([208ab92](208ab92eb3))
* **tools/neo4j-execute-cypher:** Add dry_run parameter to validate
Cypher queries
([#1769](https://github.com/googleapis/genai-toolbox/issues/1769))
([f475da6](f475da63ce))
* **tools/postgres-list-schemas:** Add new postgres-list-schemas tool
([#1741](https://github.com/googleapis/genai-toolbox/issues/1741))
([1a19cac](1a19cac7cd))
* **tools/postgres-list-views:** Add new postgres-list-views tool
([#1709](https://github.com/googleapis/genai-toolbox/issues/1709))
([e8c7fe0](e8c7fe0994))
* **tools/serverless-spark:** Add cancel-batch tool
([#1827](2881683226))
* **tools/serverless-spark:** Add get_batch tool
([#1783](7ad10720b4))
* **tools/serverless-spark:** Add serverless-spark source with
list_batches tool
([#1690](816dbce268))


### Bug Fixes

* Bigquery execute_sql to assign values to array
([#1884](https://github.com/googleapis/genai-toolbox/issues/1884))
([559e2a2](559e2a22e0))
* **cloudmonitoring:** Populate `authRequired` in tool manifest
([#1800](https://github.com/googleapis/genai-toolbox/issues/1800))
([954152c](954152c792))
* Update debug logs statements
([#1828](https://github.com/googleapis/genai-toolbox/issues/1828))
([3cff915](3cff915e22))
* Instructions to quote filters that include commas
([#1794](https://github.com/googleapis/genai-toolbox/issues/1794))
([4b01720](4b0172083c))
* **source/cloud-sql-mssql:** Remove `ipAddress` field
([#1822](https://github.com/googleapis/genai-toolbox/issues/1822))
([38d535d](38d535de34))
* **tools/alloydbainl:** AlloyDB AI NL execute_sql statement order
([#1753](https://github.com/googleapis/genai-toolbox/issues/1753))
([9723cad](9723cadaa1))
* **tools/postgres-execute-sql:** Do not ignore SQL failure
([#1829](https://github.com/googleapis/genai-toolbox/issues/1829))
([8984287](898428759c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
2025-11-07 12:41:52 -08:00

9.0 KiB

title, type, weight, description
title type weight description
MySQL using MCP docs 2 Connect your IDE to MySQL using Toolbox.

Model Context Protocol (MCP) is an open protocol for connecting Large Language Models (LLMs) to data sources like MySQL. This guide covers how to use MCP Toolbox for Databases to expose your developer assistant tools to a MySQL instance:

Set up the database

  1. Create or select a MySQL instance.

Install MCP Toolbox

  1. Download the latest version of Toolbox as a binary. Select the correct binary corresponding to your OS and CPU architecture. You are required to use Toolbox version V0.10.0+:

    {{< tabpane persist=header >}} {{< tab header="linux/amd64" lang="bash" >}} curl -O https://storage.googleapis.com/genai-toolbox/v0.19.1/linux/amd64/toolbox {{< /tab >}}

{{< tab header="darwin/arm64" lang="bash" >}} curl -O https://storage.googleapis.com/genai-toolbox/v0.19.1/darwin/arm64/toolbox {{< /tab >}}

{{< tab header="darwin/amd64" lang="bash" >}} curl -O https://storage.googleapis.com/genai-toolbox/v0.19.1/darwin/amd64/toolbox {{< /tab >}}

{{< tab header="windows/amd64" lang="bash" >}} curl -O https://storage.googleapis.com/genai-toolbox/v0.19.1/windows/amd64/toolbox.exe {{< /tab >}} {{< /tabpane >}}

  1. Make the binary executable:

    chmod +x toolbox
    
  2. Verify the installation:

    ./toolbox --version
    

Configure your MCP Client

{{< tabpane text=true >}} {{% tab header="Claude code" lang="en" %}}

  1. Install Claude Code.

  2. Create a .mcp.json file in your project root if it doesn't exist.

  3. Add the following configuration, replace the environment variables with your values, and save:

    {
      "mcpServers": {
        "mysql": {
          "command": "./PATH/TO/toolbox",
          "args": ["--prebuilt", "mysql", "--stdio"],
          "env": {
            "MYSQL_HOST": "",
            "MYSQL_PORT": "",
            "MYSQL_DATABASE": "",
            "MYSQL_USER": "",
            "MYSQL_PASSWORD": ""
          }
        }
      }
    }
    
  4. Restart Claude code to apply the new configuration. {{% /tab %}} {{% tab header="Claude desktop" lang="en" %}}

  5. Open Claude desktop and navigate to Settings.

  6. Under the Developer tab, tap Edit Config to open the configuration file.

  7. Add the following configuration, replace the environment variables with your values, and save:

    {
      "mcpServers": {
        "mysql": {
          "command": "./PATH/TO/toolbox",
          "args": ["--prebuilt", "mysql", "--stdio"],
          "env": {
            "MYSQL_HOST": "",
            "MYSQL_PORT": "",
            "MYSQL_DATABASE": "",
            "MYSQL_USER": "",
            "MYSQL_PASSWORD": ""
          }
        }
      }
    }
    
  8. Restart Claude desktop.

  9. From the new chat screen, you should see a hammer (MCP) icon appear with the new MCP server available. {{% /tab %}} {{% tab header="Cline" lang="en" %}}

  10. Open the Cline extension in VS Code and tap the MCP Servers icon.

  11. Tap Configure MCP Servers to open the configuration file.

  12. Add the following configuration, replace the environment variables with your values, and save:

    {
      "mcpServers": {
        "mysql": {
          "command": "./PATH/TO/toolbox",
          "args": ["--prebuilt", "mysql", "--stdio"],
          "env": {
            "MYSQL_HOST": "",
            "MYSQL_PORT": "",
            "MYSQL_DATABASE": "",
            "MYSQL_USER": "",
            "MYSQL_PASSWORD": ""
          }
        }
      }
    }
    
  13. You should see a green active status after the server is successfully connected. {{% /tab %}} {{% tab header="Cursor" lang="en" %}}

  14. Create a .cursor directory in your project root if it doesn't exist.

  15. Create a .cursor/mcp.json file if it doesn't exist and open it.

  16. Add the following configuration, replace the environment variables with your values, and save:

    {
      "mcpServers": {
        "mysql": {
          "command": "./PATH/TO/toolbox",
          "args": ["--prebuilt", "mysql", "--stdio"],
          "env": {
            "MYSQL_HOST": "",
            "MYSQL_PORT": "",
            "MYSQL_DATABASE": "",
            "MYSQL_USER": "",
            "MYSQL_PASSWORD": ""
          }
        }
      }
    }
    
  17. Open Cursor and navigate to Settings > Cursor Settings > MCP. You should see a green active status after the server is successfully connected. {{% /tab %}} {{% tab header="Visual Studio Code (Copilot)" lang="en" %}}

  18. Open VS Code and create a .vscode directory in your project root if it doesn't exist.

  19. Create a .vscode/mcp.json file if it doesn't exist and open it.

  20. Add the following configuration, replace the environment variables with your values, and save:

    {
      "servers": {
        "mysql": {
          "command": "./PATH/TO/toolbox",
          "args": ["--prebuilt","mysql","--stdio"],
          "env": {
            "MYSQL_HOST": "",
            "MYSQL_PORT": "",
            "MYSQL_DATABASE": "",
            "MYSQL_USER": "",
            "MYSQL_PASSWORD": ""
          }
        }
      }
    }
    

{{% /tab %}} {{% tab header="Windsurf" lang="en" %}}

  1. Open Windsurf and navigate to the Cascade assistant.

  2. Tap on the hammer (MCP) icon, then Configure to open the configuration file.

  3. Add the following configuration, replace the environment variables with your values, and save:

    {
      "mcpServers": {
        "mysql": {
          "command": "./PATH/TO/toolbox",
          "args": ["--prebuilt","mysql","--stdio"],
          "env": {
            "MYSQL_HOST": "",
            "MYSQL_PORT": "",
            "MYSQL_DATABASE": "",
            "MYSQL_USER": "",
            "MYSQL_PASSWORD": ""
          }
        }
      }
    }
    

{{% /tab %}} {{% tab header="Gemini CLI" lang="en" %}}

  1. Install the Gemini CLI.

  2. In your working directory, create a folder named .gemini. Within it, create a settings.json file.

  3. Add the following configuration, replace the environment variables with your values, and then save:

    {
      "mcpServers": {
        "mysql": {
          "command": "./PATH/TO/toolbox",
          "args": ["--prebuilt","mysql","--stdio"],
          "env": {
            "MYSQL_HOST": "",
            "MYSQL_PORT": "",
            "MYSQL_DATABASE": "",
            "MYSQL_USER": "",
            "MYSQL_PASSWORD": ""
          }
        }
      }
    }
    

{{% /tab %}} {{% tab header="Gemini Code Assist" lang="en" %}}

  1. Install the Gemini Code Assist extension in Visual Studio Code.

  2. Enable Agent Mode in Gemini Code Assist chat.

  3. In your working directory, create a folder named .gemini. Within it, create a settings.json file.

  4. Add the following configuration, replace the environment variables with your values, and then save:

    {
      "mcpServers": {
        "mysql": {
          "command": "./PATH/TO/toolbox",
          "args": ["--prebuilt","mysql","--stdio"],
          "env": {
            "MYSQL_HOST": "",
            "MYSQL_PORT": "",
            "MYSQL_DATABASE": "",
            "MYSQL_USER": "",
            "MYSQL_PASSWORD": ""
          }
        }
      }
    }
    

{{% /tab %}} {{< /tabpane >}}

Use Tools

Your AI tool is now connected to MySQL using MCP. Try asking your AI assistant to list tables, create a table, or define and execute other SQL statements.

The following tools are available to the LLM:

  1. list_tables: lists tables and descriptions
  2. execute_sql: execute any SQL statement

{{< notice note >}} Prebuilt tools are pre-1.0, so expect some tool changes between versions. LLMs will adapt to the tools available, so this shouldn't affect most users. {{< /notice >}}