使用说明
项目简介
mysql_mcp_server_pro 是一个实现了 Model Context Protocol (MCP) 协议的服务器,专注于为大型语言模型 (LLM) 应用提供 MySQL 数据库的上下文信息和操作能力。它允许 LLM 客户端通过标准化的 MCP 协议,安全、便捷地访问和操作 MySQL 数据库,从而扩展 LLM 在数据处理和知识检索方面的能力。
主要功能点
- SQL 查询执行: 支持执行任意 SQL 查询语句,并以 CSV 格式返回查询结果,方便 LLM 理解和处理结构化数据。
- 表结构和表名检索: 可以根据表名或表中文注释快速检索数据库中的表名和表结构信息,帮助 LLM 理解数据库 schema。
- 中文转拼音首字母: 提供将中文文本转换为拼音首字母的功能,方便在数据库表结构设计时进行字段命名。
- 多传输协议支持: 同时支持 STDIO (标准输入输出) 和 SSE (Server-Sent Events) 两种传输协议,方便集成到不同的 LLM 客户端环境。
- 多SQL语句执行: 支持一次执行多条 SQL 语句,以分号分隔,提高数据操作效率。
安装步骤
- 克隆仓库
git clone https://github.com/xwb602625136/mysql_mcp_server_pro.git cd mysql_mcp_server_pro - 配置数据库连接信息
- 复制 '.env.example' 文件并重命名为 '.env'。
- 修改 '.env' 文件中的数据库连接配置信息,包括 'MYSQL_HOST', 'MYSQL_PORT', 'MYSQL_USER', 'MYSQL_PASSWORD', 'MYSQL_DATABASE',替换为您的 MySQL 数据库连接信息。
服务器配置
STDIO 模式
要使用 STDIO 模式,您需要在 MCP 客户端的工具配置中添加以下 JSON 内容。
{ "mcpServers": { "operateMysql": { "isActive": true, "name": "operateMysql", "command": "uv", "args": [ "--directory", "/path/to/mysql_mcp_server_pro/src/studio_mcp", // 请替换为您的项目studio_mcp目录的绝对路径 "run", "operatemysql.py" ], "env": { "MYSQL_HOST": "您的数据库HOST", "MYSQL_PORT": "您的数据库端口", "MYSQL_USER": "您的数据库用户名", "MYSQL_PASSWORD": "您的数据库密码", "MYSQL_DATABASE": "您的数据库名" } } } }
配置参数说明:
- 'isActive': 设置为 'true' 启用该 MCP 服务器。
- 'name': MCP 服务器的名称,客户端通过此名称调用工具。
- 'command': 启动服务器的命令,这里使用 'uv' (建议安装 uv: 'pip install uv')。
- 'args': 传递给 'uv' 命令的参数列表:
- '--directory': 指定工作目录为 'studio_mcp' 目录,请务必替换为您的实际路径。
- 'run': uv 的子命令,用于运行 Python 脚本。
- 'operatemysql.py': 要运行的 Python 脚本,即 STDIO 模式的 MCP 服务器程序。
- 'env': 环境变量配置,用于传递数据库连接信息,请务必替换为您的实际数据库连接信息。
SSE 模式
要使用 SSE 模式,您需要在 MCP 客户端的工具配置中添加以下 JSON 内容。
{ "mcpServers": { "operateMysql": { "name": "operateMysql", "description": "", "isActive": true, "baseUrl": "http://localhost:9000/sse" } } }
配置参数说明:
- 'isActive': 设置为 'true' 启用该 MCP 服务器。
- 'name': MCP 服务器的名称,客户端通过此名称调用工具。
- 'baseUrl': SSE 服务器的基 URL,默认为 'http://localhost:9000/sse'。
启动 SSE 服务器:
在 'mysql_mcp_server_pro/src/sse_mcp' 目录下,打开终端并执行以下命令启动 SSE 服务器:
uv run operatemysql.py
确保您已经安装了 'uv' ('pip install uv') 和 'python-dotenv' ('pip install python-dotenv')。
基本使用方法
- 配置 MCP 客户端: 根据您选择的 STDIO 或 SSE 模式,将上述相应的 JSON 配置添加到您的 MCP 客户端工具配置中。
- 调用工具: 在 LLM 客户端中,您可以通过 MCP 协议调用以下工具来操作 MySQL 数据库:
- 'execute_sql': 执行 SQL 查询语句。输入参数为 'query' (SQL 语句字符串)。
- 'get_chinese_initials': 中文转拼音首字母。输入参数为 'text' (中文文本,以中文逗号分隔)。
- 'get_table_name': 根据表中文名搜索表名。输入参数为 'text' (表中文名关键词)。
- 'get_table_desc': 根据表名搜索表结构。输入参数为 'text' (表名)。
示例 Prompt (用于 'execute_sql' 工具):
# 工具调用 operateMysql.execute_sql # 工具参数 { "query": "SELECT * FROM your_table LIMIT 5;" // 请替换为您的SQL查询语句 }
注意:
- 请确保 MySQL 数据库服务已启动,并且配置的连接信息正确。
- 本 MCP 服务器主要提供数据库操作功能,Prompt 模板可能需要在 LLM 客户端或更上层应用中定义和管理。
- 'uv' 是一个高性能的 Python 包安装器和运行器,推荐使用它来运行服务器以获得更好的性能。
信息
分类
数据库与文件