universal-db-mcp
v2.6.1
Published
MCP 数据库万能连接器 - 让 Claude Desktop 直接连接你的数据库
Downloads
3,990
Maintainers
Readme
为什么选择 Universal DB MCP?
想象一下,你问 AI 助手:"帮我查一下这个月订单金额最高的 10 个客户",然后立即从数据库获得结果——无需编写 SQL。Universal DB MCP 通过模型上下文协议(MCP)和 HTTP API 将 AI 助手与你的数据库连接起来,让这一切成为可能。
你: "最近 30 天注册用户的平均订单金额是多少?"
AI: 让我帮你查询一下...
┌─────────────────────────────────────┐
│ 平均订单金额: ¥127.45 │
│ 新用户总数: 1,247 │
│ 有订单的用户: 892 (71.5%) │
└─────────────────────────────────────┘✨ 特性
- 支持 17 种数据库 - MySQL、PostgreSQL、Redis、Oracle、SQL Server、MongoDB、SQLite,以及 10 种国产数据库
- 适配 55+ 平台 - 支持 Claude Desktop、Cursor、VS Code、ChatGPT、Dify 等 50+ 平台
- 灵活架构 - 2 种启动模式(stdio/http),4 种接入方式:MCP stdio、MCP SSE、MCP Streamable HTTP、REST API
- 安全第一 - 默认只读模式,防止意外的数据修改
- 智能缓存 - Schema 缓存支持可配置的 TTL,性能极速
- 批量查询优化 - 大型数据库的 Schema 获取速度提升高达 100 倍
性能提升
| 表数量 | 优化前 | 优化后 | 提升 | |--------|--------|--------|------| | 50 张表 | ~5 秒 | ~200 毫秒 | 25 倍 | | 100 张表 | ~10 秒 | ~300 毫秒 | 33 倍 | | 500 张表 | ~50 秒 | ~500 毫秒 | 100 倍 |
🚀 快速开始
安装
npm install -g universal-db-mcpMCP 模式(Claude Desktop)
将以下配置添加到 Claude Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"my-database": {
"command": "npx",
"args": [
"universal-db-mcp",
"--type", "mysql",
"--host", "localhost",
"--port", "3306",
"--user", "root",
"--password", "your_password",
"--database", "your_database"
]
}
}
}重启 Claude Desktop,然后开始提问:
- "帮我查看 users 表的结构"
- "统计最近 7 天的订单数量"
- "找出销量最高的 5 个产品"
HTTP API 模式
# 设置环境变量
export MODE=http
export HTTP_PORT=3000
export API_KEYS=your-secret-key
# 启动服务
npx universal-db-mcp# 测试 API
curl http://localhost:3000/api/healthMCP SSE 模式(Dify 和远程访问)
在 HTTP 模式下运行时,服务器还会通过 SSE(Server-Sent Events)和 Streamable HTTP 暴露 MCP 协议端点。这使得 Dify 等平台可以直接使用 MCP 协议连接。
SSE 端点(传统方式):
GET http://localhost:3000/sse?type=mysql&host=localhost&port=3306&user=root&password=xxx&database=mydbStreamable HTTP 端点(MCP 2025 规范,推荐):
POST http://localhost:3000/mcp
请求头:
X-DB-Type: mysql
X-DB-Host: localhost
X-DB-Port: 3306
X-DB-User: root
X-DB-Password: your_password
X-DB-Database: your_database
请求体:MCP JSON-RPC 请求| 端点 | 方法 | 说明 |
|------|------|------|
| /sse | GET | 建立 SSE 连接(传统方式) |
| /sse/message | POST | 向 SSE 会话发送消息 |
| /mcp | POST | Streamable HTTP 端点(推荐) |
| /mcp | GET | Streamable HTTP 的 SSE 流 |
| /mcp | DELETE | 关闭会话 |
详细配置说明请参阅 Dify 集成指南。
📊 支持的数据库
| 数据库 | 类型参数 | 默认端口 | 分类 |
|--------|----------|----------|------|
| MySQL | mysql | 3306 | 开源 |
| PostgreSQL | postgres | 5432 | 开源 |
| Redis | redis | 6379 | NoSQL |
| Oracle | oracle | 1521 | 商业 |
| SQL Server | sqlserver | 1433 | 商业 |
| MongoDB | mongodb | 27017 | NoSQL |
| SQLite | sqlite | - | 嵌入式 |
| 达梦 | dm | 5236 | 国产 |
| 人大金仓 | kingbase | 54321 | 国产 |
| 华为 GaussDB | gaussdb | 5432 | 国产 |
| 蚂蚁 OceanBase | oceanbase | 2881 | 国产 |
| TiDB | tidb | 4000 | 分布式 |
| ClickHouse | clickhouse | 8123 | OLAP |
| 阿里云 PolarDB | polardb | 3306 | 云数据库 |
| 海量 Vastbase | vastbase | 5432 | 国产 |
| 瀚高 HighGo | highgo | 5866 | 国产 |
| 中兴 GoldenDB | goldendb | 3306 | 国产 |
🏗️ 架构
┌─────────────────────────────────────────────────────────────────────────┐
│ Universal DB MCP │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ 启动模式: │
│ ┌────────────────────────────┬────────────────────────────────────┐ │
│ │ stdio 模式 │ http 模式 │ │
│ │ (npm run start:mcp) │ (npm run start:http) │ │
│ └─────────────┬──────────────┴───────────────┬────────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────┐ ┌───────────────────────────────────┐ │
│ │ MCP 协议 │ │ HTTP 服务器 │ │
│ │ (stdio 传输) │ │ │ │
│ │ │ │ ┌─────────────────────────────┐ │ │
│ │ 工具: │ │ │ MCP 协议 │ │ │
│ │ • execute_query │ │ │ (SSE / Streamable HTTP) │ │ │
│ │ • get_schema │ │ │ │ │ │
│ │ • get_table_info │ │ │ 工具:(与 stdio 相同) │ │ │
│ │ • clear_cache │ │ │ • execute_query │ │ │
│ │ │ │ │ • get_schema │ │ │
│ │ 适用:Claude Desktop, │ │ │ • get_table_info │ │ │
│ │ Cursor 等 │ │ │ • clear_cache │ │ │
│ └─────────────┬───────────┘ │ │ │ │ │
│ │ │ │ 适用:Dify、远程访问 │ │ │
│ │ │ └──────────────┬──────────────┘ │ │
│ │ │ │ │ │
│ │ │ ┌──────────────┴──────────────┐ │ │
│ │ │ │ REST API │ │ │
│ │ │ │ │ │ │
│ │ │ │ 端点: │ │ │
│ │ │ │ • /api/connect │ │ │
│ │ │ │ • /api/query │ │ │
│ │ │ │ • /api/schema │ │ │
│ │ │ │ • ...(10+ 端点) │ │ │
│ │ │ │ │ │ │
│ │ │ │ 适用:Coze、n8n、自定义 │ │ │
│ │ │ └──────────────┬──────────────┘ │ │
│ │ └─────────────────┼─────────────────┘ │
│ │ │ │
│ └──────────────────┬───────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ 核心业务逻辑层 │ │
│ │ • 查询执行 • Schema 缓存 │ │
│ │ • 安全校验 • 连接管理 │ │
│ └──────────────────────────────────┬───────────────────────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ 数据库适配器层 │ │
│ │ MySQL │ PostgreSQL │ Redis │ Oracle │ MongoDB │ SQLite │ ... │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘🔒 安全
默认情况下,Universal DB MCP 运行在只读模式,会阻止所有写操作(INSERT、UPDATE、DELETE、DROP 等)。
如需启用写操作(请谨慎使用!):
--danger-allow-write最佳实践:
- 生产环境永远不要启用写入模式
- 使用专用的只读数据库账号
- 通过 VPN 或跳板机连接
- 定期审计查询日志
🔌 支持的平台
Universal DB MCP 可与任何支持 MCP 协议或 REST API 的平台配合使用。以下是完整列表:
AI 代码编辑器 & IDE
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | Cursor | MCP stdio | 内置 MCP 支持的 AI 代码编辑器 | EN / 中文 | | Windsurf | MCP stdio | Codeium 的 AI IDE,带 Cascade 智能体 | EN / 中文 | | VS Code | MCP stdio / REST API | 通过 GitHub Copilot 代理模式或 Cline/Continue 扩展 | EN / 中文 | | Zed | MCP stdio | 高性能开源代码编辑器 | EN / 中文 | | IntelliJ IDEA | MCP stdio | JetBrains IDE,支持 MCP(2025.1+) | EN / 中文 | | PyCharm | MCP stdio | JetBrains Python IDE | EN / 中文 | | WebStorm | MCP stdio | JetBrains JavaScript IDE | EN / 中文 | | Android Studio | MCP stdio | 通过 JetBrains MCP 插件 | EN / 中文 | | Neovim | MCP stdio | 通过 MCPHub.nvim 插件 | EN / 中文 | | Emacs | MCP stdio | 通过 mcp.el 包 | EN / 中文 |
AI 编程助手
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | Claude Code | MCP stdio | Anthropic 的智能编程工具 | EN / 中文 | | GitHub Copilot | MCP stdio | VS Code/JetBrains 中的代理模式 | EN / 中文 | | Cline | MCP stdio / REST API | VS Code 自主编程智能体 | EN / 中文 | | Continue | MCP stdio | 开源 AI 代码助手 | EN / 中文 | | Roo Code | MCP stdio | Cline 的 VS Code 分支 | EN / 中文 | | Sourcegraph Cody | MCP stdio | AI 编程助手 | EN / 中文 | | Amazon Q Developer | MCP stdio | AWS AI 编程助手 | EN / 中文 | | Devin | MCP stdio | AI 软件工程师 | EN / 中文 | | Goose | MCP stdio | Block 的 AI 编程智能体 | EN / 中文 | | Gemini CLI | MCP stdio | Google 命令行 AI 工具 | EN / 中文 |
桌面 AI 聊天应用
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | Claude Desktop | MCP stdio | Anthropic 官方桌面应用 | EN / 中文 | | ChatGPT Desktop | MCP SSE/Streamable HTTP | OpenAI 桌面应用,支持 MCP 连接器 | EN / 中文 | | Cherry Studio | MCP stdio | 多模型桌面聊天应用 | EN / 中文 | | LM Studio | MCP stdio | 本地运行 LLM,支持 MCP | EN / 中文 | | Jan | MCP stdio | 开源 ChatGPT 替代品 | EN / 中文 | | Msty | MCP stdio | 桌面 AI 聊天应用 | EN / 中文 | | LibreChat | MCP stdio | 开源聊天界面 | EN / 中文 | | Witsy | MCP stdio | 桌面 AI 助手 | EN / 中文 | | 5ire | MCP stdio | 跨平台 AI 聊天 | EN / 中文 | | ChatMCP | MCP stdio | MCP 专用聊天界面 | EN / 中文 | | HyperChat | MCP stdio | 多平台聊天应用 | EN / 中文 | | Tome | MCP stdio | macOS 本地 LLM 应用 | EN / 中文 |
Web AI 平台
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | Claude.ai | MCP SSE/Streamable HTTP | Anthropic 网页界面 | EN / 中文 | | ChatGPT | MCP SSE/Streamable HTTP | 通过自定义连接器 | EN / 中文 | | Dify | MCP SSE/Streamable HTTP | LLM 应用开发平台 | EN / 中文 | | Coze | REST API | 字节跳动 AI 机器人平台 | EN / 中文 | | n8n | REST API / MCP | 工作流自动化平台 | EN / 中文 | | Replit | MCP stdio | 在线 IDE,带 AI 智能体 | EN / 中文 | | MindPal | MCP SSE/Streamable HTTP | 无代码 AI 智能体构建器 | EN / 中文 |
智能体框架 & SDK
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | LangChain | MCP stdio | 流行的 LLM 框架 | EN / 中文 | | Smolagents | MCP stdio | Hugging Face 智能体库 | EN / 中文 | | OpenAI Agents SDK | MCP SSE/Streamable HTTP | OpenAI 智能体框架 | EN / 中文 | | Amazon Bedrock Agents | MCP SSE/Streamable HTTP | AWS AI 智能体服务 | EN / 中文 | | Google ADK | MCP stdio | Google 智能体开发套件 | EN / 中文 | | Vercel AI SDK | MCP stdio | Vercel AI 开发套件 | EN / 中文 | | Spring AI | MCP stdio | Java/Spring AI 框架 | EN / 中文 |
CLI 工具 & 终端
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | Claude Code CLI | MCP stdio | 终端编程智能体 | EN / 中文 | | Warp | MCP stdio | AI 驱动的终端 | EN / 中文 | | Oterm | MCP stdio | 通过 CLI 与 Ollama 聊天 | EN / 中文 | | MCPHost | MCP stdio | CLI LLM 聊天工具 | EN / 中文 |
效率 & 自动化工具
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | Raycast | MCP stdio | macOS 效率启动器 | EN / 中文 | | Notion | MCP SSE/Streamable HTTP | 带 AI 集成的工作空间 | EN / 中文 | | Obsidian | MCP stdio | 通过 MCP Tools 插件 | EN / 中文 | | Home Assistant | MCP stdio | 智能家居平台 | EN / 中文 |
即时通讯平台集成
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | Slack | MCP stdio / REST API | 通过 Slack MCP 机器人 | EN / 中文 | | Discord | MCP stdio / REST API | 通过 Discord MCP 机器人 | EN / 中文 | | Mattermost | MCP stdio | 开源即时通讯 | EN / 中文 |
本地 LLM 运行器
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | Ollama | MCP stdio | 本地运行 LLM | EN / 中文 | | LM Studio | MCP stdio | 本地 LLM 桌面应用 | EN / 中文 | | Jan | MCP stdio | 离线 ChatGPT 替代品 | EN / 中文 |
开发 & 测试工具
| 平台 | 接入方式 | 说明 | 集成指南 | |------|----------|------|----------| | MCP Inspector | MCP stdio | 官方 MCP 调试工具 | EN / 中文 | | Postman | REST API / MCP | API 测试平台 | EN / 中文 |
提示:任何 MCP 兼容客户端都可以通过 stdio(本地)或 SSE/Streamable HTTP(远程)连接。任何 HTTP 客户端都可以使用 REST API。
📚 文档
快速开始
部署
数据库指南
HTTP API
集成
AI 编辑器 & IDE: Cursor | VS Code | JetBrains | Windsurf | Zed | Neovim | Emacs
AI 助手: Claude Desktop | Claude Code | GitHub Copilot | Cline | Continue
AI 平台: Dify | Coze | n8n | ChatGPT | LangChain
桌面应用: Cherry Studio | LM Studio | Jan | Ollama
工具: MCP Inspector | Postman
📁 查看全部 55 个集成指南 | English version: remove
.zh-CNfrom filename
进阶
🤝 贡献
欢迎贡献代码!请在提交 Pull Request 之前阅读我们的贡献指南。
# 克隆仓库
git clone https://github.com/Anarkh-Lee/universal-db-mcp.git
# 安装依赖
npm install
# 构建
npm run build
# 运行测试
npm test📄 许可证
本项目采用 MIT 许可证。
🌟 Star 历史
如果你觉得这个项目有用,请考虑给它一个 Star!你的支持帮助我们持续改进 Universal DB MCP。
📝 更新日志
详见 CHANGELOG.md 了解详细的版本历史。
