Allows for natural language querying and data analysis of MySQL databases, including the ability to inspect schemas and execute read-only queries by default.
Enables connection to PostgreSQL databases for natural language-based data querying, schema inspection, and data analysis.
Provides the ability to connect to and interact with Redis instances for data retrieval and analysis through natural language commands.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Universal DB MCPShow the schema for the users table and list the 5 most recent signups"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Why Universal DB MCP?
Imagine asking your AI assistant: "Show me the top 10 customers by order value this month" and getting instant results from your database - no SQL writing required. Universal DB MCP makes this possible by bridging AI assistants with your databases through the Model Context Protocol (MCP) and HTTP API.
You: "What's the average order value for users who signed up in the last 30 days?"
AI: Let me query that for you...
┌─────────────────────────────────────┐
│ Average Order Value: $127.45 │
│ Total New Users: 1,247 │
│ Users with Orders: 892 (71.5%) │
└─────────────────────────────────────┘✨ Features
17 Database Support - MySQL, PostgreSQL, Redis, Oracle, SQL Server, MongoDB, SQLite, and 10 Chinese domestic databases
55+ Platform Integrations - Works with Claude Desktop, Cursor, VS Code, ChatGPT, Dify, and 50+ other platforms
Flexible Architecture - 2 startup modes (stdio/http) with 4 access methods: MCP stdio, MCP SSE, MCP Streamable HTTP, and REST API
Security First - Read-only mode by default prevents accidental data modifications
Intelligent Caching - Schema caching with configurable TTL for blazing-fast performance
Batch Query Optimization - Up to 100x faster schema retrieval for large databases
Schema Enhancement - Table comments, implicit relationship inference for better Text2SQL accuracy
Data Masking - Automatic sensitive data protection (phone, email, ID card, bank card, etc.)
Performance Improvements
Tables | Before | After | Improvement |
50 tables | ~5s | ~200ms | 25x faster |
100 tables | ~10s | ~300ms | 33x faster |
500 tables | ~50s | ~500ms | 100x faster |
🚀 Quick Start
Installation
npm install -g universal-db-mcpMCP Mode (Claude Desktop)
Add to your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%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"
]
}
}
}Restart Claude Desktop and start asking questions:
"Show me the structure of the users table"
"Count orders from the last 7 days"
"Find the top 5 products by sales"
HTTP API Mode
# Set environment variables
export MODE=http
export HTTP_PORT=3000
export API_KEYS=your-secret-key
# Start the server
npx universal-db-mcp# Test the API
curl http://localhost:3000/api/healthMCP SSE Mode (Dify and Remote Access)
When running in HTTP mode, the server also exposes MCP protocol endpoints via SSE (Server-Sent Events) and Streamable HTTP. This allows platforms like Dify to connect using the MCP protocol directly.
SSE Endpoint (Legacy):
GET http://localhost:3000/sse?type=mysql&host=localhost&port=3306&user=root&password=xxx&database=mydbStreamable HTTP Endpoint (MCP 2025 Spec, Recommended):
POST http://localhost:3000/mcp
Headers:
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
Body: MCP JSON-RPC requestEndpoint | Method | Description |
| GET | Establish SSE connection (legacy) |
| POST | Send message to SSE session |
| POST | Streamable HTTP endpoint (recommended) |
| GET | SSE stream for Streamable HTTP |
| DELETE | Close session |
See Dify Integration Guide for detailed setup instructions.
📊 Supported Databases
Database | Type | Default Port | Category |
MySQL |
| 3306 | Open Source |
PostgreSQL |
| 5432 | Open Source |
Redis |
| 6379 | NoSQL |
Oracle |
| 1521 | Commercial |
SQL Server |
| 1433 | Commercial |
MongoDB |
| 27017 | NoSQL |
SQLite |
| - | Embedded |
Dameng (达梦) |
| 5236 | Chinese |
KingbaseES |
| 54321 | Chinese |
GaussDB |
| 5432 | Chinese (Huawei) |
OceanBase |
| 2881 | Chinese (Ant) |
TiDB |
| 4000 | Distributed |
ClickHouse |
| 8123 | OLAP |
PolarDB |
| 3306 | Cloud (Alibaba) |
Vastbase |
| 5432 | Chinese |
HighGo |
| 5866 | Chinese |
GoldenDB |
| 3306 | Chinese (ZTE) |
🏗️ Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ Universal DB MCP │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ Startup Modes: │
│ ┌────────────────────────────┬────────────────────────────────────┐ │
│ │ stdio mode │ http mode │ │
│ │ (npm run start:mcp) │ (npm run start:http) │ │
│ └─────────────┬──────────────┴───────────────┬────────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────┐ ┌───────────────────────────────────┐ │
│ │ MCP Protocol │ │ HTTP Server │ │
│ │ (stdio transport) │ │ │ │
│ │ │ │ ┌─────────────────────────────┐ │ │
│ │ Tools: │ │ │ MCP Protocol │ │ │
│ │ • execute_query │ │ │ (SSE / Streamable HTTP) │ │ │
│ │ • get_schema │ │ │ │ │ │
│ │ • get_table_info │ │ │ Tools: (same as stdio) │ │ │
│ │ • clear_cache │ │ │ • execute_query │ │ │
│ │ • get_enum_values │ │ │ • get_schema │ │ │
│ │ • get_sample_data │ │ │ • get_table_info │ │ │
│ │ │ │ │ • clear_cache │ │ │
│ │ For: Claude Desktop, │ │ │ • get_enum_values │ │ │
│ │ Cursor, etc. │ │ │ • get_sample_data │ │ │
│ └─────────────┬───────────┘ │ │ │ │ │
│ │ │ │ For: Dify, Remote Access │ │ │
│ │ │ └──────────────┬──────────────┘ │ │
│ │ │ │ │ │
│ │ │ ┌──────────────┴──────────────┐ │ │
│ │ │ │ REST API │ │ │
│ │ │ │ │ │ │
│ │ │ │ Endpoints: │ │ │
│ │ │ │ • /api/connect │ │ │
│ │ │ │ • /api/query │ │ │
│ │ │ │ • /api/schema │ │ │
│ │ │ │ • ... (10+ endpoints) │ │ │
│ │ │ │ │ │ │
│ │ │ │ For: Coze, n8n, Custom │ │ │
│ │ │ └──────────────┬──────────────┘ │ │
│ │ └─────────────────┼─────────────────┘ │
│ │ │ │
│ └──────────────────┬───────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ Core Business Logic │ │
│ │ • Query Execution • Schema Caching │ │
│ │ • Safety Validation • Connection Management │ │
│ └──────────────────────────────────┬───────────────────────────────┘ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ Database Adapter Layer │ │
│ │ MySQL │ PostgreSQL │ Redis │ Oracle │ MongoDB │ SQLite │ ... │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘🔒 Security
By default, Universal DB MCP runs in read-only mode, blocking all write operations (INSERT, UPDATE, DELETE, DROP, etc.).
Permission Modes
Fine-grained permission control is supported for flexible configuration:
Mode | Allowed Operations | Description |
| SELECT | Read-only, safest |
| SELECT, INSERT, UPDATE | Read/write but no delete |
| All operations | Full control (dangerous!) |
| Custom combination | Specify via |
Permission Types:
read- SELECT queries (always included)insert- INSERT, REPLACEupdate- UPDATEdelete- DELETE, TRUNCATEddl- CREATE, ALTER, DROP, RENAME
Usage Examples:
# Read-only mode (default)
npx universal-db-mcp --type mysql ...
# Read/write but no delete
npx universal-db-mcp --type mysql --permission-mode readwrite ...
# Custom: only read and insert
npx universal-db-mcp --type mysql --permissions read,insert ...
# Full control (equivalent to --danger-allow-write)
npx universal-db-mcp --type mysql --permission-mode full ...Permission Configuration by Transport:
⚠️ Different transports use different parameter naming conventions!
Transport | Parameter Location | Permission Mode | Custom Permissions |
STDIO (Claude Desktop) | CLI args |
|
|
SSE (Dify, etc.) | URL Query |
|
|
Streamable HTTP | HTTP Header |
|
|
REST API | JSON Body |
|
|
Best Practices:
Never enable write mode in production
Use dedicated read-only database accounts
Connect through VPN or bastion hosts
Regularly audit query logs
🔌 Supported Platforms
Universal DB MCP works with any platform that supports the MCP protocol or REST API. Here's a comprehensive list:
AI-Powered Code Editors & IDEs
Platform | Access Method | Description | Guide |
MCP stdio | AI-powered code editor with built-in MCP support | ||
MCP stdio | Codeium's AI IDE with Cascade agent | ||
MCP stdio / REST API | Via GitHub Copilot agent mode or Cline/Continue extensions | ||
MCP stdio | High-performance open-source code editor | ||
MCP stdio | JetBrains IDE with MCP support (2025.1+) | ||
MCP stdio | JetBrains Python IDE | ||
MCP stdio | JetBrains JavaScript IDE | ||
MCP stdio | Via JetBrains MCP plugin | ||
MCP stdio | Via MCPHub.nvim plugin | ||
MCP stdio | Via mcp.el package |
AI Coding Assistants
Platform | Access Method | Description | Guide |
MCP stdio | Anthropic's agentic coding tool | ||
MCP stdio | Agent mode in VS Code/JetBrains | ||
MCP stdio / REST API | Autonomous coding agent for VS Code | ||
MCP stdio | Open-source AI code assistant | ||
MCP stdio | Fork of Cline for VS Code | ||
MCP stdio | AI coding assistant | ||
MCP stdio | AWS AI coding assistant | ||
MCP stdio | AI software engineer | ||
MCP stdio | Block's AI coding agent | ||
MCP stdio | Google's command-line AI tool |
Desktop AI Chat Applications
Platform | Access Method | Description | Guide |
MCP stdio | Anthropic's official desktop app | ||
MCP SSE/Streamable HTTP | OpenAI's desktop app with MCP connectors | ||
MCP stdio | Multi-model desktop chat app | ||
MCP stdio | Run local LLMs with MCP support | ||
MCP stdio | Open-source ChatGPT alternative | ||
MCP stdio | Desktop AI chat application | ||
MCP stdio | Open-source chat interface | ||
MCP stdio | Desktop AI assistant | ||
MCP stdio | Cross-platform AI chat | ||
MCP stdio | MCP-focused chat UI | ||
MCP stdio | Multi-platform chat app | ||
MCP stdio | macOS app for local LLMs |
Web-Based AI Platforms
Platform | Access Method | Description | Guide |
MCP SSE/Streamable HTTP | Anthropic's web interface | ||
MCP SSE/Streamable HTTP | Via custom connectors | ||
MCP SSE/Streamable HTTP | LLM app development platform | ||
REST API | ByteDance's AI bot platform | ||
REST API / MCP | Workflow automation platform | ||
MCP stdio | Online IDE with AI agent | ||
MCP SSE/Streamable HTTP | No-code AI agent builder |
Agent Frameworks & SDKs
Platform | Access Method | Description | Guide |
MCP stdio | Popular LLM framework | ||
MCP stdio | Hugging Face agent library | ||
MCP SSE/Streamable HTTP | OpenAI's agent framework | ||
MCP SSE/Streamable HTTP | AWS AI agent service | ||
MCP stdio | Google's Agent Development Kit | ||
MCP stdio | Vercel's AI development kit | ||
MCP stdio | Java/Spring AI framework |
CLI Tools & Terminal
Platform | Access Method | Description | Guide |
MCP stdio | Terminal-based coding agent | ||
MCP stdio | AI-powered terminal | ||
MCP stdio | Chat with Ollama via CLI | ||
MCP stdio | CLI chat with LLMs |
Productivity & Automation
Platform | Access Method | Description | Guide |
MCP stdio | macOS productivity launcher | ||
MCP SSE/Streamable HTTP | Workspace with AI integration | ||
MCP stdio | Via MCP Tools plugin | ||
MCP stdio | Home automation platform |
Messaging Platform Integrations
Platform | Access Method | Description | Guide |
MCP stdio / REST API | Via Slack MCP bots | ||
MCP stdio / REST API | Via Discord MCP bots | ||
MCP stdio | Open-source messaging |
Local LLM Runners
Platform | Access Method | Description | Guide |
MCP stdio | Run local LLMs | ||
MCP stdio | Local LLM desktop app | ||
MCP stdio | Offline ChatGPT alternative |
Development & Testing Tools
Platform | Access Method | Description | Guide |
MCP stdio | Official MCP debugging tool | ||
REST API / MCP | API testing platform |
Note: Any MCP-compatible client can connect via stdio (local) or SSE/Streamable HTTP (remote). Any HTTP client can use the REST API.
📚 Documentation
Getting Started
Deployment
Database Guides
HTTP API
Integrations
AI Editors & IDEs: Cursor | VS Code | JetBrains | Windsurf | Zed | Neovim | Emacs
AI Assistants: Claude Desktop | Claude Code | GitHub Copilot | Cline | Continue
AI Platforms: Dify | Coze | n8n | ChatGPT | LangChain
Desktop Apps: Cherry Studio | LM Studio | Jan | Ollama
Tools: MCP Inspector | Postman
📁 View all 55 integration guides | 中文版本请在对应文档名后加
.zh-CN
Advanced
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide before submitting a Pull Request.
# Clone the repository
git clone https://github.com/Anarkh-Lee/universal-db-mcp.git
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test📄 License
This project is licensed under the MIT License.
🌟 Star History
If you find this project useful, please consider giving it a star! Your support helps us continue improving Universal DB MCP.
📝 Changelog
See CHANGELOG.md for a detailed version history.