MySQL 数据库访问 MCP 服务器
此 MCP 服务器提供对 MySQL 数据库的只读访问权限。它允许您:
- 列出可用的数据库 
- 列出数据库中的表 
- 描述表模式 
- 执行只读 SQL 查询 
安全功能
- 只读访问:仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句 
- 查询验证:防止 SQL 注入并阻止任何数据修改尝试 
- 查询超时:防止长时间运行的查询消耗资源 
- 行限制:防止返回过多的数据 
安装
1. 使用以下方法之一进行安装:
从 NPM 安装
从源代码构建
通过 Smithery 安装
要通过Smithery自动为 Claude AI 安装 MySQL 数据库访问 MCP 服务器:
2.配置环境变量
服务器需要以下环境变量:
- MYSQL_HOST:数据库服务器主机名
- MYSQL_PORT:数据库服务器端口(默认值:3306)
- MYSQL_USER:数据库用户名
- MYSQL_PASSWORD:数据库密码(可选,但建议用于安全连接)
- MYSQL_DATABASE:默认数据库名称(可选)
3. 添加到 MCP 设置
将以下配置添加到您的 MCP 设置文件:
如果您通过 npm 安装(选项 1):
如果您从源代码构建(选项 2):
可用工具
列出数据库
列出 MySQL 服务器上所有可访问的数据库。
参数:无
例子:
列表表
列出指定数据库中的所有表。
参数:
- database(可选):数据库名称(如果未指定则使用默认值)
例子:
描述表
显示特定表的模式。
参数:
- database(可选):数据库名称(如果未指定则使用默认值)
- table(必填):表名
例子:
执行查询
执行只读 SQL 查询。
参数:
- query(必需):SQL 查询(仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句)
- database(可选):数据库名称(如果未指定则使用默认值)
例子:
高级连接池配置
为了更好地控制 MySQL 连接池行为,您可以配置其他参数:
这些高级选项允许您:
- MYSQL_CONNECTION_LIMIT:控制池中的最大连接数(默认值:10)
- MYSQL_QUEUE_LIMIT:设置排队的最大连接请求数(默认值:0,无限制)
- MYSQL_CONNECT_TIMEOUT:以毫秒为单位调整连接超时(默认值:10000)
- MYSQL_IDLE_TIMEOUT:配置连接在释放之前可以空闲多长时间(以毫秒为单位)
- MYSQL_MAX_IDLE:设置池中保留的最大空闲连接数
测试
该服务器包含测试脚本,用于验证 MySQL 设置的功能:
1. 设置测试数据库
该脚本创建测试数据库、表和示例数据:
2. 测试 MCP 工具
此脚本针对测试数据库测试每个 MCP 工具:
3. 运行所有测试
要运行设置和工具测试:
故障排除
如果您遇到问题:
- 检查服务器日志中的错误消息 
- 验证您的 MySQL 凭据和连接详细信息 
- 确保您的 MySQL 用户具有适当的权限 
- 检查您的查询是否为只读且格式正确 
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
Related MCP Servers
- -security-license-qualityAn MCP server that integrates with MySQL databases, enabling secure read and write operations through LLM-driven interfaces with support for transaction handling and performance monitoring.Last updated -8717MIT License
- -security-license-qualityA Model Context Protocol server providing read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.Last updated -11MIT License
- -security-license-qualityA Model Context Protocol server providing read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.Last updated -2881
- -security-license-qualityAn MCP server that allows working with MySQL databases by providing tools for executing read-only SQL queries, getting table schemas, and listing database tables.Last updated -3114