Skip to main content
Glama
thanhphat2609

MCP Server for Database

MCP Server for Database (PostgreSQL and MySQL)

Python PostgreSQL MySQL Docker HTTP

A Model Context Protocol server that provides access to PostgreSQL or MySQL. This server enables LLMs to inspect database schemas and execute queries.

Key Features

  • Autonomous Schema Discovery: AI agents can list tables and inspect columns to understand your data structure without manual intervention.

  • Security First (Read-Only): Strictly enforces read-only access. Only SELECT, WITH, SHOW, DESCRIBE, and EXPLAIN statements are permitted.

  • Multi-Database Support: Seamlessly connects to PostgreSQL and MySQL (SQL Server & SQLite support coming soon).

  • Flexible Deployment: Supports multiple transport modes including stdio (for local IDEs), HTTP/SSE (for cloud APIs), and Docker.

Related MCP server: postgres-mcp-query-tool

Available Tools

The server exposes the following tools to AI clients:

Tool

Capability

User Intent Example

list-tables

Lists all accessible tables in the database.

"What tables are available in the schema?"

describe-table

Retrieves column details, data types, and constraints.

"Tell me about the 'Inventory' table structure."

execute-query

Executes safe, read-only SQL queries to fetch live data.

"Who are the top 5 customers by revenue today?"

Architecture Overview

graph TD
    A[AI Assistant] -->|MCP Protocol| B{MCP Server}
    subgraph "Deployment Modes"
        B -->|stdio| C[Local IDE: VSCode/Cursor]
        B -->|HTTP/SSE| D[Cloud/Remote API]
        B -->|Docker| E[Containerized Service]
    end
    B -->|Read-Only SQL| F[(PostgreSQL / MySQL)]
TIP

Dive Deeper: For a detailed breakdown of the communication flow, sequence diagrams, and deployment strategies, please check out our Full Architecture Guide

Quick Start

1. Installation

pip install -r requirements.txt

Update the DATABASE_URI in docker-compose.yaml and run:

docker compose up --build

3. Run Locally

# PostgreSQL
python -m src --connection-string "postgresql://user:pass@localhost:5432/db"

# MySQL
python -m src --connection-string "mysql+pymysql://user:pass@localhost:3306/db"

AI Client Configuration

Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "sql-intelligence": {
      "command": "python",
      "args": ["-m", "src", "--connection-string", "your_connection_string"],
      "cwd": "/path/to/project"
    }
  }
}

VSCode (Cline / Roo Code)

Create .vscode/mcp.json in your workspace:

{
  "mcpServers": {
    "database": {
      "command": "python",
      "args": [
        "-m", "src",
        "--connection-string", "postgresql://user:pass@localhost:5432/mydb"
      ],
      "cwd": "/path/to/mcp-for-database"
    }
  }
}

Security Guardrails

The server utilizes a strict Regex-based validation layer. Any query that does not start with an authorized read-only keyword is blocked immediately to prevent unauthorized data modification.

Roadmap

  • Support for SQL Server and SQLite.

  • Integration of Audit Logs for tracking AI query behaviors.

  • Semantic Search capabilities combining SQL and Vector DB.

Project Demo

You can watch the full demo of this MCP Server for Database on YouTube: Watch here

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A read-only PostgreSQL MCP server that enables AI agents to perform schema introspection and execute SELECT-only queries. It supports secure database connections through SSL and SSH tunnels while offering a structure-only mode to restrict query access.
    10
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives an AI agent scoped, safe access to your Postgres databases with per-connection access control, row caps, timeouts, and defense-in-depth read-only enforcement.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Read-only MCP server for querying PostgreSQL, MySQL, and SQLite from AI agents — multi-database, safe by default.
    4
    15
    1
    ISC
  • A
    license
    A
    quality
    A
    maintenance
    Read-only MCP server that lets AI agents safely query SQLite, PostgreSQL, and MySQL/MariaDB. Enforces read-only transactions with column masking, row caps, query timeouts, EXPLAIN-based cost rejection, and rate limiting.
    7
    49
    1
    MIT