MySQL Database Access MCP Server
未知
概述
MySQL MCP 服务器提供对 MySQL 数据库的安全只读访问,支持查询数据、列出表和描述表结构,同时防止数据修改。
安装和配置
安装选项
# 全局安装(推荐)
npm install -g mysql-mcp-server
# 或项目本地安装
npm install mysql-mcp-server
环境变量配置
服务器需要以下环境变量:
MYSQL_HOST
- 数据库主机MYSQL_PORT
- 端口 (默认: 3306)MYSQL_USER
- 用户名MYSQL_PASSWORD
- 密码MYSQL_DATABASE
- 默认数据库 (可选)
MCP 配置示例
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["mysql-mcp-server"],
"env": {
"MYSQL_HOST": "your-mysql-host",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your-mysql-user",
"MYSQL_PASSWORD": "your-mysql-password",
"MYSQL_DATABASE": "your-default-database"
},
"disabled": false,
"autoApprove": []
}
}
}
可用工具和用法
列出数据库
{
"server_name": "mysql",
"tool_name": "list_databases",
"arguments": {}
}
列出表
{
"server_name": "mysql",
"tool_name": "list_tables",
"arguments": {
"database": "my_database" // 可选
}
}
描述表结构
{
"server_name": "mysql",
"tool_name": "describe_table",
"arguments": {
"database": "my_database", // 可选
"table": "my_table" // 必填
}
}
执行查询
{
"server_name": "mysql",
"tool_name": "execute_query",
"arguments": {
"database": "my_database", // 可选
"query": "SELECT * FROM my_table LIMIT 10" // 必填,仅允许只读操作
}
}
安全特性
- 只读访问:仅允许 SELECT、SHOW、DESCRIBE 和 EXPLAIN 语句
- 查询验证:防止 SQL 注入和数据修改尝试
- 查询超时:防止长时间运行的查询
- 行数限制:防止返回过多数据
故障排除
如果遇到问题:
- 检查服务器日志错误信息
- 验证 MySQL 连接详情和凭据
- 确保 MySQL 用户有适当权限
- 确认查询是只读且格式正确