MCP Hub
Back to servers

sql-mcp

A comprehensive MCP server for interacting with MSSQL and PostgreSQL databases, providing schema exploration tools and secure SQL execution with configurable safety modes.

Tools
8
Updated
Jan 15, 2026

@yuuzu/sql-mcp

CI npm version

A Model Context Protocol (MCP) server for MSSQL and PostgreSQL database operations.

Installation

# Using bunx (recommended)
bunx @yuuzu/sql-mcp

# Using npx
npx @yuuzu/sql-mcp

Features

  • Multi-database support: MSSQL and PostgreSQL
  • 8 tools for database operations
  • Three query modes: safe, write, full
  • Advanced authentication: Windows Auth (MSSQL), SSL certificates (PostgreSQL)

Tools

ToolDescription
connect-databaseConnect to a database server
disconnectDisconnect from the current connection
connection-statusCheck connection status and query mode
list-databasesList all databases on the server
switch-databaseSwitch to a different database
list-tablesList all tables and views
describe-tableGet table schema details
execute-queryExecute SQL queries

Query Modes

Control query permissions via SQL_MCP_MODE environment variable:

ModeAllowed OperationsDescription
safe (default)SELECT, WITH, EXPLAINRead-only, safest
write+ INSERT, UPDATE, DELETEAllows data modification
full+ CREATE, DROP, ALTER, TRUNCATEFull access, use with caution
# Example: Enable write mode
SQL_MCP_MODE=write bunx @yuuzu/sql-mcp

Usage Examples

Claude Desktop Configuration

Add to your claude_desktop_config.json:

{
    "mcpServers": {
        "sql-mcp": {
            "command": "bunx",
            "args": ["@yuuzu/sql-mcp"],
            "env": {
                "SQL_MCP_MODE": "safe"
            }
        }
    }
}

Connect to MSSQL

{
    "tool": "connect-database",
    "arguments": {
        "engine": "mssql",
        "server": "localhost",
        "port": 1433,
        "user": "sa",
        "password": "your_password",
        "database": "master"
    }
}

Connect to PostgreSQL

{
    "tool": "connect-database",
    "arguments": {
        "engine": "postgres",
        "server": "localhost",
        "port": 5432,
        "user": "postgres",
        "password": "your_password",
        "database": "postgres"
    }
}

Connect with Windows Authentication (MSSQL)

{
    "tool": "connect-database",
    "arguments": {
        "engine": "mssql",
        "server": "localhost",
        "windowsAuth": true
    }
}

Connect with SSL (PostgreSQL)

{
    "tool": "connect-database",
    "arguments": {
        "engine": "postgres",
        "server": "your-server.com",
        "user": "postgres",
        "password": "your_password",
        "ssl": {
            "rejectUnauthorized": true,
            "ca": "/path/to/ca-certificate.crt"
        }
    }
}

Development

# Install dependencies
bun install

# Run in development mode
bun run dev

# Run tests
bun test

# Run tests with coverage
bun test --coverage

# Build
bun run build

# Type check
bun run typecheck

Release

Releases are automated via GitHub Actions. To create a new release:

# Create and push a version tag
git tag v1.0.0
git push origin v1.0.0

This will:

  1. Build the project
  2. Publish to npm with provenance
  3. Create a GitHub Release with auto-generated release notes

Requirements: Set NPM_TOKEN secret in your GitHub repository settings.

License

MIT

Reviews

No reviews yet

Sign in to write a review