MySQL自然语言查询助手
一种自然语言接口,允许克劳德在您的本地MySQL数据库上执行SQL查询,从而实现使用自然语言进行数据库交互。
服务介绍
SQL MCP Server for Claude Desktop
通过Claude Desktop为您的本地MySQL数据库提供自然语言接口。此MCP(机器通信协议)服务器允许Claude在您的本地MySQL数据库上执行SQL查询,使您能够使用自然语言与数据库进行交互。
特性
- 通过Claude将自然语言转换为SQL查询
- 安全连接到本地MySQL数据库
- 支持多个数据库
- 事务管理以保证数据一致性
- 连接池以提高性能
- 支持所有类型的SQL查询(SELECT, INSERT, UPDATE, DELETE等)
前提条件
- Python 3.8或更高版本
- 已安装并运行的MySQL服务器
- Claude Desktop应用程序
- 虚拟环境(推荐)
安装
- 克隆此仓库:
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.sh
在Claude Desktop中配置
- 打开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服务器,请考虑网络安全