Claude桌面版SQL MCP服务器
通过Claude Desktop与本地MySQL数据库的自然语言接口。此MCP(机器通信协议)服务器允许Claude在本地MySQL数据库上执行SQL查询,使您能够使用自然语言与数据库进行交互。
特性
- 通过Claude实现自然语言到SQL查询的转换
- 与本地MySQL数据库的安全连接
- 支持多个数据库
- 数据一致性事务管理
- 连接池以获得更好的性能
- 支持所有类型的SQL查询(SELECT、INSERT、UPDATE、DELETE等)
先决条件
- Python 3.8或更高版本
- MySQL服务器已安装并正在运行
- Claude桌面应用程序
- 虚拟环境(推荐)
安装
- 克隆此存储库:
git clone git@github.com:meanands/mysql-mcp.git
cd mysql-mcp- 创建并激活虚拟环境:
# For macOS/Linux
python -m venv venv
source venv/bin/activate
# For Windows
python -m venv venv
venv\Scripts\activate- 安装依赖项:
pip install -r requirements.txt- 创建一个
.env使用MySQL凭据在项目根目录中创建文件:
MYSQL_HOST=localhost
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password- 更新中的目录路径
run.sh:
# Open run.sh and replace this line:
cd /Users/yourname/code/sql-mcp
# with your actual project directory path, for example:
cd /Users/yourname/projects/mysql-mcp- 使运行脚本可执行:
chmod +x run.shClaude桌面中的配置
- 打开Claude Desktop的MCP配置
- 添加以下配置:
{
"sql": {
"command": "/absolute/path/to/your/mysql-mcp/run.sh"
}
}替换 /absolute/path/to/your/mysql-mcp 使用项目目录的实际绝对路径。
用法
配置后,您可以使用自然语言通过Claude Desktop与数据库进行交互。示例:
- 选择数据库并创建表:
Use the 'employees' database and create a table for storing employee information with fields for name, email, and department.- 插入数据:
Insert a new employee named John Doe with email john.doe@example.com in the Engineering department.- 查询数据:
Show me all employees in the Engineering department.重要提示
- 在run.sh脚本和Claude Desktop配置中始终使用绝对路径
- 在使用MCP服务器之前,确保MySQL服务器正在运行
- 保护.env文件的安全,永远不要将其提交给版本控制
- MCP服务器使用连接池,默认池大小为5个连接
故障排除
- 如果出现“连接被拒绝”错误,请确保MySQL服务器正在运行
- 如果遇到身份验证错误,请在.env文件中验证您的凭据
- 对于权限错误,请确保MySQL用户对您尝试执行的操作具有适当的权限
安全考虑
- 将敏感凭据存储在.env文件中
- 使用具有适当权限的MySQL用户(避免使用root)
- 使您的虚拟环境和依赖关系保持最新
- 如果访问非本地主机MySQL服务器,请考虑网络安全
