使用说明
MySQL架构MCP服务器
这是一个模型上下文协议(MCP)服务器,为MySQL数据库提供压缩的模式信息。 当您使用的是大型数据库模式,导致模式转储文件不符合上下文大小时,此MCP服务器非常有用。
https://github.com/user-attachments/assets/0cecef84-cd70-4f84-95cb-01c6ec7c9ac7
提供的工具
- 列表表格(
list_tables)- 列出指定数据库中的所有表信息。包括表名、注释、主键、唯一键和外键信息。
- 参数
dbName:要从中检索信息的数据库的名称(设置DB_name环境变量时不需要)
- 描述表格(
describe_tables)- 显示指定数据库中特定表的详细信息。提供格式化信息,如列定义、键约束和索引。
- 参数
dbName:要从中检索信息的数据库的名称(设置DB_name环境变量时不需要)tableNames:用于检索详细信息的表名数组
快速开始
-
配置mcp.json
{ "mcpServers": { "mysql-schema-explorer-mcp": { "command": "docker", "args": ["run", "-i", "--rm", "--pull", "always", "--network=host", "-e", "DB_HOST=127.0.0.1", "-e", "DB_PORT=3306", "-e", "DB_USER=root", "-e", "DB_PASSWORD=your_password", "ghcr.io/shibayu36/mysql-schema-explorer-mcp:latest" ] } } }如果使用克劳德代码:
claude mcp add mysql-schema-explorer-mcp -- docker run -i --rm --pull always --network=host \ -e DB_HOST=127.0.0.1 \ -e DB_USER=root \ -e DB_PASSWORD=your_password \ -e DB_PORT=3306 \ ghcr.io/shibayu36/mysql-schema-explorer-mcp:latest -
使用代理执行SQL生成
示例:使用ecshop数据库的结构,列出用户shibayu36最近订购的3个产品的名称。
用法
修复到特定数据库
当只访问一个数据库时,您可以设置 DB_NAME 环境变量,以避免每次指定数据库名称。
{
"mcpServers": {
"mysql-schema-explorer-mcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "--network=host",
"-e", "DB_HOST=127.0.0.1",
"-e", "DB_PORT=3306",
"-e", "DB_USER=root",
"-e", "DB_PASSWORD=your_password",
"-e", "DB_NAME=ecshop",
"ghcr.io/shibayu36/mysql-schema-explorer-mcp:latest"
]
}
}
}
使用二进制而不是Docker
如果你有一个Go开发环境,你也可以直接安装和使用二进制文件。
-
安装命令
go install github.com/shibayu36/mysql-schema-explorer-mcp@latest -
配置mcp.json
{ "mcpServers": { "mysql-schema-explorer-mcp": { "command": "/path/to/mysql-schema-explorer-mcp", "env": { "DB_HOST": "127.0.0.1", "DB_PORT": "3306", "DB_USER": "root", "DB_PASSWORD": "your_password" } } } }