MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

M
Mysql MCP Server
作者 @664393425

MCP server by 664393425

创建于 3/15/2026
更新于 about 3 hours ago
Repository documentation and setup instructions

MySQL MCP Server

A feature-rich MySQL MCP (Model Context Protocol) server for AI coding assistants. Supports read/write operations, dynamic database/server switching, auto-config from Spring Boot projects, and more.

一个功能丰富的 MySQL MCP 服务,支持读写操作、动态切换数据库/服务器、自动读取 Spring Boot 项目配置等。

✨ Features

| Feature | Description | |---------|-------------| | 📖 Read Queries | SELECT, SHOW, DESCRIBE, EXPLAIN with auto LIMIT | | ✏️ Write Operations | INSERT, UPDATE, DELETE, REPLACE | | 🏗️ DDL Support | CREATE, ALTER, DROP, TRUNCATE | | 🔄 Dynamic Switch Database | Switch database without restarting | | 🌐 Dynamic Switch Server | Switch to a different MySQL server on the fly | | 📋 Show Tables | List all tables with metadata, supports LIKE filter | | 🔍 Describe Table | View column details and CREATE TABLE SQL | | 🔗 Connection Info | View current connection details | | 📚 Show Databases | List all available databases | | ⚙️ Auto Config | Read DB config from Spring Boot application.yml | | 🔁 Auto Retry | Automatic reconnection on connection loss | | 🛡️ Process Guard | Prevents duplicate processes on startup | | 📝 Logging | Daily rotating log files |

📦 Installation

git clone https://github.com/YOUR_USERNAME/mysql-mcp-server.git
cd mysql-mcp-server
npm install

Requirements: Node.js >= 18.0.0

🚀 Usage

Option 1: Direct Connection Parameters

node index.js --host 127.0.0.1 --port 3306 --database mydb --user root --password yourpass

Option 2: Auto-read from Spring Boot Project (Recommended for Java developers)

node index.js --project-dir /path/to/your/spring-boot-module

The server will automatically:

  1. Read application.yml and detect spring.profiles.active
  2. Load the corresponding application-{profile}.yml
  3. Parse spring.datasource for connection info

Option 3: Auto-read from .gemini/settings.json

If no arguments are provided, the server will search for .gemini/settings.json in the current directory and up to 5 parent directories to load the MySQL configuration.

🔧 MCP Tools

query — Read-only queries

Execute SELECT / SHOW / DESCRIBE / EXPLAIN statements.

  • sql (string, required): The SQL query
  • limit (number, optional): Max rows to return (default: 200)

execute — Write operations & DDL

Execute INSERT / UPDATE / DELETE / REPLACE / CREATE / ALTER / DROP / TRUNCATE.

  • sql (string, required): The SQL statement

show_tables — List tables

List all tables in the current database.

  • pattern (string, optional): LIKE filter (e.g., edu_%)

describe_table — Table structure

View column details and CREATE TABLE SQL.

  • table (string, required): Table name

switch_database — Switch database

Dynamically switch to a different database on the same server.

  • database (string, required): Target database name

switch_connection — Switch server

Dynamically switch to a different MySQL server without restarting.

  • host (string, optional): MySQL host
  • port (number, optional): MySQL port
  • user (string, optional): Username
  • password (string, optional): Password
  • database (string, optional): Database name

Only pass the parameters you want to change; the rest will remain unchanged.

connection_info — Current connection

View the current connection details (host, port, database, user, MySQL version).

show_databases — List databases

List all available databases on the current MySQL server.

⚙️ IDE Configuration

Antigravity / Gemini

Edit ~/.gemini/settings.json or ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/index.js",
        "--host", "127.0.0.1",
        "--port", "3306",
        "--database", "mydb",
        "--user", "root",
        "--password", "yourpass"
      ]
    }
  }
}

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/index.js",
        "--host", "127.0.0.1",
        "--port", "3306",
        "--database", "mydb",
        "--user", "root",
        "--password", "yourpass"
      ]
    }
  }
}

Cursor

Edit .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "mysql": {
      "command": "node",
      "args": [
        "/path/to/mysql-mcp-server/index.js",
        "--project-dir",
        "/path/to/your/spring-boot-module"
      ]
    }
  }
}

📝 Logging

Logs are written to the logs/ directory with daily rotation:

logs/
├── 2026-03-15.log
├── 2026-03-16.log
└── ...

Each log entry includes timestamp, level (INFO/WARN/ERROR), message, and optional structured data.

🔒 Safety

  • Read queries are restricted to SELECT, SHOW, DESCRIBE, and EXPLAIN
  • Write operations require explicit use of the execute tool
  • DROP/TRUNCATE operations include a danger warning
  • Failed switches automatically rollback to the previous connection
  • SQL injection prevention via parameterized table name sanitization

📄 License

MIT License - see LICENSE for details.

快速设置
此服务器的安装指南

安装包 (如果需要)

npx @modelcontextprotocol/server-mysql-mcp-server

Cursor 配置 (mcp.json)

{ "mcpServers": { "664393425-mysql-mcp-server": { "command": "npx", "args": [ "664393425-mysql-mcp-server" ] } } }