🗄️ Database MCP Server

Enterprise Database Integration

Secure read-only access to Oracle, Snowflake, PostgreSQL, and AWS RDS databases with enterprise authentication and compliance features.

Supported Database Systems

Production-ready connectors for enterprise database platforms

🏛️ Oracle Database

Connect to Oracle Enterprise databases with advanced security features.

  • Oracle 19c, 21c, 23c support
  • SSL/TLS encryption
  • Wallet-based authentication
  • Read-only user connections

❄️ Snowflake Data Warehouse

Access Snowflake data warehouse with enterprise SSO integration.

  • SSO authentication support
  • Role-based access control
  • Query result caching
  • Warehouse auto-suspend

🐘 PostgreSQL

Connect to PostgreSQL instances with advanced connection pooling.

  • PostgreSQL 12+ compatibility
  • Connection pooling (PgBouncer)
  • SSL certificate authentication
  • Read replica support

☁️ AWS RDS

Secure connections to RDS instances with IAM authentication.

  • IAM database authentication
  • RDS Proxy integration
  • Multi-AZ deployment support
  • Automated failover handling

Step-by-Step Setup

Follow these steps to connect to your enterprise databases

Step 1: Install the Database MCP Server

First, install the database MCP server on your development machine:

# Install the database MCP server
npm install -g @mcp/database-server

# Verify installation
mcp --version

Step 2: Get Your Database Connection Details

Contact your database administrator or check your company's developer portal for:

  • Database hostname (e.g., oracle.company.com)
  • Port number (e.g., 1521 for Oracle)
  • Database name or service name
  • Read-only username and password
  • SSL certificates (if required)

Step 3: Configure Your Database Connection

Choose your database type and run the appropriate command:

For Oracle Database:

mcp config database oracle \
  --host oracle.company.com \
  --port 1521 \
  --service-name PROD \
  --username readonly_user \
  --password your_password \
  --readonly

For Snowflake:

mcp config database snowflake \
  --account company.snowflakecomputing.com \
  --warehouse COMPUTE_WH \
  --database ANALYTICS \
  --username your_username \
  --password your_password

For PostgreSQL:

mcp config database postgres \
  --host postgres.company.com \
  --port 5432 \
  --database analytics \
  --username readonly_user \
  --password your_password \
  --ssl-mode require

Step 4: Test Your Connection

Verify that your database connection is working:

# Test the connection
mcp test database

# If successful, you should see:
# ✅ Database connection successful
# ✅ Read permissions verified

Step 5: Set Environment Variables (Optional)

For easier management, you can set these environment variables in your shell profile:

# Add these to your ~/.bashrc or ~/.zshrc file

# Oracle configuration
export ORACLE_HOME=/opt/oracle/instantclient
export TNS_ADMIN=/opt/oracle/wallet

# Snowflake configuration  
export SNOWFLAKE_ACCOUNT="company.snowflakecomputing.com"
export SNOWFLAKE_WAREHOUSE="COMPUTE_WH"

# PostgreSQL configuration
export POSTGRES_HOST="postgres.company.com"
export POSTGRES_DB="analytics"

After adding these, reload your shell:

source ~/.bashrc  # or ~/.zshrc

How to Use Your Database Connection

Now that it's set up, here's how to query your databases

Method 1: Ask GitHub Copilot (Recommended)

In your IDE with GitHub Copilot, you can ask natural language questions:

Example questions you can ask Copilot:

  • "Show me the top 10 customers by revenue this quarter"
  • "What are the most common error codes in the application logs?"
  • "Generate a report of user activity by department"
  • "Find all orders from the last 30 days with status pending"

Copilot will automatically use your MCP database connection to answer these questions!

Method 2: Direct MCP Commands

You can also run SQL queries directly from your terminal:

Query customer data:

mcp query database "
SELECT customer_name, total_revenue 
FROM customers 
WHERE created_date >= DATE '2024-01-01'
ORDER BY total_revenue DESC 
LIMIT 10
"

Analyze application metrics:

mcp query database "
SELECT DATE(log_timestamp) as log_date, 
       COUNT(*) as error_count
FROM application_logs 
WHERE log_level = 'ERROR'
GROUP BY DATE(log_timestamp)
ORDER BY log_date DESC
"

Security & Compliance

Enterprise-grade security features

🔒 Access Control

  • Read-only database connections
  • Role-based access control (RBAC)
  • IP address whitelisting
  • Time-based access restrictions

🛡️ Data Protection

  • PII data masking and tokenization
  • Query result encryption
  • Audit logging for all queries
  • Data residency compliance

📊 Monitoring

  • Real-time connection monitoring
  • Query performance metrics
  • Failed authentication alerts
  • Compliance reporting