这是一个提供只读MySQL数据库查询的Model Context Protocol (MCP)服务器,适用于AI助手。执行查询、探索数据库结构并直接从您的AI工具中调查数据。
<a href="https://glama.ai/mcp/servers/@devakone/mysql-query-mcp-server"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=1950017583,4032760955&fm=3081&app=33081&f=PNG?w=760&h=400" alt="MySQL 查询服务器 MCP 服务器" /> </a>此MCP服务器与支持Model Context Protocol的任何工具兼容,包括:
.cursor/mcp.json中设置此工具专门用于通过只读查询进行数据调查和探索。它不适用于数据库管理、模式管理和数据修改。

# 全局安装
npm install -g mysql-query-mcp-server
# 或直接运行
npx mysql-query-mcp-server
创建或编辑您的MCP配置文件(例如,Cursor IDE中的.cursor/mcp.json):
基本配置:
{
"mysql": {
"name": "MySQL 查询 MCP",
"description": "通过MCP访问MySQL只读查询",
"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": "<YOUR_LOCAL_DB_PASSWORD>",
"LOCAL_DB_NAME": "your_database",
"LOCAL_DB_PORT": "3306",
"DEVELOPMENT_DB_HOST": "dev.example.com",
"DEVELOPMENT_DB_USER": "<DEV_USER>",
"DEVELOPMENT_DB_PASS": "<DEV_PASSWORD>",
"DEVELOPMENT_DB_NAME": "your_database",
"DEVELOPMENT_DB_PORT": "3306",
"STAGING_DB_HOST": "staging.example.com",
"STAGING_DB_USER": "<STAGING_USER>",
"STAGING_DB_PASS": "<STAGING_PASSWORD>",
"STAGING_DB_NAME": "your_database",
"STAGING_DB_PORT": "3306",
"PRODUCTION_DB_HOST": "prod.example.com",
"PRODUCTION_DB_USER": "<PRODUCTION_USER>",
"PRODUCTION_DB_PASS": "<PRODUCTION_PASSWORD>",
"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助手一起工作。
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| DEBUG | 启用调试日志 | 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_UNAUTHORIZED | 验证SSL证书 | true |
您的AI助手可以通过MCP服务器与MySQL数据库交互。以下是一些示例:
示例查询:
能否使用查询工具显示数据库中的前10个用户?使用本地环境。
我需要分析我们的销售数据。能否运行SQL查询以获取上个月每个地区的总销售额,从开发数据库中?
能否使用info工具检查在测试数据库中有哪些表?
能否列出我们已配置的所有可用数据库环境?
MySQL查询MCP服务器提供了三个主要工具,您的AI助手可以使用它们:
针对特定环境执行只读SQL查询:
使用query工具运行:
SELECT * FROM customers WHERE signup_date > '2023-01-01' LIMIT 10;
在开发环境中
获取有关数据库的详细信息:
使用info工具检查我们的生产数据库状态。
列出配置文件中的所有已配置环境:
使用environments工具显示有哪些可用的数据库环境。
MySQL查询MCP服务器提供了三个主要工具:
执行只读SQL查询:
-- 使用query工具运行的示例查询
SELECT * FROM users LIMIT 10;
支持的查询类型(严格限制为):
获取有关数据库的详细信息:
列出配置文件中的所有已配置环境:
使用environments工具显示有哪些可用的数据库环境。
如果您遇到连接问题:
错误:没有可用的连接池环境
错误:查询执行失败
对于更详细的故障排除,请参阅Troubleshooting Guide。
对于如何与AI助手集成的示例,请参阅Integration Examples。
关于MCP协议实现细节,请参阅MCP README。
欢迎贡献!请随时提交Pull Request。
该项目使用GitHub Actions进行持续集成和自动化发布。
CI/CD管道由以下部分组成:
构建和测试:每次向main和develop分支推送代码以及对这些分支的拉取请求时运行
发布:当更改被推送到main分支并且构建/测试作业成功时运行
release-please管理版本提升和变更日志更新项目遵循语义化版本控制:
提交应遵循常规提交格式:
feat: 添加新功能 - 次版本提升fix: 解决错误 - 补丁版本提升docs: 更新文档 - 不提升版本chore: 更新依赖项 - 不提升版本BREAKING CHANGE: 更改API - 主版本提升当您推送到main时,release-please将分析提交并自动创建或更新带有适当版本提升和变更日志条目的发布PR。
本项目根据MIT许可证授权 - 详情请参阅LICENSE文件。
Abou Koné - 工程负责人和CTO
如需更多信息或支持,请在GitHub仓库中打开一个问题。