mysql-mcp-server
3.4
If you are the rightful owner of mysql-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP MySQL Server is a MySQL tool service based on the Model Context Protocol SDK, designed for AI agents and automation tools.
MCP MySQL Server
项目简介
MCP MySQL Server 是一个基于 @modelcontextprotocol/sdk 的 MySQL 工具服务,支持 SQL 查询、表结构获取、连接检测等功能,适用于 AI 代理、自动化工具等场景。
主要功能
- 执行 SQL 查询(SELECT、INSERT、UPDATE、DELETE)
- 获取数据库表结构信息
- 检测数据库连接状态
- SQL 语句和参数安全校验
- 优雅的服务启动与关闭
架构说明
- 入口文件:
src/index.js
启动和管理 MCP 服务器实例 - 服务实现:
src/server.js
实现 MCP Server,注册工具、处理请求 - 数据库管理:
src/database.js
管理 MySQL 连接池、执行 SQL、获取表结构 - 配置管理:
src/config.js
支持 .env 环境变量和默认配置 - 安全校验:
src/validators.js
校验 SQL 语句和参数,防止危险操作和注入
安装与使用
- 克隆项目
git clone https://github.com/yourname/mcp-mysql-server.git cd mcp-mysql-server
- 安装依赖
npm install
- 配置数据库连接(可选,支持 .env 文件)
DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=yourpassword DB_NAME=yourdatabase
- 启动服务
node src/index.js
配置说明
- 支持通过环境变量或
.env
文件配置数据库和服务参数 - 主要配置项见
src/config.js
主要实现细节
- 使用
mysql2/promise
实现高效的连接池和异步 SQL 执行 - 所有 SQL 语句和参数均经过安全校验,防止危险操作和 SQL 注入
- MCP Server 支持三大工具:
execute_sql
:执行 SQL 查询get_tables_info
:获取所有表及字段结构get_connection_status
:检测数据库连接
- 优雅处理进程信号,支持平滑关闭
安全性说明
- 禁止 DROP/TRUNCATE/ALTER 等危险操作
- 检查常见 SQL 注入模式
- 限制参数数量,防止滥用
- 禁用多语句执行
在 Cursor 中 验证 开发的 MCP Server 是否能运行
Cursor 添加 MCP Server
通过 Cursor Settings
-> MCP Add new global MCP server
,可以将 MCP
服务添加为全局可用。这意味着你配置的 MCP 服务将在所有项目中生效。
也可以只针对 项目级别 添加
在项目的 .cursor
目录下,新建一个 mcp.json
文件进行配置,这样的设置只会对特定项目生效。
mcp server 的格式是如何呢
配置 server 基本格式规范
{
"mcpServers": {
"<server-name>": {
"command": "<启动命令>",
"args": ["<参数1>", "<参数2>", ...],
"env": {
"<环境变量名1>": "<值1>",
"<环境变量名2>": "<值2>",
...
},
"transport": "<传输协议>",
"port": <端口号>,
"host": "<主机地址>"
}
}
}
查询数据库表和字段信息
查看当前数据库是否连接
查询表里数据
看到这里,是不是觉得很神奇?我们用自然语言描述需求,AI助手自动生成并执行SQL,然后分析结果给出结论。
依赖
贡献方式
欢迎提交 Issue 和 PR 参与贡献!
许可证
ISC License