MySQL MCP Server

MySQL MCP Server

Enables AI assistants to read and write MySQL databases, dynamically switch databases/servers, and auto-configure from Spring Boot projects.

Category
访问服务器

README

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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选