详细介绍
MCP Server MySQL 是一个基于 Node.js 的 MySQL 数据库中间服务器,专为大型语言模型(LLM)设计,提供数据库模式检查和 SQL 查询执行能力。该工具支持多数据库访问、安全的 SQL 执行机制、表结构可视化展示,并具备细粒度的权限控制功能,适用于数据分析、自动化报告生成等场景。
核心功能
MCP Server MySQL 提供了以下核心功能,帮助用户高效、安全地与 MySQL 数据库进行交互:
- 表结构可视化:自动解析数据库表结构,包括列名、数据类型、索引等信息,便于 LLM 理解数据库结构。
- 安全的 SQL 执行:通过预处理语句防止 SQL 注入,支持事务管理,确保数据操作的安全性。
- 多数据库支持:支持在未指定数据库时访问多个数据库,但需要明确指定目标数据库。
- 权限管理:支持表级别的权限控制,允许更细粒度的权限分配,增强安全性。
- 高可用性设计:内置连接池,提升性能和稳定性,适用于高并发场景。
- 访问控制与日志记录:提供访问控制和日志记录功能,便于监控和审计。
安装方法
MCP Server MySQL 可通过多种方式安装,包括使用 npm、pnpm 或 Docker 部署。
使用 npm 安装
npm install -y @benborla29/mcp-server-mysql dotenv使用 pnpm 安装
pnpm add -g @benborla29/mcp-server-mysql dotenv使用 Docker 部署(推荐)
如果你更倾向于使用 Docker,可以按照以下步骤部署:
docker pull benborla29/mcp-server-mysql:latestdocker run -d --name mcp-mysql -p 3001:3001
-e MYSQL_HOST=127.0.0.1
-e MYSQL_PORT=3306
-e MYSQL_USER=root
-e MYSQL_PASS=your_password
-e MYSQL_DB=your_database
benborla29/mcp-server-mysql:latest配置说明
在项目根目录下创建一个 `.env` 文件,用于配置 MySQL 连接信息:
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASS=your_password
MYSQL_DB=your_database使用方法
配置完成后,可以通过以下命令启动服务器:
node index.js执行 SQL 查询
通过 MCP Server MySQL,你可以执行 SQL 查询。例如:
mysql_query sql='SELECT * FROM users;'更新数据
如果启用了写操作,可以执行更新操作,例如:
mysql_query sql='UPDATE products SET price = 99 WHERE id = 1;'使用场景
MCP Server MySQL 适用于以下场景:
- 需要快速访问 MySQL 数据库并生成 SQL 查询的应用场景,如数据分析、自动化报告生成。
- 为 LLM 提供数据库模式检查和 SQL 查询执行能力,提升交互效率。
- 需要在多数据库环境中进行安全、可控的数据访问。
注意事项
在使用 MCP Server MySQL 时,需要注意以下事项:
- 默认情况下,写操作(INSERT、UPDATE、DELETE)是禁用的,需在配置中手动启用。
- 需要为 MySQL 用户配置适当的权限,确保服务器能够正常连接和操作数据库。
- 建议启用 SSL/TLS 加密,以增强数据传输的安全性。
- 在生产环境中,建议启用日志记录和访问控制,便于监控和审计。
使用示例
以下是两个典型的使用示例:
案例1:查询用户数据
通过 MCP Server MySQL 查询用户表数据。
mysql_query sql='SELECT * FROM users;'预期结果:返回用户表的数据列表。
案例2:更新商品价格
更新特定商品的价格。
mysql_query sql='UPDATE products SET price = 99 WHERE id = 1;'预期结果:成功更新商品价格。
常见问题
以下是使用过程中可能遇到的常见问题及解决方法:
1. 如何确保数据安全?
MCP Server MySQL 通过预处理语句和事务管理防止 SQL 注入,并支持 SSL/TLS 加密。
2. 如何启用写操作?
在配置文件中将 `ALLOW_INSERT_OPERATION`、`ALLOW_UPDATE_OPERATION` 和 `ALLOW_DELETE_OPERATION` 设置为 `true`。
3. 是否支持多数据库模式?
支持,在未指定数据库时,可以访问多个数据库。
总结
MCP Server MySQL 是一个功能强大、安全可靠的 MySQL 数据库中间服务器,专为 LLM 设计,提供数据库模式检查和 SQL 查询执行能力。通过灵活的配置和丰富的功能,它能够满足多种应用场景的需求,是连接 LLM 与 MySQL 数据库的理想工具。