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 Desktop | VS Code | OpenCode |
|---|---|---|---|
| 外层 key | mcpServers | servers | mcp |
| 命令 | "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.json 的 permission 中添加,省去每次调用时的手动确认:
{
"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 输入(没有报错退出),说明安装和配置没有问题。