使用说明

项目简介

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

  1. 确保已安装 Docker 和 Docker Compose。
  2. 克隆仓库到本地:
    git clone https://github.com/Mineru98/mysql-mcp-server.git
    cd mysql-mcp-server
  3. 修改 '.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 服务器端口
  4. 启动 MySQL 数据库和 MCP 服务器:
    docker-compose up -d

方式二:使用 Docker Compose (预配置)

  1. 确保已安装 Docker 和 Docker Compose。
  2. 克隆仓库到本地:
    git clone https://github.com/Mineru98/mysql-mcp-server.git
    cd mysql-mcp-server
  3. 修改 '.env.example' 文件,将其重命名为 '.env',并根据您的 MySQL 数据库配置修改环境变量 (可选)。
  4. 启动服务:
    docker-compose up -d

方式三:直接使用 Python

  1. 确保已安装 Python 和 pip。
  2. 克隆仓库到本地:
    git clone https://github.com/Mineru98/mysql-mcp-server.git
    cd mysql-mcp-server
  3. 修改 '.env.example' 文件,将其重命名为 '.env',并根据您的 MySQL 数据库配置修改环境变量。
  4. 安装 Python 依赖:
    pip install -r requirements.txt
  5. 运行 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' (资源)。

基本使用方法

  1. 启动 MySQL MCP Server 后,MCP 客户端 (如 Cursor 编辑器) 应配置上述服务器连接信息。
  2. 客户端连接成功后,可以向服务器发送 MCP 请求,例如:
    • 请求工具列表 (tools/list) 以查看可用的数据库操作工具。
    • 调用特定工具 (tool/call),例如 'execute_select_query' 工具来执行 SQL SELECT 查询,并将查询语句作为参数传递。
  3. 服务器执行相应的数据库操作,并将结果以 JSON 格式返回给客户端。
  4. LLM 可以利用返回的数据进行后续处理,例如生成报告、回答用户问题等。

注意: 请确保 MySQL 数据库服务已启动,并且配置的连接信息正确。

信息

分类

数据库与文件