使用说明
项目简介
MySQL MCP Server 是一个桥接 AI 模型和 MySQL 数据库的工具,它实现了 Model Context Protocol (MCP),允许 AI 智能体通过标准化的接口查询和分析 MySQL 数据库中的数据。该服务器提供了多种工具,使 AI 能够执行 SQL 查询、获取表结构、管理数据库连接等操作。
主要功能点
- MySQL 数据库连接管理:支持连接到 MySQL 数据库,并管理连接状态。
- SQL 查询执行:允许 AI 模型执行 SQL 查询语句,并返回查询结果。
- 表和数据库信息获取:提供工具列出数据库中的表,查看表结构,以及列出所有可访问的数据库。
- 数据库切换:支持 AI 模型切换当前使用的数据库。
- 只读模式:支持配置服务器为只读模式,限制写操作,保障数据安全。
- 多种传输协议支持:支持 Stdio 传输协议,方便集成到各种 MCP 客户端。
- 工具化操作:所有数据库操作都以工具的形式暴露,方便 AI 模型按需调用。
安装步骤
- 全局安装 (推荐):
或npm install -g mysql-mcp - 本地安装:
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 数据库连接信息。密码等敏感信息建议通过环境变量配置,确保安全性。
基本使用方法
- 启动 MCP 服务器: 全局安装时,在终端中直接运行 'mysql-mcp' 命令即可启动服务器。本地安装时,需要在项目根目录下运行 'node node_modules/mysql-mcp/dist/index.js' 命令。
- 配置 MCP 客户端: 在您的 MCP 客户端中,添加上述提供的服务器配置 JSON,并确保客户端能够连接到该服务器。
- 通过 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 应用中。
信息
分类
数据库与文件