使用说明
项目简介
MySQL MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它允许大型语言模型 (LLM) 客户端通过标准化的 MCP 接口访问 MySQL 数据库。该服务器提供列出数据库表、获取表结构以及执行只读 SQL 查询的功能,使得 LLM 应用能够安全且可控地与 MySQL 数据库进行交互。
主要功能点
- 表资源管理: 将 MySQL 数据库中的每个表作为 MCP 资源进行管理,允许客户端发现和访问表信息。
- 表结构发现: 提供获取指定表的结构信息(列名和数据类型)的功能,以 JSON 格式返回,方便 LLM 理解和利用。
- 只读SQL查询工具: 提供一个名为 'mysql_query' 的工具,允许客户端执行只读的 SQL SELECT 查询,并以 JSON 格式返回查询结果。
- 安全连接处理: 使用连接池管理数据库连接,提高性能和稳定性,并支持通过环境变量配置数据库连接信息,保证安全性。
安装步骤
- 克隆仓库: 在你的本地环境中,使用 Git 克隆该仓库:
git clone https://github.com/kerongon/mcp-server-mamp-mysql - 进入仓库目录: 克隆完成后,进入项目目录:
cd mcp-server-mamp-mysql - 安装依赖: 使用 npm 安装项目所需的依赖包:
npm install - 构建项目: 构建 TypeScript 项目,生成可执行的 JavaScript 代码:
npm run build
服务器配置
MCP 客户端需要配置服务器的启动信息才能连接到 MySQL MCP Server。以下是一个 JSON 格式的配置示例,你需要根据你的实际环境进行修改:
{ "serverName": "mysql-mcp-server", "command": "node", "args": [ "dist/index.js" ], "env": { "MYSQL_HOST": "<MySQL服务器主机名>", // 可选:MySQL 服务器主机名,如果使用 socketPath 则不需要 "MYSQL_PORT": "<MySQL服务器端口>", // 可选:MySQL 服务器端口,如果使用 socketPath 则不需要 "MYSQL_USER": "<MySQL用户名>", // 必填:MySQL 用户名 "MYSQL_PASS": "<MySQL密码>", // 必填:MySQL 密码 "MYSQL_DB": "<MySQL数据库名>", // 必填:MySQL 数据库名 "MYSQL_SOCKET": "<MySQL socket 路径>", // 可选:MySQL socket 文件路径,如果使用 host 和 port 则不需要 "MYSQL_POOL_LIMIT": "10" // 可选:连接池大小限制,默认为 10 } }
配置说明:
- '"serverName"': 服务器的名称,可以自定义。
- '"command"': 启动服务器的命令,这里使用 'node' 运行 JavaScript 代码。
- '"args"': 传递给 'node' 命令的参数,'dist/index.js' 是编译后的服务器入口文件。
- '"env"': 环境变量配置,用于配置 MySQL 数据库连接信息。你需要将 '<MySQL服务器主机名>'、'<MySQL服务器端口>'、'<MySQL用户名>'、'<MySQL密码>'、'<MySQL数据库名>' 和 '<MySQL socket 路径>' 替换为你的实际 MySQL 服务器配置。
注意: 请务必妥善保管 MySQL 数据库的用户名和密码等敏感信息。
基本使用方法
- 启动 MySQL 服务器: 确保你的 MySQL 数据库服务器已经启动并正在运行。
- 配置 MCP 客户端: 将上述 JSON 配置添加到你的 MCP 客户端的服务器配置列表中。具体的配置方法请参考你使用的 MCP 客户端的文档。
- 启动 MCP 客户端: 启动你的 MCP 客户端。客户端应该能够自动连接到 MySQL MCP Server。
- 探索资源和工具: 在 MCP 客户端中,你可以使用 'ListResources' 请求列出 MySQL 服务器提供的表资源,并使用 'ReadResource' 请求获取特定表的结构信息。你也可以使用 'CallTool' 请求调用 'mysql_query' 工具执行 SQL 查询。具体的请求方法和参数请参考 MCP 协议文档和你的 MCP 客户端的使用说明。
信息
分类
数据库与文件