【开源自荐5】MCP 数据库万能连接器:用自然语言查询和分析数据

anarkh 2026-01-23 11:06 1

写在前面


使用过程中有什么问题,佬友们都可以提出来,工作之余我会尽量快的抽时间修改;另外如果有什么好的建议也都可以抛给我,加入todo list尽量完成!!!


universal-db-mcp使用上的思考

使用universal-db-mcp在coze中实现问数 AskDB智能体

在VsCode中使用MCP实现智能问数

在Dify中使用universal-db-mcp实现智能问数

【教程】使用ApiPost/Postman 测试 unversal-db-mcp Streamable HTTP 完整指南

说一说universal-db-mcp在Text2SQL准确性方面上都做了哪些事以及后续在帮助LLM提升准确性方面的todo list


目前已支持 17 个数据库:



  1. MySQL

  2. PostgreSQL

  3. Redis

  4. Oracle

  5. 达梦

  6. SQL Server (2012+)

  7. MongoDB

  8. SQLite

  9. KingbaseES(人大金仓)

  10. GaussDB / OpenGauss

  11. OceanBase

  12. TiDB

  13. ClickHouse

  14. PolarDB

  15. Vastbase(海量数据库)

  16. HighGo(瀚高)

  17. GoldenDB


数据库适配方面暂时就支撑这17种数据库。目前该工具只能在具有mcp协议的客户端调用,下一步计划增加HTTP API 模式,这样不支持mcp协议的平台也可以调用了


0. 更新日志



  1. 2026-01-23 → v0.2.0 → 新增 Oracle 数据库(支持12c及以上)适配器。

  2. 2026-01-23 → v0.3.0 → 新增 达梦 数据库(DM7、DM8)适配器。

  3. 2026-01-23 → v0.4.0 → 新增 SQL Server 数据库适配器。

  4. 2026-01-25 → v0.5.3 → 新增 MongoDB 数据库适配器。

  5. 2026-01-26 → v0.6.0 → 新增 SQLite 数据库适配器。

  6. 2026-01-26 → v0.7.0 → 新增 KingbaseES(人大金仓) 数据库适配器。

  7. 2026-01-26 → v0.8.0 → 新增 GaussDB/OpenGauss 数据库适配器。

  8. 2026-01-26 → v0.9.0 → 新增 OceanBase 数据库适配器。

  9. 2026-01-27 → v0.10.0 → 新增 TiDB 数据库适配器。

  10. 2026-01-27 → v0.11.0 → 新增 ClickHouse 数据库适配器。

  11. 2026-01-27 → v0.12.0 → 新增 PolarDB 数据库适配器。

  12. 2026-01-27 → v0.13.0 → 新增 Vastbase(海量数据库) 数据库适配器。

  13. 2026-01-27 → v0.14.0 → 新增 HighGo(瀚高) 数据库适配器。

  14. 2026-01-27 → v1.0.0 → 新增 GoldenDB 数据库适配器。

  15. 2026-01-28

    (1)支持双模式运行(MCP + HTTP API)

    (2)支持本地部署:node、PM2、systemd

    (3)支持Docker部署:docker、docker compose

    (4)支持Serverless部署:阿里云函数计算、腾讯云SCF、AWS Lambda、Vercel

    (5)支持PaaS平台部署:Railway、Render、Fly.io

    (6)支持Coze集成

    (7)支持n8n集成

    (8)支持Dify集成

  16. 2026-01-29 → v2.3.8 → 性能优化:增加Schema缓存 + 批量查询优化

  17. 2026-01-30 → v2.5.0 → 适配Oracle 11g及之前老版本

  18. 2026-02-02 → v2.6.0 → 新增如下内容:



  • MCP SSE/Streamable HTTP 传输支持 - 在 HTTP 模式下新增 MCP 协议端点

    • /sse - SSE 传输端点(传统方式),支持通过 URL 参数配置数据库连接

    • /sse/message - SSE 消息接收端点

    • /mcp (POST) - Streamable HTTP 端点(MCP 2025 规范,推荐),支持通过请求头配置数据库连接

    • /mcp (GET) - Streamable HTTP 的 SSE 流端点

    • /mcp (DELETE) - 关闭会话端点



  • Dify 等平台现在可以直接通过 MCP 协议连接,无需使用自定义 API 工具

  • 灵活架构:2 种启动模式(stdio/http),4 种接入方式(MCP stdio、MCP SSE、MCP Streamable HTTP、REST API)

  • 统一 API Key 认证 - MCP SSE/Streamable HTTP 端点现在也支持 API Key 认证,与 REST API 保持一致



  1. 2026-02-05 → v2.7.0 → 新增如下内容:

    外键关系支持 - Schema 信息现在包含外键和表关系数据,帮助 LLM 更好地理解数据库结构



  • foreignKeys - 表级别外键约束信息,包含约束名、列、引用表、引用列、ON DELETE/UPDATE 规则

  • relationships - 全局关系视图,展示所有表之间的关联关系

  • 支持的数据库:MySQL、PostgreSQL、Oracle、SQL Server、SQLite、达梦、KingbaseES、GaussDB、OceanBase、TiDB、PolarDB、Vastbase、HighGo、GoldenDB

  • NoSQL 数据库(Redis、MongoDB、ClickHouse)不支持传统外键,返回结果中不包含这些字段



  1. 2026-02-06 → v2.8.0 → 新增如下内容:


