Skip to main content
Glama
bleckcorp

Generic Database MCP Server

by bleckcorp

Generic Database MCP Server

A Model Context Protocol (MCP) server that connects to multiple database types (MSSQL, PostgreSQL, MySQL). It provides read-only access to list tables, inspect schemas, and run queries.

Features

  • Multi-Database Support: Connects to MSSQL, PostgreSQL, or MySQL via configuration.

  • Tools Namespacing: Support for TOOL_PREFIX to run multiple server instances (e.g., mssql_, pg_) without collision.

  • Safety First: Enforces Read-Only permissions. Blocks UPDATE, DELETE, DROP, etc.

  • Efficient: Uses native connection pooling for each driver.

Related MCP server: mcp-sql-multi

Tools

  • list_tables: List all base tables in the database.

  • describe_table: Get schema information (columns, types) for a specific table.

  • sql_query: Execute a read-only SQL query.

Configuration

Configuration is handled via environment variables.

Common Variables

Variable

Description

DB_TYPE

mssql (default), postgres, mysql

TOOL_PREFIX

Optional prefix for tool names (e.g., pg_)

DB_HOST

Database host (or DB_SERVER)

DB_PORT

Database port

DB_USER

Username

DB_PASSWORD

Password

DB_DATABASE

Database name

MSSQL Specific

  • DB_ENCRYPT: Set to true / false (default true)

  • DB_TRUST_SERVER_CERTIFICATE: Set to true / false (default false)

Setup & Build

  1. Install Dependencies

    npm install
  2. Build

    npm run build
  3. Run Locally (HTTP Mode)

    # Create a .env file first
    TRANSPORT=http PORT=3000 node build/index.js
  4. Run Locally (stdio MCP Mode)

    TRANSPORT=stdio node build/index.js

HTTP Deployment

This server now supports MCP over Streamable HTTP for remote deployment platforms like Dockploy.

HTTP Environment Variables

Variable

Description

TRANSPORT

http for network deployment, stdio for local command-based MCP usage

HOST

Bind address for HTTP mode. Default: 0.0.0.0

PORT

Listening port for HTTP mode. Default: 3000

HTTP Endpoints

  • POST /mcp: MCP Streamable HTTP endpoint

  • GET /health: Health check endpoint

Docker

docker build -t generic-database-mcp-server .
docker run --rm -p 3000:3000 \
  -e TRANSPORT=http \
  -e PORT=3000 \
  -e DB_TYPE=mssql \
  -e DB_HOST=host.docker.internal \
  -e DB_PORT=1433 \
  -e DB_USER=sa \
  -e DB_PASSWORD=yourPassword \
  -e DB_DATABASE=yourDatabase \
  generic-database-mcp-server

For Dockploy, route traffic to container port 3000 and configure the service health check against /health.

MCP Client Configuration

You can run multiple instances of this server for different databases.

Example: mcp_config.json

{
  "mcpServers": {
    "mssql-primary": {
      "command": "node",
      "args": ["/absolute/path/to/build/index.js"],
      "env": {
        "TRANSPORT": "stdio",
        "TOOL_PREFIX": "mssql_",
        "DB_TYPE": "mssql",
        "DB_HOST": "154.113.161.35",
        "DB_PORT": "2945",
        "DB_USER": "metro_dba",
        "DB_PASSWORD": "yourPassword",
        "DB_DATABASE": "HMO_CBA",
        "DB_TRUST_SERVER_CERTIFICATE": "true"
      }
    },
    "postgres-local": {
      "command": "node",
      "args": ["/absolute/path/to/build/index.js"],
      "env": {
        "TRANSPORT": "stdio",
        "TOOL_PREFIX": "pg_",
        "DB_TYPE": "postgres",
        "DB_HOST": "localhost",
        "DB_PORT": "5432",
        "DB_USER": "postgres",
        "DB_PASSWORD": "yourPassword",
        "DB_DATABASE": "analytics"
      }
    }
  }
}

This configuration exposes tools like:

  • mssql_list_tables

  • mssql_sql_query

  • pg_list_tables

  • pg_sql_query

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables read-only access to PostgreSQL and MySQL/MariaDB databases through MCP tools for listing tables, previewing data, and running SELECT queries with a built-in UI for managing database configurations.
    47 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying multiple SQL Server, Azure SQL, or Synapse databases through a single MCP interface, with support for read-only targets and various authentication methods.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Enables read-only exploration and querying of PostgreSQL or MySQL databases via MCP, with schema discovery, safe SQL validation, natural language to SQL conversion, and CSV export.
    11
    1
    -