zhineng.dev 工具介绍

[简体中文] | English

MCP MySQL 服务器

一个支持DDL操作、权限控制和操作日志的MCP MySQL服务器。

版本历史

v3.0.0 (最新版本)

v2.0.1

v2.0.0

功能特性

安装

全局安装(推荐)

npm install -g @liangshanli/mcp-server-mysql

本地安装

npm install @liangshanli/mcp-server-mysql

从源码安装

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

配置

设置环境变量:

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=your_database
export READONLY=false
export ALLOW_DDL=true
export ALLOW_DROP=false
export ALLOW_DELETE=false

快速开始

1. 安装包

npm install -g @liangshanli/mcp-server-mysql

2. 配置环境变量

export MYSQL_HOST=localhost
export MYSQL_PORT=3306
export MYSQL_USER=root
export MYSQL_PASSWORD=your_password
export MYSQL_DATABASE=your_database
export READONLY=false
export ALLOW_DDL=false
export ALLOW_DROP=false
export ALLOW_DELETE=false

3. 运行服务器

mcp-server-mysql

编辑器集成

Cursor 编辑器配置

在项目根目录创建 .cursor/mcp.json 文件:

单实例配置
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "your_host",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database",
        "READONLY": "false",
        "ALLOW_DDL": "false",
        "ALLOW_DROP": "false",
        "ALLOW_DELETE": "false"
      }
    }
  }
}
多实例配置
{
  "mcpServers": {
    "mysql-prod": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "prod.example.com",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "prod_user",
        "MYSQL_PASSWORD": "prod_password",
        "MYSQL_DATABASE": "prod_db",
        "READONLY": "true",
        "TOOL_PREFIX": "prod",
        "PROJECT_NAME": "生产环境"
      }
    },
    "mysql-test": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "test.example.com",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "test_user",
        "MYSQL_PASSWORD": "test_password",
        "MYSQL_DATABASE": "test_db",
        "TOOL_PREFIX": "test",
        "PROJECT_NAME": "测试环境"
      }
    }
  }
}

VS Code 配置 - .vscode/mcp.json 格式

1. 安装 VS Code 的 MCP 扩展
2. 创建 .vscode/mcp.json 文件:

单实例配置
{
  "servers": {
    "mysql": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "your_host",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}
多实例配置
{
  "servers": {
    "mysql-prod": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "prod.example.com",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "prod_user",
        "MYSQL_PASSWORD": "prod_password",
        "MYSQL_DATABASE": "prod_db",
        "READONLY": "true",
        "TOOL_PREFIX": "prod",
        "PROJECT_NAME": "生产环境"
      }
    },
    "mysql-test": {
      "command": "npx",
      "args": ["@liangshanli/mcp-server-mysql"],
      "env": {
        "MYSQL_HOST": "test.example.com",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "test_user",
        "MYSQL_PASSWORD": "test_password",
        "MYSQL_DATABASE": "test_db",
        "TOOL_PREFIX": "test",
        "PROJECT_NAME": "测试环境"
      }
    }
  }
}

环境变量

变量名 默认值 说明
MYSQL_HOST localhost MySQL主机地址
MYSQL_PORT 3306 MySQL端口
MYSQL_USER root MySQL用户名
MYSQL_PASSWORD MySQL密码
MYSQL_DATABASE 数据库名
READONLY false 如果设置为'true',只允许执行SELECT和SHOW命令
ALLOW_DDL false 是否允许DDL操作
ALLOW_DROP false 是否允许DROP操作
ALLOW_DELETE false 是否允许DELETE操作
TOOL_PREFIX 可选工具前缀,用于工具名称和配置隔离
PROJECT_NAME 可选项目品牌名称

可用工具

  1. sql_query - 执行SQL查询
  2. get_database_info - 获取数据库信息
  3. get_operation_logs - 获取操作日志
  4. get_ddl_sql_logs - 获取 DDL SQL 操作日志
  5. check_permissions - 检查数据库权限

连接池特性

错误处理

🔗 相关工具

许可证

MIT

查看GitHub仓库

var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?ff88834a3841b1795b73b83a590bbbba"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();