项目简介

MySQL MCP Server 是一个 MCP (Model Context Protocol) 服务器,旨在为大型语言模型 (LLM) 提供安全可靠的 MySQL 数据库访问能力。通过此服务器,LLM 可以执行查询、修改数据以及获取数据库结构信息,从而扩展 LLM 在数据处理和应用构建方面的能力。

主要功能点

  • 安全的数据访问: 支持只读查询和数据修改操作,所有操作均经过安全检查,防止 SQL 注入等风险。
  • 丰富的数据库操作: 提供执行 SQL 查询 (SELECT)、数据修改 (INSERT, UPDATE, DELETE)、列出数据库表、查看表结构等多种工具。
  • 参数化查询: 数据修改操作支持参数化查询,提高数据操作的安全性。
  • 事务处理: 数据修改操作具备事务支持,确保数据一致性。
  • 查询限制: 对查询长度、结果行数和执行超时时间进行限制,保障服务器性能和安全。
  • 操作日志: 记录所有数据库操作日志,便于监控和审计。
  • 易于集成: 可以通过 Dive Desktop 等 MCP 客户端轻松集成和使用。

安装步骤

  1. 安装 Node.js: 确保你的系统已安装 Node.js (版本 18 或更高版本)。
  2. 安装 MySQL MCP Server: 打开终端,运行以下命令全局安装 MySQL MCP Server:
    npm install -g @kevinwatt/mysql-mcp
  3. 配置 MySQL 数据库连接: 在运行 MCP 服务器之前,需要设置 MySQL 数据库的连接信息,可以通过环境变量或在 MCP 客户端配置中设置。

服务器配置

以下 JSON 配置信息用于 MCP 客户端(例如 Dive Desktop)连接 MySQL MCP Server。请将以下配置添加到你的 MCP 客户端中,并根据你的 MySQL 数据库环境修改相应的参数。

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@kevinwatt/mysql-mcp"
      ],
      "env": {
        "MYSQL_HOST": "127.0.0.1",  // MySQL 服务器地址
        "MYSQL_PORT": "3306",      // MySQL 服务器端口
        "MYSQL_USER": "root",       // MySQL 数据库用户名
        "MYSQL_PASS": "",         // MySQL 数据库密码 (请替换为实际密码)
        "MYSQL_DB": "your_database" // 默认连接的数据库名 (请替换为实际数据库名)
      }
    }
  }
}

配置参数说明:

  • 'command': 运行 MCP 服务器的命令,这里使用 'npx' 来执行安装的 npm 包。
  • 'args': 传递给 'npx' 命令的参数,'-y' 表示自动确认安装 '@kevinwatt/mysql-mcp' 包。
  • 'env': 环境变量配置,用于设置 MySQL 数据库的连接信息。
    • 'MYSQL_HOST': MySQL 服务器的主机名或 IP 地址。
    • 'MYSQL_PORT': MySQL 服务器的端口号,默认为 3306。
    • 'MYSQL_USER': 连接 MySQL 数据库的用户名。
    • 'MYSQL_PASS': 连接 MySQL 数据库的密码。 请务必替换为空字符串为你的实际数据库密码。
    • 'MYSQL_DB': MCP 服务器启动后默认连接的数据库名称。

基本使用方法

配置完成后,在 MCP 客户端中选择 "mysql" MCP 服务器,即可通过自然语言指令或工具调用来操作 MySQL 数据库。

示例指令:

  • "Show me all tables in the database" (列出所有表)
  • "Describe the structure of users table" (查看 users 表的结构)
  • "Select all active users from the database" (查询所有活跃用户)
  • "Insert a new record into orders table" (向 orders 表插入新记录)

手动启动服务器 (可选):

如果需要手动启动 MCP 服务器,可以在终端中运行以下命令:

npx @kevinwatt/mysql-mcp

服务器将会在后台运行,并通过标准输入输出与 MCP 客户端进行通信。

信息

分类

数据库与文件