mcp_mysql_server_pro 不仅支持 MySQL 的 CRUD 操作,还包含了数据库异常分析能力,并且让开发者能够轻松地通过自定义工具进行扩展。
"readonly": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN"], # 只读权限
"writer": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE"], # 读写权限
"admin": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE",
"CREATE", "ALTER", "DROP", "TRUNCATE"] # 管理员权限
| 工具名称 | 描述 | 基于以上信息,请执行以下指令:您是一位负责将中文内容翻译成英文的专业翻译人员。请帮我翻译原始内容 一个可以执行 ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER", "DROP", "TRUNCATE"] 命令的 SQL 执行工具,基于权限配置 将中文字段名转换为拼音首字母 get_db_health_running | 分析 MySQL 健康状态(连接状态、事务状态、运行状态、锁状态检测) | get_table_desc | 根据表名在数据库中搜索表结构,支持多表查询 | | get_table_index | 根据表名在数据库中搜索表索引,支持多表查询 | get_table_lock | 检查当前 MySQL 服务器是否存在行级锁或表级锁 根据表注释和描述在数据库中搜索表名。 获取当前连接的 MySQL 数据库的索引使用情况,包括冗余索引情况、性能不佳的索引情况以及查询时间大于30秒的前5个未使用的索引情况。 Optimize_SQL 是一款专业的 SQL 性能优化工具,基于 MySQL 执行计划、表结构信息、表数据量和表索引提供专家优化建议。 | use_prompt_queryTableData | 使用内置提示让模型构建 mcp 中的工具链调用(不是一个常用的固定工具,需要修改代码才能启用,详见此类的说明)
| 提示名称 | 描述 | 基于以上信息,以下是原始内容的翻译: | analyzing-mysql-prompt | 这是一个用于分析 MySQL 相关问题的提示 | 这是一个用于通过工具查询表数据的提示。如果描述为空,则初始化为 MySQL 数据库查询助手。
pip install mysql_mcp_server_pro
.env 文件:# MySQL 数据库配置
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database
# 可选,默认值为 'readonly'。可用值:readonly、writer、admin
MYSQL_ROLE=readonly
# SSE 模式
mysql_mcp_server_pro --mode sse --envfile /path/to/.env
## 可流式 HTTP 模式(默认)
mysql_mcp_server_pro --envfile /path/to/.env
# 可流式 HTTP OAuth 认证
mysql_mcp_server_pro --oauth true
前往查看“使用 uv 启动服务” ^_^
注意:
.env 文件应放置在您运行命令的目录中,或者使用 --envfile 参数指定路径。{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql_mcp_server_pro",
"mysql_mcp_server_pro",
"--mode",
"stdio"
],
"env": {
"MYSQL_HOST": "192.168.x.xxx",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASSWORD": "root",
"MYSQL_DATABASE": "a_llm",
"MYSQL_ROLE": "admin"
}
}
}
}
在您的 mcp 客户端工具中添加以下内容,如 cursor、cline 等。
原始内容如下:
{
"mcpServers": {
"mysql_mcp_server_pro": {
"name": "mysql_mcp_server_pro",
"type": "streamableHttp",
"description": "",
"isActive": true,
"url": "http://localhost:3000/mcp/"
}
}
}
修改 .env 文件内容以更新数据库连接信息,使用您的数据库详情:
# MySQL 数据库配置
MYSQL_HOST=192.168.xxx.xxx
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_DATABASE=a_llm
MYSQL_ROLE=admin
启动命令:
# 下载依赖
uv sync
# 启动
uv run -m mysql_mcp_server_pro.server
# 自定义 env 文件位置
uv run -m mysql_mcp_server_pro.server --envfile /path/to/.env
# OAuth 认证
uv run -m mysql_mcp_server_pro.server --oauth true
在您的 MCP 客户端工具中添加以下内容,如 cursor、cline 等。
原始内容是英文,目标语言也是英文。由于原始内容已经是英文,因此翻译保持不变。以下是原始内容的翻译(与原文相同):
{
"mcpServers": {
"mysql_mcp_server_pro": {
"name": "mysql_mcp_server_pro",
"description": "",
"isActive": true,
"url": "http://localhost:9000/sse"
}
}
}
修改 .env 文件内容以更新数据库连接信息,使用您的数据库详情:
# MySQL 数据库配置
MYSQL_HOST=192.168.xxx.xxx
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_DATABASE=a_llm
MYSQL_ROLE=admin
启动命令:
# 下载依赖
uv sync
# 启动
uv run -m mysql_mcp_server_pro.server --mode sse
# 自定义 env 文件位置
uv run -m mysql_mcp_server_pro.server --mode sse --envfile /path/to/.env
在您的 mcp 客户端工具中添加以下内容,如 cursor、cline 等。
这里是原始内容的翻译:
{
"mcpServers": {
"operateMysql": {
"isActive": true,
"name": "operateMysql",
"command": "uv",
"args": [
"--directory",
"/Volumes/mysql_mcp_server_pro/src/mysql_mcp_server_pro", # 替换为您自己的项目路径
"run",
"-m",
"mysql_mcp_server_pro.server",
"--mode",
"stdio"
],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASSWORD": "123456",
"MYSQL_DATABASE": "a_llm",
"MYSQL_ROLE": "admin"
}
}
}
}
在 handles 包中添加一个新的工具类,继承自 BaseHandler,并实现 get_tool_description 和 run_tool 方法
在 init.py 中导入新工具,使其在服务器中可用
uv run -m mysql_mcp_server_pro.server --oauth true
访问 http://localhost:3000/login 的认证服务。默认用户名和密码配置在 env 文件中。
复制令牌并将其添加到请求头中,例如:
{
"mcpServers": {
"mysql_mcp_server_pro": {
"name": "mysql_mcp_server_pro",
"type": "streamableHttp",
"description": "",
"isActive": true,
"url": "http://localhost:3000/mcp/",
"headers": {
"authorization": "bearer TOKEN_VALUE"
}
}
}
}
# 任务
创建一个组织结构表,具有以下结构:部门名称、部门编号、上级部门、是否有效。
# 要求
- 表名:department
- 公共字段需要索引
- 每个字段都需要注释,表需要注释
- 创建后生成5条真实数据记录
在部门组织结构表中查找部门名称为 'Executive Office' 的数据
select * from t_jcsjzx_hjkq_cd_xsz_sk xsz
left join t_jcsjzx_hjkq_jcd jcd on jcd.cddm = xsz.cddm
基于当前索引情况,审查执行计划并以 Markdown 格式提供优化建议,包括表索引状态、执行细节和优化建议
update t_admin_rms_zzjg set sfyx = '0' where xh = '1' 卡住,请分析原因
检查当前 MySQL 的健康状态