# MySQL MCP server

> Inspect MySQL schemas and run SQL queries from your assistant, with write operations off unless you enable them.

- Listing: https://mcp.tc/i/mysql
- Connect: this is a local (stdio) server; install it on your machine (see Install). The listing link is a page, not an MCP endpoint.
- Type: local (stdio)
- Auth: no API key needed
- Category: [Databases & Backend](https://mcp.tc/c/databases)
- Vendor: Ben Borla
- Repository: <https://github.com/benborla/mcp-server-mysql>
- Package: npm `@benborla29/mcp-server-mysql`

## About

Connects an AI assistant to a MySQL database. It can list tables and column metadata, and run SQL through a single query tool. Queries are read-only by default, and inserts, updates and deletes are enabled separately with environment flags.

The server runs locally over stdio with npx and needs Node.js 20 or newer and MySQL 5.7 or newer. Connection details are passed as environment variables (MYSQL\_HOST, MYSQL\_PORT, MYSQL\_USER, MYSQL\_PASS, MYSQL\_DB). The README also describes SSH tunnels, multi-database mode, per-schema permissions, PII redaction and SSL/TLS.

## What it can do

- Run SQL queries against a MySQL database
- Read-only by default
- Enable inserts, updates or deletes with separate flags
- List tables and column metadata via a resource
- Connect to remote databases through an SSH tunnel
- Query across multiple databases in multi-DB mode
- Mask sensitive data with PII redaction

## Example prompts

- "Show me all tables in my MySQL database and their columns"
- "Run a query for the 10 most recent orders"
- "How many users signed up last month?"
- "Describe the schema of the customers table"

## Install

### Claude Code

1. Run this in a terminal, in your project folder:

```bash
claude mcp add --transport stdio mysql -- npx -y @benborla29/mcp-server-mysql
```

2. Start Claude Code and type `/mcp`. **mysql** should show as connected.

Add `--scope user` to make it available in every project.

### Claude Desktop

1. Open **Settings → Developer → Edit Config**. It opens `claude_desktop_config.json`. Add:

`claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
      ]
    }
  }
}
```

2. Save the file and restart Claude Desktop.

Needs Node.js on your computer. The file lives in `~/Library/Application Support/Claude/` on macOS and `%APPDATA%\Claude\` on Windows.

### Cursor

[Add to Cursor](<https://cursor.com/install-mcp?name=mysql&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBiZW5ib3JsYTI5L21jcC1zZXJ2ZXItbXlzcWwiXX0%3D>) (opens Cursor)

Or add it by hand to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (this project):

`mcp.json`:

```json
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
      ]
    }
  }
}
```

Needs Node.js on your computer.

### VS Code

[Install in VS Code](<https://vscode.dev/redirect/mcp/install?name=mysql&config=%7B%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40benborla29%2Fmcp-server-mysql%22%5D%7D>) (opens VS Code)

Or from a terminal:

```bash
code --add-mcp '{"name":"mysql","type":"stdio","command":"npx","args":["-y","@benborla29/mcp-server-mysql"]}'
```

Or commit it to the repo in `.vscode/mcp.json`:

`.vscode/mcp.json`:

```json
{
  "servers": {
    "mysql": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
      ]
    }
  }
}
```

Needs Node.js on your computer.

### Devin Desktop

1. Add it to `~/.config/devin/mcp_config.json` (macOS and Linux) or `%APPDATA%\devin\mcp_config.json` (Windows):

`mcp_config.json`:

```json
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
      ]
    }
  }
}
```

2. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

### Codex

```bash
codex mcp add mysql -- npx -y @benborla29/mcp-server-mysql
```

Or edit `~/.codex/config.toml` directly:

`config.toml`:

```toml
[mcp_servers.mysql]
command = "npx"
args = ["-y", "@benborla29/mcp-server-mysql"]
```

Needs Node.js on your computer.

### Gemini CLI

```bash
gemini mcp add mysql npx -- -y @benborla29/mcp-server-mysql
```

This adds it to the current project. Add `-s user` to use it everywhere.

### Any client

Most clients that start local servers accept this shape:

```json
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
      ]
    }
  }
}
```

Zed puts servers under `context_servers` in its settings, with the same `command`, `args` and `env` fields.

Needs Node.js on your computer.

## Details

- Server version: 2.0.9
- Last checked: 2026-10-03
- Listed: 2026-10-03
- Updated: 2026-10-03

---
Source: https://mcp.tc/i/mysql (mcp.tc is an independent directory, not affiliated with this server's publisher). Corrections: https://mcp.tc/report
