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

F
license - not found
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thanhphat2609/mcp-server-database'

If you have feedback or need assistance with the MCP directory API, please join our Discord server