新增



  • Schema 核心增强 - 提升 LLM 对数据库结构的理解,提高 Text2SQL 准确性

    • 表注释支持 - Schema 信息现在包含表级别注释(comment 字段)

      • 支持的数据库:MySQL、PostgreSQL、Oracle、SQL Server、TiDB、达梦、KingbaseES、GaussDB、OceanBase、PolarDB、Vastbase、HighGo、GoldenDB、ClickHouse(14个)

      • 不支持:Redis、MongoDB(NoSQL)、SQLite(无原生表注释)



    • 隐式关系推断 - 基于列命名规则自动推断表间关系

      • 支持模式:xxx_idxxxs.idxxxIdxxxs.id(驼峰)、xxx_codexxxs.codexxx_noxxxs.xxx_no

      • 推断规则:不覆盖显式外键、验证目标表存在、验证目标列存在

      • 置信度评分:0.7-0.95,LLM 可根据置信度判断关系可靠性



    • 关系类型细化 - 通过检查唯一约束区分 one-to-onemany-to-one

    • 关系来源标注 - source 字段区分 foreign_key(显式外键)和 inferred(推断关系)




改进



  • 新增 SchemaEnhancer 工具类(src/utils/schema-enhancer.ts

  • 更新 RelationshipInfo 类型,添加 sourceconfidence 字段

  • 更新 TableInfo 类型,添加 comment 字段

  • 更新 14 个数据库适配器,添加表注释查询支持


1. 这是个什么东西?


这是个数据库万能连接器的MCP,可以使用支持MCP协议的工具(例如:Claude Desktop、Cherry Studio等)直接连接你的数据库,用自然语言查询和分析数据。


2. 有什么作用?



  • 临时数据分析 :想快速查看生产数据库的某些指标,但是不想写SQL

  • 问题排查 :需要跨多个表关联查询,但记不清表结构

  • AI 辅助开发 :希望 Claude 能直接理解你的数据库结构,生成准确的查询

  • 生成可视化大屏分析:通过自然语言描述,自动生成可视化大屏分析

    这个MCP连接了具有MCP协议的客户端和数据库,只要模型够给力,有一堆想不到的能力等你自己探索。


3. 有什么特性?


^-^ 自然语言查询 - 用中文描述需求,Claude 自动生成并执行 SQL

^-^ 智能表结构理解 - 自动获取数据库 Schema,提供精准建议

^-^ 多数据库支持 - MySQL、PostgreSQL、Redis 一键切换 (后续还会增加)

^-^ 安全第一 - 默认只读模式,防止误操作删库

^-^ 开箱即用 - 无需复杂配置,一行命令启动


4. 简单的效果预览:


以MySQL为例,有以下几个表数据:



  • users表:


  • categories表


  • products表


  • orders表


  • order_items表



4.1 Claude Desktop效果











4.2 Cherry Studio效果









5. 如何使用?


只要是支持MCP协议的工具都可以使用,这里只介绍Claude Desktop和Cherry Studio的配置,配置都类似。


5.1 配置 Claude Desktop


编辑 Claude Desktop 配置文件:


macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json


添加以下配置:


MySQL 使用示例


基础配置(只读模式)


{
"mcpServers": {
"mysql-db": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "mysql",
"--host", "localhost",
"--port", "3306",
"--user", "root",
"--password", "your_password",
"--database", "myapp_db"
]
}
}
}

启用写入模式(谨慎使用)


{
"mcpServers": {
"mysql-dev": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "mysql",
"--host", "localhost",
"--port", "3306",
"--user", "dev_user",
"--password", "dev_password",
"--database", "dev_database",
"--danger-allow-write"
]
}
}
}

PostgreSQL 使用示例


基础配置


{
"mcpServers": {
"postgres-db": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "postgres",
"--host", "localhost",
"--port", "5432",
"--user", "postgres",
"--password", "your_password",
"--database", "myapp"
]
}
}
}

连接远程数据库


