使用说明
项目简介
MySQL MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,旨在为大型语言模型 (LLM) 提供与 MySQL 数据库交互的能力。通过此服务器,LLM 可以安全、可控地执行 SQL 查询、管理数据库结构,并将数据库中的数据作为上下文信息使用,从而扩展 LLM 在数据处理和分析方面的能力。
主要功能点
- 工具化数据库操作: 提供一系列预定义的工具,如执行 SELECT、INSERT、CREATE TABLE 等 SQL 查询,以及查看表结构、查询执行计划等,使 LLM 能够通过调用这些工具来操作 MySQL 数据库。
- 数据访问能力: 允许 LLM 通过标准化的 MCP 协议访问 MySQL 数据库中的数据,并将查询结果作为上下文信息使用。
- 灵活部署: 支持 Docker、Docker Compose 和 Python 直接运行等多种部署方式,方便用户根据自身环境进行部署。
- 可扩展性: 易于添加新的数据库操作工具,满足不断变化的应用需求。
- 安全性: 通过环境变量管理数据库连接信息,并提供参数选项来控制工具的启用和安全级别。
安装步骤
方式一:使用 Docker
- 确保已安装 Docker 和 Docker Compose。
- 克隆仓库到本地:
git clone https://github.com/Mineru98/mysql-mcp-server.git cd mysql-mcp-server - 修改 '.env.example' 文件,将其重命名为 '.env',并根据您的 MySQL 数据库配置修改以下环境变量:
MYSQL_HOST=localhost # MySQL 服务器地址 MYSQL_PORT=3306 # MySQL 服务器端口 MYSQL_USER=root # MySQL 用户名 MYSQL_PASSWORD=mcpTest1234!!! # MySQL 密码 MYSQL_DATABASE=mcp_test # MySQL 数据库名 MCP_PORT=8081 # MCP 服务器端口 - 启动 MySQL 数据库和 MCP 服务器:
docker-compose up -d
方式二:使用 Docker Compose (预配置)
- 确保已安装 Docker 和 Docker Compose。
- 克隆仓库到本地:
git clone https://github.com/Mineru98/mysql-mcp-server.git cd mysql-mcp-server - 修改 '.env.example' 文件,将其重命名为 '.env',并根据您的 MySQL 数据库配置修改环境变量 (可选)。
- 启动服务:
docker-compose up -d
方式三:直接使用 Python
- 确保已安装 Python 和 pip。
- 克隆仓库到本地:
git clone https://github.com/Mineru98/mysql-mcp-server.git cd mysql-mcp-server - 修改 '.env.example' 文件,将其重命名为 '.env',并根据您的 MySQL 数据库配置修改环境变量。
- 安装 Python 依赖:
pip install -r requirements.txt - 运行 MCP 服务器:
python mysql_mcp_server/main.py run
服务器配置
以下 JSON 配置信息可用于 MCP 客户端连接到 MySQL MCP Server。请根据您的实际部署情况进行调整。
{ "serverName": "MySQL MCP Server", "command": "python", "args": [ "mysql_mcp_server/main.py", "run" ], "transports": [ { "type": "stdio" }, { "type": "sse", "port": 8081 // MCP 服务器端口,与 .env 文件中 MCP_PORT 一致 } ], "capabilities": [ "tools", "prompts", "resources" ] }
配置参数说明:
- 'serverName': MCP 服务器的名称,可自定义。
- 'command': 启动 MCP 服务器的命令,这里使用 'python'。
- 'args': 命令参数,指定执行 'mysql_mcp_server/main.py' 文件,并使用 'run' 命令启动服务器。
- 'transports': 支持的传输协议,包括 'stdio' 和 'sse' (Server-Sent Events),端口 'port' 需要与服务器实际监听端口一致。
- 'capabilities': 声明服务器支持的功能,包括 'tools' (工具)、'prompts' (Prompt 模板)、'resources' (资源)。
基本使用方法
- 启动 MySQL MCP Server 后,MCP 客户端 (如 Cursor 编辑器) 应配置上述服务器连接信息。
- 客户端连接成功后,可以向服务器发送 MCP 请求,例如:
- 请求工具列表 (tools/list) 以查看可用的数据库操作工具。
- 调用特定工具 (tool/call),例如 'execute_select_query' 工具来执行 SQL SELECT 查询,并将查询语句作为参数传递。
- 服务器执行相应的数据库操作,并将结果以 JSON 格式返回给客户端。
- LLM 可以利用返回的数据进行后续处理,例如生成报告、回答用户问题等。
注意: 请确保 MySQL 数据库服务已启动,并且配置的连接信息正确。
信息
分类
数据库与文件