使用说明

项目简介

MySQL MCP Server 是一个桥接 AI 模型和 MySQL 数据库的工具,它实现了 Model Context Protocol (MCP),允许 AI 智能体通过标准化的接口查询和分析 MySQL 数据库中的数据。该服务器提供了多种工具,使 AI 能够执行 SQL 查询、获取表结构、管理数据库连接等操作。

主要功能点

  • MySQL 数据库连接管理:支持连接到 MySQL 数据库,并管理连接状态。
  • SQL 查询执行:允许 AI 模型执行 SQL 查询语句,并返回查询结果。
  • 表和数据库信息获取:提供工具列出数据库中的表,查看表结构,以及列出所有可访问的数据库。
  • 数据库切换:支持 AI 模型切换当前使用的数据库。
  • 只读模式:支持配置服务器为只读模式,限制写操作,保障数据安全。
  • 多种传输协议支持:支持 Stdio 传输协议,方便集成到各种 MCP 客户端。
  • 工具化操作:所有数据库操作都以工具的形式暴露,方便 AI 模型按需调用。

安装步骤

  1. 全局安装 (推荐):
    npm install -g mysql-mcp
  2. 本地安装:
    npm install mysql-mcp

服务器配置

MCP 客户端需要配置服务器连接信息,以下是 'mysql-mcp' 服务器的配置示例,请根据您的实际环境修改:

{
  "serverName": "mysql",
  "command": "node",
  "args": ["mysql-mcp"],
  "env": {
    "MYSQL_HOST": "<您的MySQL主机地址,例如:localhost>",
    "MYSQL_PORT": "<您的MySQL端口号,例如:3306>",
    "MYSQL_USER": "<您的MySQL用户名,例如:root>",
    "MYSQL_PASSWORD": "<您的MySQL密码>",
    "MYSQL_DATABASE": "<默认连接的数据库名,可为空>",
    "MYSQL_READONLY": "<是否启用只读模式,true 或 false>"
  }
}

配置参数说明:

  • 'serverName': 自定义的服务器名称,用于在 MCP 客户端中标识该服务器。例如 "mysql"。
  • 'command': 启动 MCP 服务器的命令,这里使用 'node' 表示使用 Node.js 运行时环境。
  • 'args': 传递给启动命令的参数,'["mysql-mcp"]' 表示执行 'mysql-mcp' 包的主程序。
  • 'env': 环境变量配置,用于配置 MySQL 数据库连接信息:
    • 'MYSQL_HOST': MySQL 服务器的主机地址。
    • 'MYSQL_PORT': MySQL 服务器的端口号。
    • 'MYSQL_USER': 连接 MySQL 服务器的用户名。
    • 'MYSQL_PASSWORD': 连接 MySQL 服务器的用户密码。
    • 'MYSQL_DATABASE': 初始连接的数据库名称,可以为空,后续可以通过 'use_database' 工具切换。
    • 'MYSQL_READONLY': 设置服务器是否为只读模式。'true' 表示只读,禁止执行写操作(INSERT, UPDATE, DELETE 等);'false' 表示允许读写操作。

注意: 请将 '<您的MySQL主机地址,例如:localhost>' 等占位符替换为您的实际 MySQL 数据库连接信息。密码等敏感信息建议通过环境变量配置,确保安全性。

基本使用方法

  1. 启动 MCP 服务器: 全局安装时,在终端中直接运行 'mysql-mcp' 命令即可启动服务器。本地安装时,需要在项目根目录下运行 'node node_modules/mysql-mcp/dist/index.js' 命令。
  2. 配置 MCP 客户端: 在您的 MCP 客户端中,添加上述提供的服务器配置 JSON,并确保客户端能够连接到该服务器。
  3. 通过 AI 模型调用工具: 在 AI 模型的 Prompt 中,指示其使用可用的工具来操作 MySQL 数据库。例如,可以使用 'query' 工具执行 SQL 查询,使用 'list_tables' 工具列出所有表,等等。具体的工具和使用方式请参考仓库 README.md 文件中 "Tools" 章节的详细描述。

示例对话 (AI 助手使用场景):

用户: "列出数据库中的所有表" AI 助手: (调用 'list_tables' 工具) MySQL MCP Server 返回: '["table1", "table2", "table3"]' AI 助手: "数据库中包含表 table1, table2, table3。"

用户: "查询 table1 表中的所有数据" AI 助手: (调用 'query' 工具,SQL: 'SELECT * FROM table1') MySQL MCP Server 返回: '[{"column1": "value1", "column2": "value2"}, {"column1": "value3", "column2": "value4"}]' AI 助手: (根据返回的数据进行后续处理或展示)

总结

MySQL MCP Server 提供了一套完整的工具,使得 AI 模型能够安全、有效地与 MySQL 数据库进行交互。通过简单的配置和标准化的 MCP 协议,可以轻松地将 MySQL 数据库集成到各种 AI 应用中。

信息

分类

数据库与文件