MCP Server for MySQL
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
在当今数据驱动的世界中,通过自然语言与数据库交互的能力变得越来越重要。MCP Server for MySQL应运而生——它是一款强大的工具,能够弥合大型语言模型 (LLM)(例如 Claude)与 MySQL 数据库之间的鸿沟。
这项创新工具使法学硕士能够:
- 检查数据库模式
- 直接执行 SQL 查询
- 无需手动复制即可分析数据
- 通过自然语言命令执行数据库操作
无论您是希望简化数据库交互的开发人员、寻求更直观的数据查询方式的数据分析师,还是希望利用 AI 进行数据库管理的数据库管理员,MCP Server for MySQL都能提供无缝的解决方案。
什么是MCP?
MCP(模型上下文协议)是一个扩展LLM(生命周期模型)功能的框架,使其能够与外部工具和系统进行交互。在本例中,MCP Server for MySQL充当LLM和MySQL数据库之间的连接器。
主要特点
- SQL 查询执行:直接从与 Claude 的对话中向您的 MySQL 数据库发送 SQL 查询。
- 模式检查:让 Claude 无需手动解释即可理解您的数据库结构
- 数据分析:请克劳德分析您的数据库数据并提供分析结果。
- 安全特性:
- 通过预处理语句防止 SQL 注入
- 可配置的写入权限(插入、更新、删除)
- 查询白名单和速率限制功能
- 可配置的连接加密
性能特点
- 优化连接池
- 查询结果缓存
- 大型结果集流
- 查询执行计划分析
- 可配置的查询超时
用例
- 数据库探索:请克劳德解释复杂的数据库结构
- 查询生成:无需编写 SQL 代码即可请求特定数据
- 数据分析:请克劳德分析您数据库中的模式或见解
- 数据库维护:配置后,允许 Claude 帮助您更新或清理数据。
安装
MCP Server for MySQL 的入门非常简单,根据您的环境和偏好,有多种安装方法可供选择。
先决条件
- Node.js 版本 18 或更高版本
- MySQL 5.7 或更高版本(推荐使用 MySQL 8.0+)
- 具有相应权限的 MySQL 用户
安装选项
使用 Claude Desktop
对于 Claude 桌面应用程序,请将以下内容添加到您的claude_desktop_config.json文件中:
{
"mcpServers": {
"mcp_server_mysql": {
"command": "npx",
"args": [
"-y",
"@benborla29/mcp-server-mysql"
],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your_username",
"MYSQL_PASS": "your_password",
"MYSQL_DB": "your_database",
"ALLOW_INSERT_OPERATION": "false",
"ALLOW_UPDATE_OPERATION": "false",
"ALLOW_DELETE_OPERATION": "false",
"PATH": "/path/to/node/bin:/usr/bin:/bin",
"NODE_PATH": "/path/to/node/lib/node_modules"
}
}
}
}
适用于 Cursor IDE(版本:0.47+)
将此添加到您的mcp.json
{
"mcpServers": {
"MySQL": {
"command": "npx",
"args": [
"mcprunner",
"MYSQL_HOST=127.0.0.1",
"MYSQL_PORT=3306",
"MYSQL_USER=root",
"MYSQL_PASS=root",
"MYSQL_DB=demostore",
"ALLOW_INSERT_OPERATION=true",
"ALLOW_UPDATE_OPERATION=true",
"ALLOW_DELETE_OPERATION=false",
"--",
"npx",
"-y",
"@benborla29/mcp-server-mysql"
]
}
}
}
如果你的版本较低,可以使用这个。
npx mcprunner MYSQL_HOST=127.0.0.1 MYSQL_PORT=3306 MYSQL_USER=root MYSQL_PASS=root MYSQL_DB=demostore ALLOW_INSERT_OPERATION=true ALLOW_UPDATE_OPERATION=true ALLOW_DELETE_OPERATION=false -- npx -y @benborla29/mcp-server-mysql
请记住替换字符串中的值env。
您可以如何提供帮助
MCP Server for MySQL 是一个开源项目,欢迎社区贡献!如果您有兴趣帮助改进此工具,以下是一些参与方式:
为项目做出贡献
访问 GitHub 代码库https://github.com/benborla/mcp-server-mysql/以:
- 报告您遇到的错误或问题
- 提出新功能或改进建议
- 提交 pull request 以修复错误或添加新功能
- 帮助改进文档
开发环境
如果你想贡献代码:
- fork 该仓库
- 克隆你的分支:
git clone https://github.com/your-username/mcp-server-mysql.git - 安装依赖项:
npm install或pnpm install - 构建项目:
npm run build或pnpm run build - 运行测试:
npm test或pnpm test
项目路线图
团队正在积极致力于增强此 MCP 服务器的功能,例如:
- 增强了预处理语句的查询功能
- 高级安全功能
- 性能优化
- 全面监测
- 扩展模式信息
如果您能对以上任何领域做出贡献,我们将不胜感激!
通过将 Claude 等语言学习模型 (LLM) 直接连接到您的 MySQL 数据库,MCP Server for MySQL 为数据库交互和管理开辟了新的可能性。无论您是将其用于个人项目、开发工作流程还是企业应用程序,此工具都能在自然语言 AI 和结构化数据之间架起一座强大的桥梁。
立即体验,加入社区,共同塑造人工智能驱动的数据库交互的未来!
文章来源:https://dev.to/benborla/mcp-server-for-mysql-3jf1