MySQL MCP Server 配置指南:Claude Code / VS Code / OpenCode 全平台支持

5 阅读3分钟

MySQL MCP Server 配置指南:Claude Code / VS Code / OpenCode 全平台支持

简介

MySQL MCP Server 是一个基于 Model Context Protocol(MCP)的 MySQL 数据库连接器,让 AI 应用能够安全地与 MySQL 数据库交互。通过它,AI 助手可以直接查询表结构、读取数据、执行 SQL,无需你手动复制粘贴查询结果。

核心能力

  • 列出数据库中所有可用表
  • 读取表内容
  • 执行 SQL 查询(带错误处理)
  • 通过环境变量管理数据库凭据
  • 完整的日志记录

安装

方式一:pip 安装(推荐)

pip install mysql-mcp-server

建议使用虚拟环境隔离依赖:

python3 -m venv ~/mysqlmcpenv
source ~/mysqlmcpenv/bin/activate
pip install mysql-mcp-server

方式二:通过 Smithery 自动安装(仅 Claude Desktop)

npx -y @smithery/cli install mysql-mcp-server --client claude

环境变量

所有平台配置都需要以下环境变量:

变量说明是否必填
MYSQL_HOST数据库主机地址
MYSQL_PORT数据库端口否(默认 3306)
MYSQL_USER数据库用户名
MYSQL_PASSWORD数据库密码
MYSQL_DATABASE目标数据库名

平台配置

Claude Desktop

编辑 claude_desktop_config.json

{
  "mcpServers": {
    "mysql": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/mysql_mcp_server",
        "run",
        "mysql_mcp_server"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

如果你通过 pip 安装在虚拟环境中,也可以直接指向 venv:

{
  "mcpServers": {
    "mysql": {
      "command": "/Users/你的用户名/mysqlmcpenv/bin/mysql_mcp_server",
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

VS Code

编辑 .vscode/mcp.json

{
  "servers": {
    "mysql": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "mysql-mcp-server", "mysql_mcp_server"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "your_username",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

OpenCode

OpenCode 的 MCP 配置格式与 Claude Desktop / VS Code 有所不同,需要注意以下差异:

字段Claude DesktopVS CodeOpenCode
外层 keymcpServersserversmcp
命令"command": 字符串"command": 字符串"command": 数组
参数"args": 单独字段"args": 单独字段合并到 command 数组
环境变量"env""env""environment"
类型声明不需要"type": "stdio""type": "local"
启用控制不支持不支持"enabled": true/false

编辑项目根目录的 opencode.json

使用 pip 虚拟环境安装(推荐用于固定环境)

先创建虚拟环境并安装:

python3 -m venv ~/mysqlmcpenv
source ~/mysqlmcpenv/bin/activate
pip install mysql-mcp-server

然后在 opencode.json 中配置,直接指向 venv 的入口脚本:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mysql": {
      "type": "local",
      "command": ["/Users/你的用户名/mysqlmcpenv/bin/mysql_mcp_server"],
      "environment": {
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      },
      "enabled": true
    }
  }
}

注意command 中必须使用绝对路径~ 可能无法正确展开。如果入口脚本不存在,可以用 python -m 方式代替:

"command": ["/Users/你的用户名/mysqlmcpenv/bin/python", "-m", "mysql_mcp_server"]

可选:预授权 MCP 工具调用

opencode.jsonpermission 中添加,省去每次调用时的手动确认:

{
  "permission": {
    "mysql_query": "allow",
    "mysql_list_tables": "allow",
    "mysql_describe_table": "allow"
  }
}

安全建议

  • 创建专用的 MySQL 用户,授予最小必要权限,避免使用 root
  • 限制数据库访问范围,仅开放必需的表
  • 不要将包含真实密码的配置文件提交到版本控制(建议加入 .gitignore
  • 定期审查数据库访问日志

调试

如果 MCP Server 无法正常连接,可以用 MCP Inspector 进行调试:

cd path/to/mysql_mcp_server
pip install -r requirements.txt
# 使用 MCP Inspector 测试

也可以在终端手动验证 MCP Server 是否能启动:

# uvx 方式
uvx --from mysql-mcp-server mysql_mcp_server

# venv 方式
/Users/你的用户名/mysqlmcpenv/bin/mysql_mcp_server

如果看到进程正常启动并等待 stdin 输入(没有报错退出),说明安装和配置没有问题。

参考链接