小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
2
最近更新:3个月前

通过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应用程序
  • 推荐使用虚拟环境

安装步骤

  1. 克隆本仓库:
bash 复制代码
git clone git@github.com:meanands/mysql-mcp.git
cd mysql-mcp
  1. 创建并激活虚拟环境:
bash 复制代码
# macOS/Linux系统
python -m venv venv
source venv/bin/activate

# Windows系统
python -m venv venv
venv\Scripts\activate
  1. 安装依赖项:
bash 复制代码
pip install -r requirements.txt
  1. 在项目根目录创建.env文件并配置MySQL凭证:
env 复制代码
MYSQL_HOST=localhost
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
  1. 更新run.sh中的目录路径:
bash 复制代码
# 打开run.sh并替换该行:
cd /Users/yourname/code/sql-mcp
# 例如修改为实际项目路径:
cd /Users/yourname/projects/mysql-mcp
  1. 赋予运行脚本可执行权限:
bash 复制代码
chmod +x run.sh

Claude Desktop配置

  1. 打开Claude Desktop的MCP配置界面
  2. 添加以下配置:
json 复制代码
{
  "sql": {
    "command": "/absolute/path/to/your/mysql-mcp/run.sh"
  }
}

/absolute/path/to/your/mysql-mcp替换为项目目录的实际绝对路径。

使用说明

配置完成后,您可以通过Claude Desktop使用自然语言与数据库交互。示例如下:

  1. 选择数据库并创建表:
复制代码
使用'employees'数据库并创建存储员工信息的表,包含姓名、邮箱和部门字段。
  1. 插入数据:
复制代码
插入新员工John Doe,邮箱john.doe@example.com,所属Engineering部门。
  1. 查询数据:
复制代码
显示Engineering部门的所有员工。

重要注意事项

  • 始终在run.sh脚本和Claude Desktop配置中使用绝对路径
  • 使用MCP服务器前确保MySQL服务正在运行
  • 确保.env文件安全,不要提交到版本控制系统
  • MCP服务器默认使用连接池(5个连接)

故障排除

  1. 出现"connection refused"错误时,检查MySQL服务是否运行
  2. 出现认证错误时,核对.env文件中的凭证信息
  3. 遇到权限错误时,确认MySQL用户具备相应操作权限

安全考量

  • 敏感凭证应存储在.env文件中
  • 使用具有适当权限的MySQL用户(避免使用root账户)
  • 保持虚拟环境和依赖项为最新版本
  • 访问非本地MySQL服务器时需考虑网络安全