日常测试工作里,我们经常要核对业务数据:校验接口入库结果、排查 bug 底层数据、核对业务流程前后的数据变化,都免不了要和数据库打交道。
现在很多测试同学,也会借助 AI 来做这块的提效,不用手写复杂 SQL,通过自然语言就可以查询库表数据。开源的 MySQL MCP 就是很常用的工具,对接数据库之后,直接用自然语言就能转换成 SQL 执行查询,给测试的数据核查工作带来不少便利。
但在实际使用中会有些局限:这套开源实现只支持配置单个数据库。
实际的业务项目,大多是多套数据库并存,业务数据分散在不同库、不同实例中,单数据源的能力,很难适配复杂项目的测试核查需求。
针对这个测试工作中的真实痛点,我自研实现了一套支持多数据源的 MySQL MCP,可以同时接入多个数据库。下面完整讲解详细的配置与使用教程,项目已经开源(获取方式见文末)
之前我们使用过开源的 MySQL MCP,它可以对接数据库,直接把自然语言转换成 SQL 完成数据查询,在测试工作中有提效作用,但在实际使用过程中会有个局限,它仅支持配置单个数据库。 而我们真实业务项目,往往存在多套数据库,业务数据分散在不同库、不同实例之下,单数据源的能力完全满足不了复杂项目的使用场景。
针对这个实际需求,我自研实现了一套支持多数据源的 MySQL MCP,解决多库同时接入的问题。下面给大家介绍下详细的配置使用教程,项目地址已开源(见文末)
基础条件
-
nodejs安装,要求版本>=20
-
目前仅支持mysql
-
git安装
如何使用
1、拉取MCP项目
- 拉取项目
打开终端/命令行,切换到自己想要保存的路径下,输入
bash
git clone git项目地址
git地址获取方式见文末
- 之后在这个窗口下执行下面的指令,安装依赖和构建项目
bash
cd multidb-mcp
npm install
npm run build

2、json文件配置
这里可以创建打开一个文件夹,创建一个json文件,配置数据库信息
例如:我在路径/Users/wr/project/mcps/config下,创建了一个databases.json文件

文件中配置数据库连接,案例如下:配置了两个数据库,如果需要更多数据库的话,则在connections数组内新增配置信息即可
json
{
"connections": [
{
"id": "prod-mysql",
"name": "生产 MySQL",
"host": "127.0.0.1",
"port": 3306,
"user": "root",
"password": "your-password",
"databases": ["app_db", "log_db"],
"defaultDatabase": "app_db"
},
{
"id": "dev-mysql",
"name": "开发 MySQL",
"host": "127.0.0.1",
"port": 3307,
"user": "dev",
"password": "dev-password",
"databases": ["test_db"]
}
]
}
字段说明如下:

3、在AI工具中配置MCP
这里以 Cursor 为例演示配置,大家可以根据自己使用的 AI 工具,参照对应格式调整。
1、点击设置

2、点击customize

3、点击MCPs,点击new MCP Server

填写mcp server配置
下面是 MCP 的 json 配置片段,有两处关键需要改成你本机实际路径:
-
args 里的
index.js:替换成你项目里该文件的真实路径 -
DB_CONFIG_PATH:修改为步骤2创建的json文件配置的路径
json
{
"mcpServers": {
"mysql-mcp": {
"command": "node",
"args": ["你刚才拉取的下面的位置/multidb-mcp/dist/index.js"],
"env": {
"DB_CONFIG_PATH": "json文件配置的路径/databases.json"
}
}
}
}
在cursor连接成功后的效果:

具备tool的作用如下:

4、验证
案例1:统计数据
例如:

AI执行过程
1、查询连接

2、查询数据库

3、查询数据表列表

4、查询表结构

5、构建sql语句,查询结果

案例2:验证一下多数据源
输入:

输出结果:
我这里是一个验证,搭建了2个数据源,3个数据库,这边都能够将对应的表都查出来
