
Simple MCP MySQL Server

2025.03.09
0
Python数据库服务SQL查询数据库
mcp-mysql-server 是一个轻量级的 Model Context Protocol (MCP) 服务器,用于安全地与 MySQL 数据库进行交互。该服务器允许 AI 助手(如 Claude)通过受控接口列出表、读取数据和执行 SQL 查询。
View on GitHub
Overview
基本能力
产品定位
mcp-mysql-server 是一个专门为 MySQL 数据库设计的轻量级 MCP 服务器,旨在提供安全、可控的数据库访问接口。
核心功能
- 列出 MySQL 数据库中的所有表
- 检索所有表的详细模式信息
- 执行只读 SQL 查询并提供适当的错误处理
- 通过环境变量实现安全的数据库访问
- 简单的配置和部署
适用场景
- AI 助手需要查询数据库信息
- 需要安全地暴露只读数据库接口给第三方应用
- 快速搭建数据库查询服务
工具列表
query_data
: 执行只读 SQL 查询并返回结果
常见问题解答
- 安全考虑:建议使用具有最小权限的数据库用户(只读),切勿在生产环境中使用 root 凭据
- 性能考虑:考虑为敏感数据库实现查询白名单
- 监控建议:记录所有数据库操作
使用教程
使用依赖
- uv (推荐)
- Python 3.12.2+
- MySQL 服务器
安装教程
# 克隆仓库
git clone [email protected]:alexcc4/mcp-mysql-server.git
cd mysql-mcp-server
# 使用 uv 安装依赖(推荐)
uv sync
配置
设置以下环境变量:
export DB_HOST=localhost # 数据库主机
export DB_PORT=3306 # 数据库端口(默认为3306)
export DB_USER=your_username # 数据库用户名
export DB_PASSWORD=your_password # 数据库密码
export DB_NAME=your_database # 数据库名称
调试方式
手动启动:
uv run main.py
与 Claude Desktop 集成: 在 Claude Desktop 配置文件中添加以下内容:
{
"mcpServers": {
"sql": {
"command": "/path/uv",
"args": [
"--directory",
"code_path",
"run",
"main.py"
],
"env": {
"DB_HOST": "127.0.0.1",
"DB_PORT": "3306",
"DB_USER": "your_user",
"DB_PASSWORD": "your_password",
"DB_NAME": "your_database"
}
}
}
}
示例查询:
"显示数据库中的所有表"
"从用户表中获取前10行"
"查找过去30天内下的所有订单"
"按国家/地区统计用户数量"
"显示产品表的模式"