PgSafe MCP (Lite Edition)
Free: Genesis Starter Kit (25
.cursorrules/CLAUDE.mdrulesets + MCP configs). Try the live config builder. Full stack: all six servers in Genesis Enterprise Suite ($19).
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 --from git+https://github.com/johannschiffer/pgsafe-mcp pgsafe-mcp
Claude Desktop / Cursor config entry:
{
"mcpServers": {
"pgsafe-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/johannschiffer/pgsafe-mcp",
"pgsafe-mcp"
]
}
}
}
🛡️ Why PgSafe MCP?
Giving an AI assistant raw access to your database is terrifying:
- Accidental Deletions: One ambiguous prompt can lead an LLM to generate
DROP TABLEorDELETE FROM users;. - Production Table Locks: An unindexed query with a multi-table Cartesian product can consume 100% CPU and lock production tables.
- 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
SELECTquery has a cappedLIMITclause (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.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pgsafe_mcp-1.0.0.tar.gz | 14.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pgsafe_mcp-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.8 kB
Release files / pgsafe_mcp-1.0.0.tar.gz
| Download URL | pgsafe_mcp-1.0.0.tar.gz |
|---|---|
| Size | 14.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a5ac981095aa0b6f1fe2e1a9494518131ba5f041add8612ca8ecb121c77dea4
|
|
BLAKE2b-256 checksum How to use checksums |
a9504c8154e959b2c5cf0f3e66d9a9b98f906803f81b06565300d7833a691a65
|
| 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.0-py3-none-any.whl
| Download URL | pgsafe_mcp-1.0.0-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e06a93428b39e9a360a088e1ee5ab3ceb4fe700daf0620c0ef61d3906585252
|
|
BLAKE2b-256 checksum How to use checksums |
4564845560fe2f29d20fe471dcb72576db82d622826c852a6bdb276f2c29ab29
|
| 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.0
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.