关于 MySQL MCP Server
MySQL MCP Server 为 LLM 和数据库用户提供所连接 MySQL 数据库的只读访问,结合自动模式发现与只读事务中的 SQL 查询。
主要功能
- 01执行只读 SQL 查询
- 02自动发现各表的模式
- 03提供列名和数据类型
- 04使用数据库 URL 进行身份验证
适用场景
- 01查看数据表及其列类型
- 02通过 MCP 客户端执行只读数据库查询
MCP 相关
向 MCP 客户端提供用于只读 SQL 的 `query` 工具,并以资源形式提供模式信息。数据库凭据通过连接 URL 传入。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MySQL MCP 服务
一个提供 MySQL 数据库只读访问权限的 Model Context Protocol 服务。此服务可让大模型检查数据库架构并执行只读查询。
身份验证
此服务通过数据库 URL 进行 MySQL 身份验证。URL 格式如下:
mysql://username:password@host:port/database
示例:
- DB:
mysql://user:pass@localhost:3306/mydb
注意:请始终确保凭据得到妥善保护,不会在公开配置中暴露。
组件
工具
- query
- 对已连接的数据库执行只读 SQL 查询
- 输入:
sql(字符串):要执行的 SQL 查询 - 所有查询都在 READ ONLY 事务中执行
- 使用提供的凭据自动进行身份验证
资源
此服务为数据库中的每个表提供架构信息:
- 表架构(
mysql://<host>/<table>/schema)- 每个表的 JSON 架构信息
- 包含列名和数据类型
- 根据数据库元数据自动发现
- 使用提供的凭据进行身份验证后访问
安装
- 克隆仓库:
git clone https://github.com/yourusername/mysql-mcp-server.git
cd mysql-mcp-server
- 准备并安装依赖项:
npm run prepare
npm install
- 创建全局链接:
npm link
现在,你可以在终端的任意位置使用 mysql-mcp-server 命令:
mysql-mcp-server mysql://user:password@localhost:3306/mydb
在 Cursor 中使用
在 Cursor 中配置 MCP
-
打开 Cursor 的设置:
- 点击 Cursor 左下角的齿轮图标(⚙️)
- 或在 macOS 上按下
Shift + Cmd + J
-
配置 MCP 服务:
- 点击左侧边栏中的 “MCP”
- 点击 “Add Global MCP Server”
- 添加以下配置:
{
"mcpServers": {
"mysql": {
"command": "mysql-mcp-server",
"args": ["mysql://user:password@localhost:3306/mydb"]
}
}
}
- 保存配置:
- 点击 “Save” 或按下
Cmd + S - 重启 Cursor 以使更改生效
- 点击 “Save” 或按下
如何在 Cursor 中使用?
打开 Cursor 中的 Agentic 聊天,并开始提问与我们的数据库相关的问题,它就能获取所有上下文
安全最佳实践
-
使用环境变量存储敏感凭据:
{ "mcpServers": { "mysql": { "command": "mysql-mcp-server", "args": ["mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@host:3306/mydb"] } } } -
确保 MySQL 用户仅拥有所需的最低权限(只读访问权限)
-
使用强密码并遵循安全最佳实践
-
避免将包含凭据的配置文件提交到版本控制系统
许可证
此 MCP 服务采用 MIT License 许可。这意味着你可以自由使用、修改和分发此软件,但须遵守 MIT License 的条款和条件。有关详情,请参阅项目仓库中的 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。