Labsco
snss10 logo

DBeast

โ˜… 10

from snss10

Expert-level PostgreSQL database analysis MCP server for AI assistants.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup
DBeast

A PostgreSQL MCP server that gives AI assistants expert DBA capabilities.

Python 3.11+ PostgreSQL 12+ MCP Compatible License: MIT

Quick Start ยท Demo ยท Tools ยท Safety ยท Configuration ยท Docs


DBeast connects AI assistants such as Claude, Cursor, Windsurf, and VS Code Copilot to PostgreSQL through the Model Context Protocol. Instead of exposing one broad execute_sql escape hatch, DBeast provides 21 focused tools for schema discovery, safe query execution, impact analysis, performance review, security checks, maintenance reporting, replication monitoring, and data quality inspection.


Demo

Watch Claude use DBeast MCP tools to audit a PostgreSQL database, identify security and maintenance risks, and preview cleanup impact without executing destructive SQL.


How It Works

AI assistant  --MCP stdio-->  DBeast server  --asyncpg-->  PostgreSQL
Claude/Cursor                  Python local                 Local, RDS,
Windsurf/VS Code               subprocess                   Supabase, Neon

DBeast runs as a local stdio MCP server. Your IDE or desktop assistant starts it as a subprocess and passes database credentials through environment variables. The assistant calls DBeast tools, DBeast queries PostgreSQL, and structured results come back to the assistant. No HTTP service or extra infrastructure is required.


Tools

DBeast exposes 21 MCP tools across 10 categories.

Connection

ToolDescription
connectConnect to PostgreSQL, check current status, or discover local databases
disconnectClose the current database connection
health_checkVerify connectivity, pool health, PostgreSQL version, and extensions

Schema Discovery

ToolDescription
get_schemaList schemas, tables, columns, indexes, relationships, and optional Mermaid ERDs
dependency_analysisMap object dependencies before renaming, dropping, or changing database objects

Data Access

ToolDescription
execute_queryRun read-only SELECT queries with automatic row-limit injection

Query Analysis

ToolDescription
analyze_queryParse and inspect query structure, warnings, and optimization hints
query_optimizerRecommend indexes and rewrites for a given query
analyze_impactPreview write-query impact, risk level, affected rows, and rollback context without executing

Database Health

ToolDescription
database_healthReview cache hit rates, connections, transaction age, table health, and overall health signals
query_performanceReport slow or expensive queries from PostgreSQL statistics

Security

ToolDescription
security_auditInspect roles, privileges, superuser accounts, and public schema exposure
sensitive_data_scanDetect likely PII or secrets by column names and schema patterns

Maintenance

ToolDescription
maintenance_analysisReview vacuum status, dead tuples, analyze timestamps, and index health
partition_analysisInspect partition health, row distribution, and missing partition risks

Data Quality

ToolDescription
data_quality_reportAnalyze null rates, cardinality, value distributions, and outliers
duplicate_detectionFind duplicate rows across selected key columns

Server Config

ToolDescription
configuration_reviewReview PostgreSQL configuration and tuning opportunities
replication_statusInspect replication lag, WAL sender/receiver state, and replication slots

Audit

ToolDescription
get_audit_logsRetrieve logged MCP tool calls for a given date
list_audit_filesList available audit log files

Start by discovering schemas:

get_schema()
get_schema(schema='public')

Run safe read queries:

execute_query(query='SELECT * FROM orders ORDER BY created_at DESC')

Preview risky writes:

analyze_impact(query='DELETE FROM sessions WHERE last_active < now() - interval ''30 days''')

Check health and maintenance:

database_health()
maintenance_analysis(schema='public')
query_performance()

Most analysis tools accept a schema parameter:

maintenance_analysis(schema='public')  -> analyze one schema
maintenance_analysis(schema='all')     -> analyze every schema
get_schema(format='mermaid')           -> generate an ERD diagram

Supported Databases

ProviderConnection method
Local PostgreSQLDATABASE_URL or individual DB_* variables
Docker PostgreSQLExplicit variables or connect(discover=true)
AWS RDS / AuroraDirect URL, SSH tunnel, or AWS Secrets Manager
SupabasePooler connection string from Dashboard settings
NeonConnection string from Console connection details
Railway / Render / Fly.ioProvider connection string
Any PostgreSQL hostStandard PostgreSQL URL

Safety Model

Query typeWhat DBeast does
SELECTExecutes with automatic row limits
INSERT / UPDATE / DELETENever executed; returns an impact preview
DROP / TRUNCATENever executed; reports affected objects and risk

Formatted and JSON responses use a consistent wrapper:

{
  "success": true,
  "data": { "...": "..." },
  "meta": {
    "connected": true,
    "source": "tool"
  }
}

Audit Logging

DBeast logs MCP tool calls for accountability and debugging.

DBEAST_AUDIT_ENABLED=true
DBEAST_AUDIT_DIR=logs/mcp_audit

Audit files are stored as daily markdown files and include timestamps, tool names, durations, masked parameters, truncated responses, and errors.


Development

pip install -e ".[dev]"
pre-commit install
pytest tests/ -v
ruff check src/ tests/
ruff format src/ tests/

Start the optional local PostgreSQL test database:

docker compose up -d postgres

Legacy Compose:

docker-compose up -d postgres

Documentation

  • SETUP.md - Full client setup, connection scenarios, configuration, and troubleshooting
  • CONTRIBUTING.md - Development setup, tests, style, commits, and PR process
  • CODE_OF_CONDUCT.md - Community guidelines