使用说明

项目简介

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 语句,以分号分隔,提高数据操作效率。

安装步骤

  1. 克隆仓库
    git clone https://github.com/xwb602625136/mysql_mcp_server_pro.git
    cd mysql_mcp_server_pro
  2. 配置数据库连接信息
    • 复制 '.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')。

基本使用方法

  1. 配置 MCP 客户端: 根据您选择的 STDIO 或 SSE 模式,将上述相应的 JSON 配置添加到您的 MCP 客户端工具配置中。
  2. 调用工具: 在 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 包安装器和运行器,推荐使用它来运行服务器以获得更好的性能。

信息

分类

数据库与文件