本项目提供了一个使用 Model Context Protocol (MCP) 与 MySQL 数据库进行交互的服务器,专门为 WSL 环境中的 MySQL 数据库提供便捷接口,助力开发者高效操作数据库。
本服务器可帮助你通过 MCP 协议与 MySQL 数据库进行交互。按照以下步骤操作,即可快速开启服务。
git clone
cd mysql_mcp_server
python -m venv .venv
source .venv/bin/activate # Linux 系统
pip install -r requirements.txt .
chmod +x setup.sh
./setup.sh
可以使用以下任意一种方式运行服务器:
./run_direct.sh
./run_module.sh
# 构建 Docker 镜像
docker build -t mysql-mcp-server:latest .
# 运行容器
./run_docker.sh
服务器使用以下环境变量连接 MySQL:
| 属性 | 详情 |
|---|---|
MYSQL_HOST |
MySQL 服务器的主机(默认: host.docker.internal) |
MYSQL_PORT |
MySQL 服务器的端口(默认: 13306) |
MYSQL_USER |
MySQL 用户名 |
MYSQL_PASSWORD |
MySQL 密码 |
MYSQL_DATABASE |
使用的数据库名称 |
此服务器实现 MCP 协议,并提供以下端点:
list_resources:获取数据库中的表列表read_resource:从特定表中读取数据list_tools:列出可用工具execute_query:执行 SQL 查询在 WSL 环境下运行时,需注意文件路径和网络配置。请参考文档中的 WSL 部分以获取更多信息。
src/mysql_mcp_server/
├── __init__.py # 包初始化文件
├── config/ # 配置相关模块
│ ├── __init__.py
│ └── settings.py # 数据库配置
├── database/ # 数据库操作模块
│ ├── __init__.py
│ ├── connection.py # 数据库连接处理
│ └── errors.py # 错误类
├── tools/ # 工具模块
│ ├── __init__.py
│ └── sql_tools.py # SQL 执行工具
└── server.py # MCP 服务器主文件
pip install nox
nox -s test
nox -s format
nox -s lint
pytest tests/
pytest --cov=src.mysql_mcp_server tests/
此项目在 MIT 许可证下开源。