MySQL模式MCP服务器

一个提供MySQL数据库压缩模式信息的MCP服务器,适用于大型数据库模式无法适应上下文大小的情况。

  • by shibayu36
  • Go
  • 本地部署
  • 22 星标
  • 更新于
在 GitHub 查看 shibayu36/mysql-schema-explorer-mcp

使用说明

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:用于检索详细信息的表名数组

快速开始

  1. 配置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
    
  2. 使用代理执行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开发环境,你也可以直接安装和使用二进制文件。

  1. 安装命令

    go install github.com/shibayu36/mysql-schema-explorer-mcp@latest
    
  2. 配置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"
          }
        }
      }
    }