通过Python和SQLAlchemy实现与MySQL数据库的自然语言交互,提供安全的查询执行、连接池管理以及结构化结果输出,无需编写原始SQL即可进行数据分析和数据库管理。
概述
面向Claude Desktop的SQL MCP服务器
通过Claude Desktop为本地MySQL数据库提供自然语言交互界面。该MCP(机器通信协议)服务器允许Claude在您的本地MySQL数据库上执行SQL查询,使您能够使用自然语言与数据库进行交互。
功能特性
- 通过Claude实现自然语言到SQL查询的转换
- 与本地MySQL数据库建立安全连接
- 支持多数据库操作
- 事务管理确保数据一致性
- 连接池提升性能表现
- 支持所有类型SQL查询(SELECT、INSERT、UPDATE、DELETE等)
环境要求
- Python 3.8或更高版本
- 已安装并运行MySQL服务器
- Claude Desktop应用程序
- 推荐使用虚拟环境
安装步骤
- 克隆本仓库:
bash
git clone git@github.com:meanands/mysql-mcp.git
cd mysql-mcp
- 创建并激活虚拟环境:
bash
# macOS/Linux系统
python -m venv venv
source venv/bin/activate
# Windows系统
python -m venv venv
venv\Scripts\activate
- 安装依赖项:
bash
pip install -r requirements.txt
- 在项目根目录创建
.env
文件并配置MySQL凭证:
env
MYSQL_HOST=localhost
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
- 更新
run.sh
中的目录路径:
bash
# 打开run.sh并替换该行:
cd /Users/yourname/code/sql-mcp
# 例如修改为实际项目路径:
cd /Users/yourname/projects/mysql-mcp
- 赋予运行脚本可执行权限:
bash
chmod +x run.sh
Claude Desktop配置
- 打开Claude Desktop的MCP配置界面
- 添加以下配置:
json
{
"sql": {
"command": "/absolute/path/to/your/mysql-mcp/run.sh"
}
}
将/absolute/path/to/your/mysql-mcp
替换为项目目录的实际绝对路径。
使用说明
配置完成后,您可以通过Claude Desktop使用自然语言与数据库交互。示例如下:
- 选择数据库并创建表:
使用'employees'数据库并创建存储员工信息的表,包含姓名、邮箱和部门字段。
- 插入数据:
插入新员工John Doe,邮箱john.doe@example.com,所属Engineering部门。
- 查询数据:
显示Engineering部门的所有员工。
重要注意事项
- 始终在run.sh脚本和Claude Desktop配置中使用绝对路径
- 使用MCP服务器前确保MySQL服务正在运行
- 确保.env文件安全,不要提交到版本控制系统
- MCP服务器默认使用连接池(5个连接)
故障排除
- 出现"connection refused"错误时,检查MySQL服务是否运行
- 出现认证错误时,核对.env文件中的凭证信息
- 遇到权限错误时,确认MySQL用户具备相应操作权限
安全考量
- 敏感凭证应存储在.env文件中
- 使用具有适当权限的MySQL用户(避免使用root账户)
- 保持虚拟环境和依赖项为最新版本
- 访问非本地MySQL服务器时需考虑网络安全

1panel
mcp-1panel 是为 1Panel 实现的 Model Context Protocol (MCP) 服务器。
Aact mcp
与AACT临床试验数据库集成,支持查询和分析大规模试验数据,适用于研究和医疗应用。
Abap Adt
一个服务器,它将模型上下文协议(MCP)与SAP ABAP系统连接起来,使像Cline这样的工具能够检索ABAP源代码、表结构和其他开发工件。
Adwords Mcp
一个令人尴尬的MCP服务器,向Cursor、Claude和其他客户端的开发者提供广告