MySQL MCP Server 使用说明
项目简介
MySQL MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它允许大型语言模型 (LLM) 通过标准化的 MCP 协议访问 MySQL 数据库。该服务器提供以下核心功能:
- 资源 (Resources): 公开 MySQL 数据库的表结构信息(Schema),作为可供 LLM 读取的资源。
- 工具 (Tools): 提供 'query' 工具,允许 LLM 执行只读 SQL 查询。
通过此服务器,LLM 客户端(如 Cursor 编辑器)可以连接到 MySQL 数据库,并利用数据库中的信息来增强其代码生成、理解和问答能力。
主要功能点
- 表结构发现: 自动发现 MySQL 数据库中的所有表,并将每个表的结构信息以 JSON 格式公开为资源。
- 只读 SQL 查询: 提供 'query' 工具,允许 LLM 执行只读 SQL 查询,安全地获取数据库中的数据。
- 基于 MCP 协议: 遵循 MCP 协议标准,易于与支持 MCP 协议的 LLM 客户端集成。
- 简易安装与配置: 通过 npm 包管理器安装,配置简单,易于上手。
- 安全性: 支持只读事务和最小权限原则,保障数据库安全。
安装步骤
-
克隆仓库:
git clone https://github.com/shreyansh-ghl/mysql-mcp-server.git cd mysql-mcp-server -
安装依赖:
npm run prepare npm install -
全局链接 (可选,方便命令行使用):
npm link
服务器配置
为了让 MCP 客户端(如 Cursor 编辑器)连接到 MySQL MCP Server,您需要在客户端中配置 MCP 服务器信息。以下是针对 Cursor 编辑器的配置示例,其他 MCP 客户端的配置方式类似。
在 Cursor 编辑器中,打开设置 (Settings) -> MCP,点击 "Add Global MCP Server",然后添加以下配置信息:
{ "mcpServers": { "mysql": { "command": "mysql-mcp-server", "args": ["mysql://数据库用户名:数据库密码@数据库主机地址:数据库端口/数据库名"] } } }
配置参数说明:
- '"mysql"': 服务器名称,可以自定义,用于在 Cursor 中标识该 MCP 服务器。
- '"command": "mysql-mcp-server"': 启动 MySQL MCP Server 的命令。如果已全局链接,则可以直接使用 'mysql-mcp-server' 命令。否则,需要指定 'mysql-mcp-server' 命令的完整路径(例如,'node /path/to/mysql-mcp-server/index.js')。
- '"args": ["mysql://数据库用户名:数据库密码@数据库主机地址:数据库端口/数据库名"]': 传递给 'mysql-mcp-server' 命令的参数,这里是 MySQL 数据库连接 URL。
- 请将 '"mysql://数据库用户名:数据库密码@数据库主机地址:数据库端口/数据库名"' 替换为您的实际 MySQL 数据库连接 URL。
- 务必注意数据库连接信息的安全,避免泄露敏感信息。建议使用环境变量等更安全的方式管理数据库凭据。
配置完成后,点击 "Save" 或按下 'Cmd + S' (macOS) / 'Ctrl + S' (Windows/Linux) 保存配置,并重启 Cursor 编辑器使配置生效。
基本使用方法
在 Cursor 编辑器中,打开 Agentic Chat (智能聊天) 功能。您可以像与普通聊天机器人对话一样提问,但现在 Agentic Chat 已经连接到您的 MySQL 数据库。
您可以询问关于数据库结构或数据的问题,例如:
- "数据库中 'customers' 表有哪些列?"
- "查询 'orders' 表中最近 10 条订单记录。"
- "分析 'products' 表中价格最高的 5 个产品。"
Cursor 编辑器会利用 MySQL MCP Server 提供的资源 (表结构信息) 和工具 ('query' 工具) 来理解您的提问,并执行相应的 SQL 查询,将数据库中的信息作为上下文提供给 LLM,从而更准确、更有效地回答您的问题。
注意: 由于该 MCP Server 只提供只读访问,因此 LLM 只能执行 'SELECT' 查询,无法进行数据修改操作 (如 'INSERT', 'UPDATE', 'DELETE')。
信息
分类
数据库与文件