{
"mcpServers": {
"postgres-prod": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "postgres",
"--host", "db.example.com",
"--port", "5432",
"--user", "readonly_user",
"--password", "secure_password",
"--database", "production"
]
}
}
}

Redis 使用示例


基础配置(无密码)


{
"mcpServers": {
"redis-cache": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "redis",
"--host", "localhost",
"--port", "6379"
]
}
}
}

带密码和数据库选择


{
"mcpServers": {
"redis-session": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "redis",
"--host", "localhost",
"--port", "6379",
"--password", "redis_password",
"--database", "1"
]
}
}
}

启动使用



  1. 重启 Claude Desktop

  2. 在对话中直接询问:



  • “帮我查看 users 表的结构”

  • “统计最近 7 天的订单数量”

  • “找出消费金额最高的 10 个用户”


Claude 会自动调用数据库工具完成查询!


同时连接多个数据库


你可以在 Claude Desktop 中同时配置多个数据库连接:


{
"mcpServers": {
"mysql-prod": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "mysql",
"--host", "prod-db.example.com",
"--port", "3306",
"--user", "readonly",
"--password", "prod_password",
"--database", "production"
]
},
"postgres-analytics": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "postgres",
"--host", "analytics.example.com",
"--port", "5432",
"--user", "analyst",
"--password", "analytics_password",
"--database", "warehouse"
]
},
"redis-cache": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "redis",
"--host", "cache.example.com",
"--port", "6379",
"--password", "cache_password"
]
}
}
}

重启 Claude Desktop 后,你可以在对话中指定使用哪个数据库:



  • “在 MySQL 生产库中查询…”

  • “从 PostgreSQL 分析库获取…”

  • “检查 Redis 缓存中的…”


5.2 配置 Cherry Studio



6. 开源地址


universal-db-mcp

如果这个项目对你有帮助,请给个 Star ^-^ 支持一下!

如果这个项目对你有帮助,请给个 Star ^-^ 支持一下!

如果这个项目对你有帮助,请给个 Star ^-^ 支持一下!

希望大家帮忙多多star!!!


7. Claude Code中配置


在项目根目录下打开PowerShell执行,这样这个mcp就可以在这个项目中使用了


#添加mcp
claude mcp add universal-db-mcp -- npx universal-db-mcp --type xxx --host xxx.xxx.xxx.xxx --port xxx --user xxx --password xxx --database xxx

下面还有一些命令可能会用到


# 删除mcp
claude mcp remove universal-db-mcp

# 查看已配置的所有 MCP 服务器
claude mcp list

# 查看某个服务器的详细配置
claude mcp get universal-db-mcp

效果:

最新回复 (19)
  • 呼哈啦 01-23 11:12
    1

    不错 不错

  • 威震天 01-23 11:15
    2

    佬友尽搞些好东西

  • anarkh 楼主 01-23 11:16
    3

    感谢佬友

  • anarkh 楼主 01-23 11:17
    4

    主要还是在L站学习到了不少东西

  • 洛邱 01-23 11:19
    5

    已star

  • 鲨鱼飞机 01-23 11:20
    6

    马上试试~ 之前用过几个都不好用 连不上 也不知道咋回事。

  • chen 01-23 11:22
    7

    最好能按需连接,要不很多后台进程,我现在用skill,用本地的mysql-cli/redis-cli

  • anarkh 楼主 01-23 11:23
    8

    感谢佬友激情star

  • czzt1 01-23 11:23
    9

    表关系是读取schema吗?可以导入文档吗

  • langren 01-23 11:25
    10

    好用不不

  • anarkh 楼主 01-23 11:30
    11

    是的,读取的schema。这个mcp其实就是连接了模型客户端与数据库,放开安全模式就能操作了

  • teamoo 01-23 11:33
    12

    帮了大忙了,感谢佬。 话说支持达梦数据库嘛

  • 老苏叶 01-23 11:35
    13

    佬,CLI支持吗?

  • anarkh 楼主 01-23 11:36
    14

    后面会加上的,我先把oracle搞上去,后面信创的国产数据库会逐步加上的,感觉达梦、ob、金仓啥的都可以加上

  • teamoo 01-23 11:37
    15

    感谢无私分享,期待!现在用这国产数据库,没有找到相关合适的mcp

  • wyq_0425 01-23 11:37
    16

    AI辅助开发数据库,很实用!

  • anarkh 楼主 01-23 11:38
    17

    CLI支持mcp,正常来说是可以的,我还没试,等我试过了告诉佬

  • Jaychyu 01-23 11:38
    18

    谢佬友,这个实用

  • 老苏叶 01-23 11:38
    19

    好的,谢谢佬,我也试试去

* 帖子来源Linux.do
返回