Read MySQL

by benborla

279 stars
31.3k downloads
Not rated
GitHub

About

Access MySQL databases to inspect schemas and execute SQL queries via a NodeJS-based server.

Details

Author
benborla
Repository
benborla/mcp-server-mysql
GitHub stars
279
Downloads
31,345
License
MIT License
Categories
Database, Other, Design, Developer Tools, AI, Security, Frontend
Tags
#mobile

- Read-only by default — write operations opt-in via env flags
- Claude Code integration — optimized for Anthropic's Claude Code CLI
- SSH tunnel support — built-in support for remote databases
- Multi-DB mode — query across multiple databases without reconnecting
- Schema-specific permissions — per-database read/write control
- PII redaction — automatic masking of sensitive data in results
- Remote mode — HTTP transport with bearer token auth
- SSL/TLS support — encrypted connections with mTLS option

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Read MySQL
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @benborla29/mcp-server-mysql
    Environment
    • MYSQL_DB your_database
    • MYSQL_HOST 127.0.0.1
    • MYSQL_PASS your_password
    • MYSQL_PORT 3306
    • MYSQL_USER root

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Claude Code (simplest):

claude mcp add mcp_server_mysql \
  -e MYSQL_HOST="127.0.0.1" \
  -e MYSQL_PORT="3306" \
  -e MYSQL_USER="root" \
  -e MYSQL_PASS="your_password" \
  -e MYSQL_DB="your_database" \
  -- npx @benborla29/mcp-server-mysql

Claude Desktop / other clients:

{
  "mcpServers": {
    "mcp_server_mysql": {
      "command": "npx",
      "args": ["-y", "@benborla29/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASS": "your_password",
        "MYSQL_DB": "your_database"
      }
    }
  }
}

All write operations are disabled by default. Enable with ALLOW_INSERT_OPERATION=true, ALLOW_UPDATE_OPERATION=true, ALLOW_DELETE_OPERATION=true.

mysql_query

Execute SQL queries. Read-only by default. Write operations enabled per flag.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "read mysql": {
            "env": {
                "MYSQL_DB": "your_database",
                "MYSQL_HOST": "127.0.0.1",
                "MYSQL_PASS": "your_password",
                "MYSQL_PORT": "3306",
                "MYSQL_USER": "root"
            },
            "args": [
                "-y",
                "@benborla29/mcp-server-mysql"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "MYSQL_DB": "your_database",
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PASS": "your_password",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root"
    },
    "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "MYSQL_DB": "your_database",
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PASS": "your_password",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root"
    },
    "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
    ],
    "command": "npx"
}

Windows

{
    "env": {
        "MYSQL_DB": "your_database",
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PASS": "your_password",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root"
    },
    "args": [
        "/c",
        "npx",
        "-y",
        "@benborla29/mcp-server-mysql"
    ],
    "command": "cmd"
}
# MCP Server for MySQL [![MCP Toplist](https://mcptoplist.com/badge/glama%2Fbenborla%2Fmcp-server-mysql.svg)](https://mcptoplist.com/server/glama%2Fbenborla%2Fmcp-server-mysql) [![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/benborla/mcp-server-mysql)](https://archestra.ai/mcp-catalog/benborla__mcp-server-mysql) ## Sponsor — Bloome [![Bloome](assets/bloome.png)](https://bloome.im/login?ref=2x7GfeSw) Using mcp-server-mysql to let your AI query MySQL? [**Bloome**](https://bloome.im/login?ref=2x7GfeSw) brings that to your whole team — an AI-agent IM platform where AI agents are members of the chat. Connect your MCP tools and have agents inspect schemas, run queries, and answer data questions for everyone in one thread. Zero local setup, runs in the cloud, on web and mobile. --- MCP server that gives Claude and other LLMs access to MySQL — inspect schemas, run queries, and optionally write data, all through the Model Context Protocol. ## Key Features - **Read-only by default** — write operations opt-in via env flags - **Claude Code integration** — optimized for Anthropic's Claude Code CLI - **SSH tunnel support** — built-in support for remote databases - **Multi-DB mode** — query across multiple databases without reconnecting - **Schema-specific permissions** — per-database read/write control - **PII redaction** — automatic masking of sensitive data in results - **Remote mode** — HTTP transport with bearer token auth - **SSL/TLS support** — encrypted connections with mTLS option ## Requirements - Node.js v20+ - MySQL 5.7+ (8.0+ recommended) - MySQL user with appropriate privileges ## Quick Install **Claude Code (simplest):** ```bash claude mcp add mcp_server_mysql \ -e MYSQL_HOST="127.0.0.1" \ -e MYSQL_PORT="3306" \ -e MYSQL_USER="root" \ -e MYSQL_PASS="your_password" \ -e MYSQL_DB="your_database" \ -- npx @benborla29/mcp-server-mysql ``` **Claude Desktop / other clients:** ```json { "mcpServers": { "mcp_server_mysql": { "command": "npx", "args": ["-y", "@benborla29/mcp-server-mysql"], "env": { "MYSQL_HOST": "127.0.0.1", "MYSQL_PORT": "3306", "MYSQL_USER": "root", "MYSQL_PASS": "your_password", "MYSQL_DB": "your_database" } } } } ``` All write operations are disabled by default. Enable with `ALLOW_INSERT_OPERATION=true`, `ALLOW_UPDATE_OPERATION=true`, `ALLOW_DELETE_OPERATION=true`. ## Documentation - [Installation Guide](docs/INSTALLATION.md) — Smithery, Cursor, Codex, Claude Code, local repo, remote mode - [Configuration & Environment Variables](docs/CONFIGURATION.md) — all env vars, advanced config - [Multi-DB Mode](README-MULTI-DB.md) — querying multiple databases - [PII Redaction](docs/PII-REDACTION.md) — automatic data masking - [Testing](docs/TESTING.md) — test setup and running - [Troubleshooting](docs/TROUBLESHOOTING.md) — common issues and fixes - [Changelog](CHANGELOG.md) ## Tools & Resources **Tool: `mysql_query`** Execute SQL queries. Read-only by default. Write operations enabled per flag. **Resources: `mysql://tables`** Lists all tables and column metadata for the connected database. ## Contributing PRs welcome at [github.com/benborla/mcp-server-mysql](https://github.com/benborla/mcp-server-mysql). ```bash git clone https://github.com/benborla/mcp-server-mysql.git pnpm install pnpm run build pnpm test ``` [![Contributors](https://contrib.rocks/image?repo=benborla/mcp-server-mysql)](https://github.com/benborla/mcp-server-mysql/graphs/contributors) ## License MIT — see [LICENSE](LICENSE) for details.
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.