db-mcp
Click on "Deploy 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., "@db-mcplist tables in db_1"
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.
Multi-Database MCP Server
A Model Context Protocol (MCP) server supporting MySQL, PostgreSQL, SQLite, and Supabase with fault-tolerant architecture and security features.
Features
Database Support
MySQL/MariaDB: Full SQL support with connection pooling
PostgreSQL: Native support using Bun.sql with JSON/JSONB
SQLite: File-based and in-memory databases
Supabase: REST API integration with real-time capabilities
Security & Reliability
SQL injection detection and query validation
Rate limiting and access controls
Independent connection management with auto-retry
Health monitoring with graceful degradation
Audit logging and security reporting
Related MCP server: Database Bridge MCP Server
Prerequisites
Install Bun
This project requires Bun runtime. Install it using:
macOS/Linux:
curl -fsSL https://bun.sh/install | bashWindows:
powershell -c "irm bun.sh/install.ps1 | iex"After installation, restart your terminal and verify with:
bun --versionSetup
1. Install Dependencies
bun install2. Configure Environment
Create .env file with your database connections:
cp .env.example .env
# Edit .env with your database credentials3. Start Server
bun run start4. Claude Desktop Integration
Add to your Claude Desktop MCP settings:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %AppData%\Claude\claude_desktop_config.json (or C:\Users\{username}\AppData\Roaming\Claude\claude_desktop_config.json)
{
"mcpServers": {
"db-mcp": {
"command": "/Users/{user}/.bun/bin/bun", // Use full path - run `which bun` to get your specific path
"args": ["run", "start"],
"cwd": "/path/to/your/db-mcp",
"env": {
"NODE_ENV": "production",
"DEFAULT_DATABASE": "db_1",
"READ_ONLY_MODE": "false",
"MAX_QUERY_RESULTS": "1000",
"DB_TYPE_1": "mysql",
"DB_HOST_1": "localhost",
"DB_PORT_1": "3306",
"DB_USER_1": "root",
"DB_PASSWORD_1": "your_password",
"DB_NAME_1": "your_database"
}
}
}
}Note: Replace the environment variables with your actual database credentials. You can configure multiple databases using the numbered pattern (DB_TYPE_2, DB_HOST_2, etc.).
Restart Claude Desktop to activate the database server.
Configuration
Uses numbered environment variables (DB_TYPE_1, DB_HOST_1, etc.) for multi-database configuration:
# MySQL
DB_TYPE_1=mysql
DB_HOST_1=localhost
DB_PORT_1=3306
DB_USER_1=username
DB_PASSWORD_1=password
DB_NAME_1=database
# PostgreSQL
DB_TYPE_2=postgresql
DB_CONNECTION_STRING_2=postgresql://user:pass@host:5432/dbname
# SQLite
DB_TYPE_3=sqlite
DB_FILE_3=/path/to/database.db
# Supabase
DB_TYPE_4=supabase
DB_PROJECT_URL_4=https://your-project.supabase.co
DB_ANON_KEY_4=your_anon_key
# Global settings
DEFAULT_DATABASE=db_1
READ_ONLY_MODE=false
MAX_QUERY_RESULTS=1000Usage
# Start server
bun run start
# Development mode
bun run devBasic Operations
// Switch databases
await switchEnvironment({ databaseId: 'db_2' })
// List tables
await listTables({ databaseId: 'db_1' })
// Query data
await selectData({
table: 'users',
columns: ['id', 'name'],
where: 'status = ?',
params: ['active'],
limit: 50
})Architecture
Fault Tolerance: Independent connections with auto-retry and health monitoring
Database Factory: Common interface for all database types
Security: Query validation, rate limiting, and audit logging
Development
# Add new database
DB_TYPE_3=postgresql
DB_HOST_3=localhost
# Restart server - auto-discovered as db_3
# Switch context
switch_environment db_3See CLAUDE.md for detailed configuration examples.
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Your Supabase account in natural language: run SQL, apply migrations, manage tables, storage, edge f
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables secure interaction with multiple SQL database engines (MySQL, PostgreSQL, SQLite, SQL Server) through a standardized interface. Supports schema inspection, safe query execution, and controlled write operations with built-in security restrictions.5MIT
- AlicenseNot gradedqualityDmaintenanceEnables secure database interactions with MySQL, PostgreSQL, and SQLite through granular permissions, multi-database support, and cloud-ready SSL/TLS connections. Supports read-only modes, schema-specific permissions, and transaction management for safe database operations.5 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural language database operations on MySQL databases with AI integration, supporting CRUD operations, schema inspection, and audit logging with built-in security features including SQL injection protection and permission controls.362 npmMIT

Bollard MCPofficial
AlicenseAqualityDmaintenanceEnables safe, AI-driven database interactions with schema discovery, intent validation, and session memory, supporting multiple databases.1435 PyPI2AGPL 3.0