Skip to main content
Glama
PgSafe MCP

PgSafe MCP

pgsafe-mcp

PyPI CI Python 3.10+ MCP Compliant License: MIT Support on Ko-fi

PgSafe MCP is a read-only Model Context Protocol server for PostgreSQL and SQLite that enables AI coding agents in Claude Desktop, Cursor, Windsurf, and Antigravity to inspect schemas, run bounded analytical SQL queries with automatic PII masking, and test DML statements inside rolled-back SQLite transactions.


Quickstart

Run directly via uvx:

uvx pgsafe-mcp

Claude Desktop / Cursor configuration:

{
  "mcpServers": {
    "pgsafe-mcp": {
      "command": "uvx",
      "args": ["pgsafe-mcp"],
      "env": {
        "DATABASE_URL": "postgresql://readonly_user:password@localhost:5432/analytics_db"
      }
    }
  }
}

For SQLite databases:

{
  "mcpServers": {
    "pgsafe-mcp": {
      "command": "uvx",
      "args": ["pgsafe-mcp"],
      "env": {
        "DATABASE_URL": "sqlite:///path/to/database.db"
      }
    }
  }
}

For PostgreSQL support when installing from source:

pip install "pgsafe-mcp[postgres]"

Related MCP server: shop-mcp

Core Capabilities

  1. Lexer-Aware Read-Only SQL Guard: Tokenizes SQL comments and string/dollar-quoted literals before validating statement boundaries, blocking DROP, TRUNCATE, DELETE, UPDATE, INSERT, ALTER, COPY, VACUUM, ATTACH, EXPLAIN ANALYZE, and semicolon chaining.

  2. Engine-Level Read-Only Enforcement: Configures PostgreSQL sessions with SET default_transaction_read_only = on and SQLite connections with ?mode=ro plus sqlite3.Connection.set_authorizer.

  3. Top-Level Row Limit Enforcement: Applies LIMIT bounds to outer SELECT and WITH queries without corrupting PRAGMA, EXPLAIN, OFFSET, or trailing SQL comments.

  4. Live PII Redaction: Masks emails, payment card numbers, phone numbers, password hashes, and sensitive column values before returning rows to the LLM context.

  5. SQLite Dry-Run Mutation Harness: Simulates single-statement INSERT, UPDATE, or DELETE changes inside an immediate transaction with authorizer restrictions and automatic ROLLBACK.

  6. Heuristic Query & Index Inspection: Flags missing WHERE clauses, unconstrained joins, and candidate filter columns for indexing.


MCP Tools

Tool

Parameters

Description

list_tables

(none)

Lists user tables in the connected PostgreSQL or SQLite database

describe_table

table_name

Returns column names, types, nullability, defaults, and primary key metadata

safe_query

query, limit, mask_pii

Validates read-only SQL, enforces row limits, executes query, and masks PII

dry_run_mutation

mutation_sql

Simulates a single DML statement on SQLite inside an auto-rolled-back transaction

analyze_query

query

Evaluates read-only safety and full-scan / Cartesian join risk heuristics

recommend_indexes

query

Suggests candidate indexes from WHERE and ORDER BY predicates

get_security_status

(none)

Reports active guard status and credential-redacted DATABASE_URL


Package

Description

Repository

genesis-blackbox

Runtime flight recorder and AST blast-radius crash compiler

GitHub

crawlengine-mcp

HTTP web extraction, clean Markdown conversion, and proxy rotation

GitHub

browserbridge-mcp

Session-pooled HTTP DOM inspection and SHA-256 action trail receipts

GitHub

omnibridge-mcp

Multi-channel notification bus with SQLite retry queue

GitHub

sysflow-mcp

Linux resource inspection, systemd unit generator, and log tailer

GitHub

fastmcp-forge

MCP server framework and project scaffolder

GitHub

Support

If this project is useful in your workflow, you can support ongoing maintenance on Ko-fi.

License

MIT License. Copyright (c) 2026 Johann Schiffer.

Available Tools

4 tools
analyze_queryA

Analyze a SQL query for dangerous operations, unindexed scans, and Cartesian join risks without executing it.

Inputs: query (required).

describe_tableA

Retrieve column definitions, data types, nullability, and keys for a specific table.

Inputs: table_name (required).

list_tablesB

List all public database tables available for inspection and querying.

Inputs: no named parameters.

safe_queryA

Execute a strictly read-only SQL query with automatic LIMIT enforcement and mutation blocking.

Inputs: query (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: list_tables vs describe_table target different levels of schema introspection, while safe_query executes read-only queries and analyze_query performs static analysis without execution. There is no meaningful overlap that would cause misselection.

    Naming Consistency4/5

    All names use snake_case, which is consistent. However, safe_query deviates slightly from the dominant verb_noun pattern seen in list_tables, describe_table, and analyze_query by using an adjective_noun construction.

    Tool Count5/5

    Four tools is well-scoped for a read-only PostgreSQL safety server. Each tool covers a necessary capability: table discovery, schema inspection, safe execution, and query risk analysis.

    Completeness4/5

    The core read-only workflow is covered: discover tables, inspect their structure, query safely, and analyze query risk. Minor gaps exist, such as explicit schema/view listing or index introspection, but agents can work around these using safe_query against system catalogs.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables AI agents to safely explore and query a SQLite database in read-only mode, allowing them to inspect schema and run analytical SQL queries without risking data modification.
      3
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to safely query and explore SQLite databases through read-only, guard-protected tools that block writes, sensitive table access, and runaway queries.
      1
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Enables AI assistants to safely run read-only SQL against SQLite databases through whitelist-validated queries, capped result sets, and confined file paths. It also exposes schema inspection so models can discover tables and columns before querying.
      2
      MIT