BridgeMysqlMcpServer
一个模型上下文协议(MCP)实现,能够安全地与MySQL数据库进行交互。该服务器组件促进了AI应用程序和MySQL数据库之间的通信,通过受控接口使数据库的探索和分析更加安全和结构化。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mysql": {
"args": [
"--directory",
"path/to/mysql_mcp_server",
"run",
"mysql_mcp_server"
],
"command": "uv",
"env": {
"MYSQL_DATABASE": "your_database",
"MYSQL_HOST": "localhost",
"MYSQL_PASSWORD": "your_password",
"MYSQL_PORT": "3306",
"MYSQL_USER": "your_username"
}
}
}
}
该服务需要配置环境变量:MYSQL_DATABASE、MYSQL_HOST、MYSQL_PASSWORD、MYSQL_PORT、MYSQL_USER
服务介绍
MySQL MCP 服务器
一个实现了模型上下文协议(MCP)的服务器,用于与MySQL数据库进行安全交互。该服务器组件促进了AI应用程序(主机/客户端)与MySQL数据库之间的通信,通过受控接口使数据库的探索和分析更加安全和结构化。
注意:MySQL MCP 服务器并不是设计为独立运行的服务器,而是作为AI应用程序与MySQL数据库之间通信协议的实现。
特性
- 列出可用的MySQL表作为资源
- 读取表内容
- 执行带有适当错误处理的SQL查询
- 通过环境变量实现安全的数据库访问
- 全面的日志记录
配置
设置以下环境变量:
bash
MYSQL_HOST=localhost # 数据库主机
MYSQL_PORT=3306 # 可选:数据库端口(如果未指定,默认为3306)
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database
使用
在Claude Desktop中使用
在你的claude_desktop_config.json文件中添加以下内容:
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"
}
}
}
}
在Visual Studio Code中使用
在你的mcp.json文件中添加以下内容:
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"
}
}
}
}
注意:需要安装uv才能使其工作
使用MCP Inspector调试
虽然MySQL MCP 服务器不是设计为独立运行或直接从命令行用Python运行的,但你可以使用MCP Inspector来调试它。
MCP Inspector提供了一种方便的方式来测试和调试你的MCP实现:
bash
安装依赖
pip install -r requirements.txt
使用MCP Inspector进行调试(不要直接用Python运行)
MySQL MCP 服务器是为与像Claude Desktop这样的AI应用程序集成而设计的,不应直接作为独立的Python程序运行。
开发
bash
克隆仓库
git clone https://github.com/DaoLiLong/bridge_mysql_mcp_server.git
cd mysql_mcp_server
创建虚拟环境
python -m venv venv
source venv/bin/activate # 或者在Windows上使用 venv\Scripts\activate
安装开发依赖
pip install -r requirements-dev.txt
运行测试
pytest
Windows版
创建虚拟环境目录
python -m venv .venv
使用当前项目下.venv虚拟环境中的pip工具,从阿里云的镜像源下载并安装requirements.txt文件中列出的所有依赖包。
..venv\Scripts\pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
Mac版
创建虚拟环境目录
python -m venv .venv
激活当前目录下的 Python 虚拟环境
source .venv/bin/activate
使用当前项目下.venv虚拟环境中的pip工具,从阿里云的镜像源下载并安装requirements.txt文件中列出的所有依赖包。
./.venv/bin/pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
创建MCP MySQL连接
命令 Windows版
BridgeMysqlMcpServer的python项目地址.venv\Scripts\python.exe
命令 Mac版
BridgeMysqlMcpServer的python项目地址/.venv/bin/python### 参数 windows版
BridgeMysqlMcpServer的python项目地址\src\mysql_mcp_server\server.py --transport stdio
参数 mac版
BridgeMysqlMcpServer的python项目地址/server.py --transport stdio
安全注意事项
- 永远不要提交环境变量或凭据
- 使用具有最小必要权限的数据库用户
- 考虑在生产环境中实施查询白名单
- 监控并记录所有数据库操作
安全最佳实践
此MCP实现需要数据库访问才能运行。为了安全:
- 创建一个具有最小权限的专用MySQL用户
- 永远不要使用root凭据或管理账户
- 限制数据库访问仅限于必要的操作
- 启用日志记录以供审计
- 定期进行数据库访问的安全审查