使用说明
项目简介
MCP MySQL App 是一个基于 Model Context Protocol (MCP) 构建的工具服务器,旨在为支持 MCP 协议的 AI 客户端(如 Cursor 或 Claude)提供访问 MySQL 数据库的能力。通过此服务器,AI 能够执行 SQL 查询、检查数据库连接,从而实现更智能的数据交互和分析。
主要功能点
- MySQL 数据库连接:允许 AI 安全连接到 MySQL 数据库。
- 执行 SQL 查询:支持 AI 通过自然语言指令执行 SQL 查询,获取数据库信息。
- 检查连接状态:提供工具检查 MySQL 数据库连接是否正常。
- 类型安全的工具定义:使用 TypeScript 和 Zod 保证工具接口的类型安全。
- 增强的错误处理:提供友好的错误信息反馈,方便调试和问题排查。
- 会话感知:支持会话管理,为 AI 应用提供更稳定的上下文服务。
安装步骤
-
克隆仓库
git clone https://github.com/zalab-inc/mcp-mysql-app cd mcp-mysql-app -
安装依赖
npm install -
配置环境变量 在项目根目录下创建 '.env' 文件,并填入您的 MySQL 数据库连接信息:
MYSQL_HOST=您的MySQL主机地址 MYSQL_USER=您的MySQL用户名 MYSQL_PASSWORD=您的MySQL密码 MYSQL_DATABASE=您的数据库名 MYSQL_PORT=3306 (如果MySQL端口不是默认的3306,请修改) -
构建项目
npm run build构建成功后,会在项目根目录下生成 'dist' 目录,服务器程序 'index.js' 位于 'dist' 目录中。
服务器配置
要让 MCP 客户端(如 Cursor 或 Claude)连接到此 MCP MySQL 服务器,您需要在客户端的 MCP 配置中添加服务器信息。以下是配置示例,您需要根据您的实际情况进行修改。
Cursor 配置 (编辑 '~/.cursor/mcp.json' 文件):
{ "mcpServers": { "mysql": { "command": "<Node.js 可执行文件路径>", "args": [ "<mcp-mysql-app 项目 dist 目录的绝对路径>/index.js" ], "env": { "MYSQL_HOST": "您的MySQL主机地址", "MYSQL_USER": "您的MySQL用户名", "MYSQL_PASSWORD": "您的MySQL密码", "MYSQL_DATABASE": "您的数据库名", "MYSQL_PORT": "3306" } } } }
Claude 配置 (在 Claude 应用的开发者设置中配置):
{ "tools": { "mysql": { "command": "<Node.js 可执行文件路径>", "args": [ "<mcp-mysql-app 项目 dist 目录的绝对路径>/index.js" ], "env": { "MYSQL_HOST": "您的MySQL主机地址", "MYSQL_USER": "您的MySQL用户名", "MYSQL_PASSWORD": "您的MySQL密码", "MYSQL_DATABASE": "您的数据库名", "MYSQL_PORT": "3306" } } } }
配置参数说明:
- 'command': Node.js 可执行文件的路径,例如:'/usr/local/bin/node' 或 'C:\Program Files\nodejs\node.exe'。请根据您的 Node.js 安装路径进行配置。
- 'args': 启动服务器程序的参数,这里指定为 'dist/index.js' 的绝对路径。请替换 '<mcp-mysql-app 项目 dist 目录的绝对路径>' 为您本地 'mcp-mysql-app' 项目 'dist' 目录的实际绝对路径。
- 'env': 环境变量配置,用于传递 MySQL 数据库连接信息。这些环境变量将传递给服务器程序,与您在 '.env' 文件中配置的信息一致。
配置完成后,重启您的 MCP 客户端 (如 Cursor 或 Claude) 使配置生效。
基本使用方法
配置完成后,您可以在支持 MCP 协议的 AI 环境中,通过自然语言指令调用 MySQL 工具。例如,在 Cursor 中,您可以直接提问:
- "检查 MySQL 连接是否正常" (对应 'sql_check_connection' 工具)
- "查询 users 表中的所有数据" (对应 'sql_query' 工具,AI 会自动生成 SQL 查询语句)
- "显示数据库中的所有表" (对应 'sql_query' 工具,AI 会自动生成 'SHOW TABLES;' SQL 查询语句)
AI 客户端会根据您的指令,自动调用相应的 MySQL 工具,并将结果返回给您。
信息
分类
数据库与文件