项目简介
MySQL MCP Server 是一个 MCP (Model Context Protocol) 服务器,旨在为大型语言模型 (LLM) 提供安全可靠的 MySQL 数据库访问能力。通过此服务器,LLM 可以执行查询、修改数据以及获取数据库结构信息,从而扩展 LLM 在数据处理和应用构建方面的能力。
主要功能点
- 安全的数据访问: 支持只读查询和数据修改操作,所有操作均经过安全检查,防止 SQL 注入等风险。
- 丰富的数据库操作: 提供执行 SQL 查询 (SELECT)、数据修改 (INSERT, UPDATE, DELETE)、列出数据库表、查看表结构等多种工具。
- 参数化查询: 数据修改操作支持参数化查询,提高数据操作的安全性。
- 事务处理: 数据修改操作具备事务支持,确保数据一致性。
- 查询限制: 对查询长度、结果行数和执行超时时间进行限制,保障服务器性能和安全。
- 操作日志: 记录所有数据库操作日志,便于监控和审计。
- 易于集成: 可以通过 Dive Desktop 等 MCP 客户端轻松集成和使用。
安装步骤
- 安装 Node.js: 确保你的系统已安装 Node.js (版本 18 或更高版本)。
- 安装 MySQL MCP Server: 打开终端,运行以下命令全局安装 MySQL MCP Server:
npm install -g @kevinwatt/mysql-mcp - 配置 MySQL 数据库连接: 在运行 MCP 服务器之前,需要设置 MySQL 数据库的连接信息,可以通过环境变量或在 MCP 客户端配置中设置。
服务器配置
以下 JSON 配置信息用于 MCP 客户端(例如 Dive Desktop)连接 MySQL MCP Server。请将以下配置添加到你的 MCP 客户端中,并根据你的 MySQL 数据库环境修改相应的参数。
{ "mcpServers": { "mysql": { "command": "npx", "args": [ "-y", "@kevinwatt/mysql-mcp" ], "env": { "MYSQL_HOST": "127.0.0.1", // MySQL 服务器地址 "MYSQL_PORT": "3306", // MySQL 服务器端口 "MYSQL_USER": "root", // MySQL 数据库用户名 "MYSQL_PASS": "", // MySQL 数据库密码 (请替换为实际密码) "MYSQL_DB": "your_database" // 默认连接的数据库名 (请替换为实际数据库名) } } } }
配置参数说明:
- 'command': 运行 MCP 服务器的命令,这里使用 'npx' 来执行安装的 npm 包。
- 'args': 传递给 'npx' 命令的参数,'-y' 表示自动确认安装 '@kevinwatt/mysql-mcp' 包。
- 'env': 环境变量配置,用于设置 MySQL 数据库的连接信息。
- 'MYSQL_HOST': MySQL 服务器的主机名或 IP 地址。
- 'MYSQL_PORT': MySQL 服务器的端口号,默认为 3306。
- 'MYSQL_USER': 连接 MySQL 数据库的用户名。
- 'MYSQL_PASS': 连接 MySQL 数据库的密码。 请务必替换为空字符串为你的实际数据库密码。
- 'MYSQL_DB': MCP 服务器启动后默认连接的数据库名称。
基本使用方法
配置完成后,在 MCP 客户端中选择 "mysql" MCP 服务器,即可通过自然语言指令或工具调用来操作 MySQL 数据库。
示例指令:
- "Show me all tables in the database" (列出所有表)
- "Describe the structure of users table" (查看 users 表的结构)
- "Select all active users from the database" (查询所有活跃用户)
- "Insert a new record into orders table" (向 orders 表插入新记录)
手动启动服务器 (可选):
如果需要手动启动 MCP 服务器,可以在终端中运行以下命令:
npx @kevinwatt/mysql-mcp
服务器将会在后台运行,并通过标准输入输出与 MCP 客户端进行通信。
信息
分类
数据库与文件