Mysql MCP Server

Mysql MCP Server

MCP Server MySQL 是一个基于 Node.js 的 MySQL 数据库 MCP 服务器,为大型语言模型(LLM)提供数据库模式检查和 SQL 查询执行能力,支持多数据库、安全执行、权限管理等功能。

42 浏览
2025-12-29 发布

详细介绍

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:latest
docker 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 数据库的理想工具。

数据库交互 SQL执行 权限管理 NodeJS 多数据库支持

相关服务推荐

查看更多