🐳 MCP MySQL Server (Dockerized)

🐳 MCP MySQL Server (Dockerized)

site icon
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

安装教程

  1. 克隆仓库并进入目录
git clone <this-repo-url>
cd mcp_docker
  1. 配置环境 复制 .env.example.env 并填写 MySQL 凭据
DB_HOST=your-db-host
DB_USER=your-db-user
DB_PASSWORD=your-db-password
DB_NAME=your-db-name
  1. 使用 Docker 构建并运行
docker build -t mcp-mysql-server .
docker run --env-file .env -p 8000:8000 mcp-mysql-server
  1. (可选) 使用 Docker Compose
docker compose up --build

调试方式

  • 确保 Docker 容器正常运行
  • 检查端口 8000 是否被正确映射
  • 验证 .env 文件中的数据库连接信息是否正确

许可证

该项目遵循 MIT 开源许可条款。