开源一个支持多数据源的 MySQL‑MCP

日常测试工作里,我们经常要核对业务数据:校验接口入库结果、排查 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个数据库,这边都能够将对应的表都查出来

相关推荐
Raina测试3 天前
基于 Playwright codegen + Skills 实现 UI 自动化实战|人工录制省 Token,AI 补全脚本
ai 测试
FunTester1 个月前
AI 测试用例生成总跑偏?六维封装法让 Skill 从“能用“变“好用“
测试用例设计·提示词工程·ai 测试·skill 工程·prompt enginee
Raina测试1 个月前
AI 赋能UI自动化测试:Web / APP / 小程序 / 桌面端全套Skill实践方案.....
ai 测试
Raina测试2 个月前
基于Playwright + Skill的三套UI 自动化实践方案....
ai 测试
测试小罡3 个月前
一套 Skills,搞定需求评审 + 用例生成全流程
ai 测试
oscar9994 个月前
Katalon Studio 11.2.0 发布:AI 对话历史、智能录制器进阶配置与工具链大整合
ai 测试·katalon
顾三殇3 年前
【AI 测试】Linux 查看日志与压测命令:FinalShell 查看 AI 语言大模型问答实时日志与 TTS 压测
linux·人工智能·jmeter·nmon·ai 测试·语言大模型测试