Skip to main content

PgSafe MCP (Lite Edition)

pgsafe-mcp MCP server

Free: Genesis Starter Kit (25 .cursorrules/CLAUDE.md rulesets + MCP configs). Try the live config builder. Full stack: all six servers in Genesis Enterprise Suite ($19).

License: MIT Python 3.10+ MCP Compliant

PgSafe MCP is a Zero-Trust Model Context Protocol server that enables AI agents in Claude Desktop, Cursor, Windsurf, and Antigravity to inspect schemas and run analytical SQL queries without risking accidental data loss, destructive mutations (DROP, TRUNCATE, DELETE), or runaway table scans.


Run without cloning

uvx pgsafe-mcp

Claude Desktop / Cursor config entry:

{
  "mcpServers": {
    "pgsafe-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/johannschiffer/pgsafe-mcp",
        "pgsafe-mcp"
      ]
    }
  }
}

CI

🛡️ Why PgSafe MCP?

Giving an AI assistant raw access to your database is terrifying:

  1. Accidental Deletions: One ambiguous prompt can lead an LLM to generate DROP TABLE or DELETE FROM users;.
  2. Production Table Locks: An unindexed query with a multi-table Cartesian product can consume 100% CPU and lock production tables.
  3. Multi-Statement Injection: LLMs can be tricked via prompt injection into chaining malicious SQL commands (SELECT 1; TRUNCATE audit_logs;).

PgSafe acts as a strict guardrail sitting between the AI agent and your database engine.


⚡ Features (Lite Edition)

  • 🔒 Enforced Read-Only Guard: Automatically detects and blocks all destructive statements (DROP, TRUNCATE, ALTER, UPDATE, INSERT, DELETE).
  • 🛑 Anti-Chaining Protection: Disallows multi-statement execution via semicolons.
  • ⏱️ Automatic LIMIT Injection: Ensures every SELECT query has a capped LIMIT clause (default: 100 rows, max: 1,000) to protect database memory.
  • 📊 Zero-Cost Schema Reflection: Tools to explore public tables and columns without executing custom introspection queries.
  • 🪶 Zero Dependency Core: Native support for SQLite out of the box; optional PostgreSQL adapter.

🚀 Quick Setup in 2 Minutes

1. Installation

git clone https://github.com/johannschiffer/pgsafe-mcp.git
cd pgsafe-mcp
pip install .

For PostgreSQL support:

pip install "psycopg[binary]>=3.1.0"

2. Configure Claude Desktop (claude_desktop_config.json)

On Linux: ~/.config/Claude/claude_desktop_config.json
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pgsafe": {
      "command": "python",
      "args": ["-m", "pgsafe.server"],
      "cwd": "/path/to/pgsafe-mcp",
      "env": {
        "DATABASE_URL": "postgresql://user:password@localhost:5432/production_db"
      }
    }
  }
}

For SQLite, simply point to your .db file:

{
  "mcpServers": {
    "pgsafe": {
      "command": "python",
      "args": ["-m", "pgsafe.server"],
      "cwd": "/path/to/pgsafe-mcp",
      "env": {
        "DATABASE_URL": "sqlite:///data/nexus.db"
      }
    }
  }
}

🛠️ MCP Tools Exposed to AI Agents

Tool Parameters Description
list_tables (none) Returns list of all user tables in the database
describe_table table_name Returns column names, data types, nullability, and primary keys
safe_query query, limit Executes strictly read-only SQL with forced LIMIT enforcement
analyze_query query Inspects SQL for unindexed table scan and Cartesian join risks

💎 Need Enterprise Data Protection? Upgrade to PgSafe Pro

Running against live production workloads with sensitive customer data?

Feature Lite (Open Source) Enterprise Suite ($19)
Read-Only SQL Validation ✅ ✅
Forced LIMIT Injection ✅ ✅
PostgreSQL & SQLite ✅ ✅
MySQL, MariaDB & ClickHouse ❌ ✅
Automatic PII Redaction & Masking (Emails, Cards, Hashes) ❌ ✅
Dry-Run Mutation Simulation (Auto-Rollback Test Harness) ❌ ✅
Index Recommendation Advisor ❌ ✅
Production Docker & Compose ❌ ✅
Full Pytest Suite & Architecture Guide ❌ ✅

👉 Get the Genesis Enterprise Suite ($19)


📄 License

MIT License. See LICENSE for details.

Genesis MCP Ecosystem

Module What it does Repo
CrawlEngine MCP Anti-bot web scraping, clean Markdown, proxy rotation and TLS evasion GitHub
BrowserBridge MCP Deterministic headless browser automation with cryptographic action receipts GitHub
PgSafe MCP (this repo) Zero-trust PostgreSQL/SQLite guard, live PII masking, zero-downtime migration checks GitHub
OmniBridge MCP Multi-channel notification and webhook bus with a persistent SQLite WAL queue GitHub
SysFlow MCP Safe Linux administration plane: systemd, port audit, isolated execution GitHub
FastMCP Forge Production MCP server scaffolder: stdio, SSE and auth middleware GitHub

Live config builder | Starter Kit, free | Enterprise Suite, $19

Metadata

Release files for pgsafe-mcp 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pgsafe-mcp 1.0.1
File Size Uploaded Provenance
pgsafe_mcp-1.0.1.tar.gz 14.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pgsafe-mcp 1.0.1
File Interpreter ABI Platform
pgsafe_mcp-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 29.1 kB

Release files / pgsafe_mcp-1.0.1.tar.gz

Download URL pgsafe_mcp-1.0.1.tar.gz
Size 14.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a79516ce835b91714d8a7242a08457346a45fd50bc78675fb97921e3a7463a25
BLAKE2b-256 checksum
How to use checksums
7fb457afb8f1760b2386967d2e90cb9a4c828cfb3fc7da6708bc832a50a70890
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / pgsafe_mcp-1.0.1-py3-none-any.whl

Download URL pgsafe_mcp-1.0.1-py3-none-any.whl
Size 14.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a27bf78e316d73972b866999d6eec066915fc54295c0ee67b5a2f4bc6e745a2f
BLAKE2b-256 checksum
How to use checksums
c30e45295af9a69b697d6ac0467d5dabc56d76938455febb59b6e32999136fe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Security for pgsafe-mcp 1.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page