README
🚀 @enemyrr/mcp-mysql-server
这是一个提供MySQL数据库操作的Model Context Protocol服务器,它能让AI模型通过标准化接口与MySQL数据库进行交互,为数据库操作提供了便捷的解决方案。
🚀 快速开始
✨ 主要特性
- 支持通过URL或单独的环境变量进行配置。
- 使用预处理语句防止SQL注入。
- 支持事务管理。
- 提供详细的错误处理和日志记录。
📦 安装指南
在Cursor IDE中的安装与设置
通过Smithery安装
要通过Smithery自动安装Claude Desktop的MySQL数据库服务器,可使用以下命令:
npx -y @smithery/cli install @enemyrr/mcp-mysql-server --client claude
手动安装
- 克隆并构建项目:
git clone https://github.com/enemyrr/mcp-mysql-server.git
cd mcp-mysql-server
npm install
npm run build
- 在Cursor IDE设置中添加服务器:
- 打开命令palette(Cmd/Ctrl + Shift + P)
- 搜索“MCP: Add Server”
- 填写字段:
- 名称:
mysql - 类型:
command - 命令:
node /绝对路径/to/mcp-mysql-server/build/index.js
- 名称:
⚠️ 重要提示
将
/absolute/path/to/替换为实际克隆和构建项目的路径。
数据库配置
你可以通过三种方式配置数据库连接:
1. 在.env中使用Database URL(推荐)
DATABASE_URL=mysql://用户:密码@主机:3306/数据库
2. 在.env中使用单独参数
DB_HOST=localhost
DB_USER=你的用户
DB_PASSWORD=你的密码
DB_DATABASE=你的数据库
3. 直接通过工具连接
use_mcp_tool({
server_name: "mysql",
tool_name: "connect_db",
arguments: {
url: "mysql://用户:密码@主机:3306/数据库"
// 或者
workspace: "/路径/to/你的项目" // 将使用项目的.env
// 或者
host: "localhost",
user: "你的用户",
password: "你的密码",
database: "你的数据库"
}
});
💻 使用示例
可用工具
1. connect_db
使用URL、工作区路径或直接凭据连接到MySQL数据库。
2. query
执行带有可选预处理语句参数的SELECT查询。
use_mcp_tool({
server_name: "mysql",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = ?",
params: [1]
}
});
3. execute
执行带有可选预处理语句参数的INSERT、UPDATE或DELETE查询。
use_mcp_tool({
server_name: "mysql",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES (?, ?)",
params: ["Alice", "alice@example.com"]
}
});
4. browse_table
浏览数据库表的内容。
use_mcp_tool({
server_name: "mysql",
tool_name: "browse_table",
arguments: {
table: "users"
}
});
🔧 技术细节
安全
- 使用预处理语句来防止SQL注入。
- 通过环境变量安全地处理密码。
- 在执行前验证查询。
- 自动关闭连接。
错误处理
服务器为以下情况提供详细错误信息:
- 连接失败
- 无效的查询或参数
- 缺少配置
- 数据库错误
- 模式验证错误
📄 许可证
本项目采用MIT许可证。
贡献
欢迎贡献!请随意提交Pull Request到 https://github.com/enemyrr/mcp-mysql-server
Scan to contact