关于 MySQL Ops MCP
MySQL Ops MCP 是供 Claude Code、Cursor 和 Codex 等 AI 工具连接 MySQL 的服务。它支持查看结构、查询和 CRUD 操作,并要求客户端批准删除数据或删除表。
主要功能
- 01浏览数据库、表、结构、索引和 DDL
- 02运行 SELECT 查询
- 03创建表以及插入或更新记录
- 04删除数据和表前要求批准
- 05按工具校验 SQL 语句
适用场景
- 01通过 AI 工具检查数据库结构
- 02查询 MySQL 中的近期订单
- 03通过语句校验插入或更新记录
- 04执行前审核删除数据或表的操作
MCP 相关
MCP 服务向 MCP 客户端提供 MySQL 浏览、查询和 CRUD 工具;删除数据和删除表需要客户端明确批准。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y mysql-ops-mcpDB_HOSTMySQL host, default localhostDB_PORTMySQL port, default 3306DB_USERMySQL user, default rootDB_PASSWORD密钥MySQL passwordDB_DATABASEDefault database; can also be passed per tool call本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MySQL Ops MCP
English | 简体中文
MySQL 数据库 MCP 服务。让 Claude Code / Cursor / Codex 等 AI 工具通过自然语言与 MySQL 数据库交互——浏览数据库和表、检查架构、运行查询并执行 CRUD 操作;破坏性操作(DELETE / DROP)须经用户明确批准。
功能
- 🗄️ 架构浏览:列出数据库、列出表、查看表结构、获取完整表信息(索引、DDL、统计数据)
- 🔍 查询:对任意数据库运行
SELECT查询 - ✏️ CRUD:创建表、插入、更新——每种工具都会验证 SQL 语句
- 🔐 需批准的破坏性操作:
delete_data和drop_table始终需要客户端中的用户明确确认 - 🔌 无需安装:通过
npx运行,完全通过环境变量配置
安装
需要 Node.js 18+。无需克隆或构建——首次使用时,npx 会获取并运行已发布的 npm 包(参见下方配置)。
如需改为从源代码构建(例如用于开发):
git clone https://github.com/GT-dinuo/mysql-ops-mcp.git
cd mysql-ops-mcp
npm install
npm run build
构建输出位于 dist/;入口文件为 dist/index.js。
配置
在要使用此工具的每个项目中,创建(或追加到).mcp.json:
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "mysql-ops-mcp"],
"env": {
"DB_HOST": "localhost",
"DB_PORT": "3306",
"DB_USER": "root",
"DB_PASSWORD": "your_password",
"DB_DATABASE": "your_database"
}
}
}
}
如果从源代码构建,请将命令指向本地构建版本:"command": "node","args": ["/absolute/path/to/mysql-ops-mcp/dist/index.js"]。
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
DB_HOST | 否 | MySQL 主机,默认为 localhost |
DB_PORT | 否 | MySQL 端口,默认为 3306 |
DB_USER | 否 | MySQL 用户,默认为 root |
DB_PASSWORD | 否 | MySQL 密码 |
DB_DATABASE | 否 | 默认数据库;如果省略,则在每次工具调用时传入 database |
使用方法
配置完成后,只需在 AI 工具中用自然语言提问:
List all databases
Show the structure of the users table
Query the 10 most recent orders
Get full info for the users table — indexes and DDL included
Insert a test record into the users table
Delete the test record you just inserted ← the client will ask for your approval first
破坏性操作(delete_data、drop_table)在执行前始终由 MCP 客户端确认——任何不可逆操作都不会在无提示的情况下发生。
工具列表
| 工具 | 描述 |
|---|---|
list_databases | 列出所有数据库 |
list_tables | 列出数据库中的表 |
describe_table | 显示表的列和类型 |
get_table_info | 获取完整表信息:列、索引、DDL、统计数据 |
query | 运行 SELECT 查询 |
create_table | 创建表(仅限 CREATE TABLE) |
insert | 插入行(仅限 INSERT) |
update | 更新行(仅限 UPDATE) |
delete_data | 删除行——需要用户批准 |
drop_table | 删除表——需要用户批准 |
execute_sql | 运行任意自定义 SQL 语句 |
安全
- 破坏性操作需要批准:
delete_data和drop_table需要通过 MCP 客户端的工具调用确认——逐项批准或拒绝。 - 语句验证:每种写入工具只接受对应的 SQL 动词(例如,
query会拒绝除SELECT以外的所有语句)。 - 使用最小权限账户:生产环境中不要使用
root连接——创建仅限 AI 可操作数据库的 MySQL 用户。 - 切勿提交凭据:含有真实密码的
.env/.mcp.json必须排除在版本控制之外(.gitignore已包含.env)。
测试连接
配置 .env 后(从 env.example 复制),可以先验证连接,再配置客户端:
cp env.example .env # fill in real credentials
npm run test-connection
开发
npm run dev # watch mode, recompiles on change
npm run build # build to dist/
npm start # run the built Server
许可证
MIT © 2026 mysql-ops-mcp
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。