Enterprise-grade MCP SQL Access Server v2.5.1 - Connect Claude Desktop to your databases with bulletproof security, comprehensive monitoring, and seamless multi-database support.
- SELECT-Only Mode - Production-safe read-only database access
- Query Validation - Advanced SQL injection prevention and complexity analysis
- SSH Tunneling - Secure encrypted connections through bastion hosts
- Audit Logging - Comprehensive security event tracking
- Connection Pooling - Efficient database connection management
- Schema Caching - Lightning-fast metadata access
- Query Optimization - Built-in performance analysis and recommendations
- Batch Operations - Execute multiple queries with transaction support
- PostgreSQL - Full support including advanced features
- MySQL/MariaDB - Complete compatibility with all versions
- SQLite - Perfect for development and small applications
- SQL Server - Enterprise-grade Microsoft SQL Server support
- 5-Minute Setup - Interactive configuration wizard or automatic installer
- TypeScript Native - Full type safety and IntelliSense support
- Comprehensive Docs - Detailed guides, tutorials, and API reference
- Extensive Testing - Unit, integration, and end-to-end test coverage
git clone https://github.com/AraneaDev/sql-access.git
cd sql-access
npm install
npm run build
npm linkNote:
npm linkmakes the CLI commands (mcp-sql-install,mcp-sql-server,mcp-sql-setup) available globally. Alternatively, you can run them directly withnode dist/install.js.
mcp-sql-installRegisters the MCP server with Claude Code and/or Claude Desktop. Use --client=claude-code or --client=claude-desktop to target a specific client.
mcp-sql-setupInteractive wizard for adding database connections, security settings, and SSH tunnels. You can also add databases at runtime using the sql_add_database MCP tool.
"Show me the top 10 customers by revenue this quarter, including their growth rate compared to last quarter"
"Check the status of our user registration system - how many signups in the last 24 hours and any error patterns?"
"Analyze the performance of our product catalog queries and suggest optimizations"
"Generate test data scenarios based on our current user demographics"
graph TB
Claude[Claude Desktop] --> MCP[MCP Protocol]
MCP --> Security[Security Layer]
Security --> Connection[Connection Manager]
Connection --> Adapters[Database Adapters]
Adapters --> PostgreSQL[(PostgreSQL)]
Adapters --> MySQL[(MySQL)]
Adapters --> SQLite[(SQLite)]
Adapters --> MSSQL[(SQL Server)]
Security --> SSH[SSH Tunneling]
SSH --> Bastion[Bastion Host]
Bastion --> RemoteDB[(Remote Database)]
Built on solid foundations:
- TypeScript - Full type safety and modern development experience
- Node.js - Cross-platform compatibility and excellent ecosystem
- MCP Protocol - Standard protocol for AI tool integration
- Industry-standard drivers - Proven database connectivity libraries
- 5-Minute Quick Start - Get running fast
- Installation Guide - Detailed setup instructions
- First Database Tutorial - Connect your first database
- Claude Integration - Set up Claude Desktop
- System Architecture - How it all works together
- Security Architecture - Defense-in-depth security model
- Database Layer - Adapter pattern implementation
- MCP Tools Reference - Complete tool documentation
- TypeScript API - Developer API reference
- Configuration Reference - All configuration options
- Multi-Database Setup - Managing multiple databases
- SSH Tunneling - Secure remote access
- Security Hardening - Production security guide
- Performance Tuning - Optimization strategies
[database.production]
type=postgresql
host=internal-db.company.local
port=5432
database=production_app
username=readonly_user
password=secure_random_password
ssl=true
select_only=true
timeout=15000
# SSH Tunnel Configuration
ssh_host=bastion.company.com
ssh_port=22
ssh_username=tunnel_user
ssh_private_key=/secure/path/ssh_key
[security]
max_joins=5
max_subqueries=3
max_complexity_score=50[database.transactions]
type=postgresql
host=transactions-db.company.com
database=transactions
select_only=true
[database.users]
type=mysql
host=users-db.company.com
database=users
select_only=true
[database.analytics]
type=sqlite
file=./data/analytics.sqlite
select_only=false
[database.local_cache]
type=sqlite
file=./data/cache.sqlite
select_only=false
mcp_configurable=true
[extension]
max_rows=1000
query_timeout=30000- Query Validation - SQL injection prevention and syntax analysis
- Complexity Limits - Prevent resource-intensive queries
- SELECT-Only Mode - Read-only database access for production safety
- Connection Encryption - SSL/TLS and SSH tunnel support
- Audit Logging - Comprehensive security event tracking
- Field Redaction - Automatic masking of sensitive data in query results
Automatically mask, replace, or partially obscure sensitive fields (emails, phone numbers, SSNs, etc.) in query results before they reach Claude or other clients. Redaction is configured per-database in config.ini:
[database.production]
type=postgresql
host=prod-db.company.com
database=app_db
username=readonly_user
password=secure_pass
select_only=true
# Field Redaction
redaction_enabled=true
redaction_rules=*email*:partial_mask,*phone*:full_mask,ssn:replace:[PROTECTED]
redaction_case_sensitive=false
redaction_log_access=trueRedaction types:
| Type | Example Input | Example Output |
|---|---|---|
partial_mask |
john.doe@example.com |
j******.e@*****.com |
full_mask |
555-123-4567 |
************ |
replace |
123-45-6789 |
[PROTECTED] |
custom |
Regex-based | Custom pattern |
Field patterns: exact match (email), wildcard (*email*), or regex (/^user_.+$/).
- SOC 2 Type II compatible logging and monitoring
- GDPR/CCPA compliant data access controls
- HIPAA suitable with proper configuration
- PCI DSS compatible for payment data environments
MCP SQL Access Server supports runtime database management through dedicated MCP tools. This allows you to add, update, and remove database connections without restarting the server.
| Tool | Description | Requirements |
|---|---|---|
sql_add_database |
Add new database connections at runtime via MCP | None |
sql_update_database |
Update existing database settings via MCP | mcp_configurable=true on the target database |
sql_remove_database |
Remove database connections via MCP | mcp_configurable=true on the target database |
sql_get_config |
View database configuration (passwords are automatically redacted) | None |
sql_set_mcp_configurable |
Lock a database from MCP changes | One-way operation: can only lock (false), unlocking requires manual config edit |
- Set
mcp_configurable=truein your database config to allow MCP-driven updates and removal. - The
sql_set_mcp_configurabletool is a one-way lock: once set tofalse, the database can no longer be modified or removed via MCP. Unlocking requires a manual edit to the configuration file. - The
sql_get_configtool always redacts passwords and other sensitive fields before returning configuration data. - Databases added at runtime via
sql_add_databasehavemcp_configurable=trueby default.
| Operation | PostgreSQL | MySQL | SQLite | SQL Server |
|---|---|---|---|---|
| Simple SELECT | ~5ms | ~4ms | ~1ms | ~6ms |
| Complex JOIN | ~45ms | ~40ms | ~8ms | ~50ms |
| Schema Capture | ~150ms | ~120ms | ~30ms | ~180ms |
| Connection Setup | ~80ms | ~60ms | ~5ms | ~100ms |
- Connection Pooling - Reuse database connections efficiently
- Schema Caching - Instant metadata access after initial capture
- Query Optimization - Built-in EXPLAIN plan analysis
- Result Streaming - Handle large datasets efficiently
- Batch Operations - Execute multiple queries optimally
The following CLI commands are available after installation:
| Command | Description |
|---|---|
mcp-sql-server |
Start the MCP SQL Access Server |
mcp-sql-setup |
Run the interactive configuration wizard |
mcp-sql-install |
Automatic installer for quick setup and Claude Desktop integration |
git clone https://github.com/AraneaDev/sql-access.git
cd sql-access
npm install
npm run dev
npm testThis project is licensed under the MIT License.
- Always free for individual developers and small teams
- No vendor lock-in - use with any Claude deployment
- Transparent development process and roadmap
- TypeScript - Language and tooling
- Node.js - Runtime platform
- Jest - Testing framework
- ESLint - Code quality
- MCP Protocol - AI integration standard
- Anthropic - For Claude AI and MCP protocol
- TypeScript Team - For excellent tooling
- Database Driver Maintainers - For reliable connectivity libraries
Get Started Now | Documentation
Transform your database interactions with AI-powered SQL intelligence