
🐳 MCP MySQL Server (Dockerized)

2025.04.16
0
Python数据库服务MySQL 管理数据库
pysql_mcp 是一个基于 Docker 容器化的 MCP (Model Context Protocol) 服务器,使用 Python、FastMCP 和 MySQL 构建。它提供了通过 MCP 工具运行 SQL 查询、获取表结构以及列出 MySQL 数据库中所有表的功能。
View on GitHub
Overview
基本能力
产品定位
pysql_mcp 是一个容器化的 MySQL 数据库服务,通过 MCP 协议提供数据库查询和管理功能。
核心功能
- 通过 MCP 工具运行 SQL 查询
- 获取表结构信息
- 列出连接的 MySQL 数据库中的所有表
- 使用 Docker 容器化,便于部署
适用场景
- 需要快速部署 MySQL 数据库服务的场景
- 需要通过 MCP 协议访问 MySQL 数据库的场景
- 开发环境中需要轻量级数据库服务的场景
工具列表
run_sql_query(query: str) -> list
: 执行 SQL 查询并返回结果get_table_schema(table_name: str) -> list
: 获取指定表的结构信息list_tables() -> list
: 列出数据库中所有表
常见问题解答
- 如果使用 Docker Compose,需要在
.env
文件中设置DB_HOST=db
使用教程
使用依赖
- Python 3.10+
- Docker
- MySQL server 或 container
- fastmcp
安装教程
- 克隆仓库并进入目录
git clone <this-repo-url>
cd mcp_docker
- 配置环境
复制
.env.example
到.env
并填写 MySQL 凭据
DB_HOST=your-db-host
DB_USER=your-db-user
DB_PASSWORD=your-db-password
DB_NAME=your-db-name
- 使用 Docker 构建并运行
docker build -t mcp-mysql-server .
docker run --env-file .env -p 8000:8000 mcp-mysql-server
- (可选) 使用 Docker Compose
docker compose up --build
调试方式
- 确保 Docker 容器正常运行
- 检查端口 8000 是否被正确映射
- 验证
.env
文件中的数据库连接信息是否正确