MySQL查询MCP服务器
](https://www.npmjs.com/package/mysql-query-mcp-server) 
一种模型上下文协议(MCP)服务器,提供 只读的 用于AI助手的MySQL数据库查询。执行查询,探索数据库结构,并直接从AI驱动的工具中调查您的数据。
支持的AI工具
此MCP服务器可与支持模型上下文协议的任何工具配合使用,包括:
- 光标IDE:设置在
.cursor/mcp.json - 人物克劳德:与兼容的MCP客户端一起使用
- 其他与MCP兼容的AI助手:遵循工具的MCP配置说明
功能和限制
它做什么
- ✅ 执行 只读的 MySQL查询(仅限SELECT、SHOW、DESCRIBE)
- ✅ 使用预定义的环境(本地、开发、暂存、生产)
- ✅ 提供数据库信息和元数据
- ✅ 列出可用的数据库环境
- ✅ 支持SSL连接以实现安全的数据库访问
- ✅ 实现查询超时以防止长时间运行的操作
它不做什么
- ❌ 执行写操作(INSERT、UPDATE、DELETE、CREATE、ALTER等)
- ❌ 支持自定义环境名称(仅限于本地、开发、暂存、生产)
- ❌ 提供数据库设计或模式生成功能
- ❌ 作为一个完整的数据库管理工具
此工具是专门为 数据调查与勘探 通过只读查询。它不用于数据库管理、模式管理或数据修改。

快速安装
# Install globally with npm
npm install -g mysql-query-mcp-server
# Or run directly with npx
npx mysql-query-mcp-server安装说明
配置您的AI工具以使用MCP服务器
创建或编辑您的MCP配置文件(例如。, .cursor/mcp.json 对于游标IDE):
基本配置:
{
"mysql": {
"name": "MySQL Query MCP",
"description": "MySQL read-only query access through MCP",
"type": "bin",
"enabled": true,
"bin": "mysql-query-mcp"
}
}具有数据库凭据的全面配置:
{
"mysql": {
"command": "npx",
"args": ["mysql-query-mcp-server@latest"],
"env": {
"LOCAL_DB_HOST": "localhost",
"LOCAL_DB_USER": "root",
"LOCAL_DB_PASS": "",
"LOCAL_DB_NAME": "your_database",
"LOCAL_DB_PORT": "3306",
"DEVELOPMENT_DB_HOST": "dev.example.com",
"DEVELOPMENT_DB_USER": "",
"DEVELOPMENT_DB_PASS": "",
"DEVELOPMENT_DB_NAME": "your_database",
"DEVELOPMENT_DB_PORT": "3306",
"STAGING_DB_HOST": "staging.example.com",
"STAGING_DB_USER": "",
"STAGING_DB_PASS": "",
"STAGING_DB_NAME": "your_database",
"STAGING_DB_PORT": "3306",
"PRODUCTION_DB_HOST": "prod.example.com",
"PRODUCTION_DB_USER": "
",
"PRODUCTION_DB_PASS": "
",
"PRODUCTION_DB_NAME": "your_database",
"PRODUCTION_DB_PORT": "3306",
"DEBUG": "false",
"MCP_MYSQL_SSL": "true",
"MCP_MYSQL_REJECT_UNAUTHORIZED": "false"
}
}
}选择正确的配置方法
配置MySQL MCP服务器有两种方法:
- 二进制配置 (
type: "bin",bin: "mysql-query-mcp")
- 何时使用:全局安装软件包时(npm install -g mysql-query-mcp-server) - 优点:配置更简单 - 缺点:需要全局安装
- 命令配置 (
command: "npx",args: ["mysql-query-mcp-server@latest"])
- 何时使用:当您想使用最新版本而不全局安装时 - 优点:不需要全局安装,所有配置都在一个文件中 - 缺点:更复杂的配置
选择最适合您工作流程的方法。这两种方法都可以与支持MCP的任何AI助手正常工作。
重要配置说明
- 您必须使用完整的环境名称:LOCAL\_、DEVELOPMENT\_、STAGING\_、PRODUCTION\_
- DEV_或PROD_等缩写不起作用
- DEBUG、MCP_MYSQL_SSL等全局设置适用于所有环境
- 必须至少配置一个环境(通常为“本地”)
- 您只需配置计划使用的环境
- 出于安全原因,考虑使用环境变量或安全凭据存储作为生产凭据
配置选项
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| 调试 | 启用调试日志记录 | false |
| \[ENV\]\_DB_HOST | 环境数据库主机 | - |
| \[ENV\]\_DB_USER | 数据库用户名 | - |
| \[ENV\]\_DB_PASS | 数据库密码 | - |
| \[ENV\]\_DB_NAME | 数据库名称 | - |
| \[ENV\]\_DB_PORT | 数据库端口 | 3306 |
| \[ENV\]\_DB_SSL | 启用SSL连接 | false |
| MCP_MYSQL_SSL | 为所有连接启用SSL | false |
| MCP_MYSQL_REJECT_UNAUTRIZED | 验证SSL证书 | true |
与AI助手集成
您的AI助手可以通过MCP服务器与MySQL数据库进行交互。以下是一些示例:
示例查询:
Can you use the query tool to show me the first 10 users from the database? Use the local environment.I need to analyze our sales data. Can you run a SQL query to get the total sales per region for last month from the development database?Can you use the info tool to check what tables are available in the staging database?Can you list all the available database environments we have configured?使用MySQL MCP工具
MySQL Query MCP服务器提供了您的AI助手可以使用的三个主要工具:
1.查询
对特定环境执行只读SQL查询:
Use the query tool to run:
SELECT * FROM customers WHERE signup_date > '2023-01-01' LIMIT 10;
on the development environment2.信息
获取有关数据库的详细信息:
Use the info tool to check the status of our production database.3.环境
列出配置中的所有已配置环境:
Use the environments tool to show me which database environments are available.可用工具
MySQL查询MCP服务器提供三个主要工具:
1.查询
执行只读SQL查询:
-- Example query to run with the query tool
SELECT * FROM users LIMIT 10;支持的查询类型(严格限于):
- SELECT语句
- 显示命令
- 描述/描述表
2.信息
获取有关数据库的详细信息:
- 服务器版本
- 连接状态
- 数据库变量
- 流程列表
- 可用数据库
3.环境
列出配置中的所有已配置环境:
Use the environments tool to show me which database environments are available.安全考虑
- ✅ 只允许只读查询(SELECT、SHOW、DESCRIBE)
- ✅ 每个环境都有自己的隔离连接池
- ✅ 生产环境支持SSL连接
- ✅ 查询超时可防止操作失控
- ⚠️ 考虑对数据库凭据使用安全凭据管理
故障排除
连接问题
如果您在连接时遇到问题:
- 在MCP配置中验证数据库凭据
- 确保MySQL服务器正在运行且可访问
- 检查阻止连接的防火墙规则
- 通过在配置中设置debug=true来启用调试模式
常见错误
错误:环境没有可用的连接池
- 确保您已为该环境定义了所有必需的环境变量
- 检查您是否使用了支持的环境名称之一(本地、开发、暂存、生产)
错误:查询执行失败
- 验证您的SQL语法
- 检查您是否只使用支持的查询类型(SELECT、SHOW、DESCRIBE)
- 确保您的查询是真正只读的
有关更全面的故障排除,请参阅 故障排除指南.
有关如何与AI助手集成的示例,请参阅 集成示例.
有关MCP协议的实现详细信息,请参阅 MCP自述文件.
贡献
欢迎投稿!请随时提交拉取请求。
CI/CD和发布流程
该项目使用GitHub Actions进行持续集成和自动发布。
CI/CD工作流程
CI/CD管道由以下部分组成:
- 构建和测试:每次按下都会运行
main和develop分支,以及对这些分支的拉取请求
- 使用Node.js 16.x和18.x测试代码库 - 确保包正确构建 - 验证所有测试是否通过
- 发布:将更改推送到时运行
main分支,构建/测试作业成功
- 用途 release-please 管理版本冲突和更改日志更新 - 根据常规提交创建包含版本更改的发布PR - 合并发布PR时自动发布到npm
发布过程
项目如下 语义版本控制:
- 主要版本:突破性更改(不向后兼容)
- 次要版本:新功能(向后兼容)
- 补丁版本:Bug修复和细微改进
承诺应遵循 常规承诺 格式:
feat: add new feature-小版本碰撞fix: resolve bug-补丁版本碰撞docs: update documentation-无版本冲突chore: update dependencies-无版本冲突BREAKING CHANGE: change API-主要版本碰撞
当你推 main, release-please 将分析提交,并自动创建或更新带有适当版本更新和变更日志条目的发布PR。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
作者
Abou Koné -工程负责人兼CTO
______________________________________________________________________
如需更多信息或支持,请 打开一个问题 在GitHub存储库上。

