trackmcp
Back to directory

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

9 stars PythonOthers Updated Jul 29, 2026
ai-toolsasyncpgclaudecursordatabasedbamcpmodel-context-protocolpostgresqlpythonsqlmcp-serverstdio-mcp

Documentation


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

text
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.


Quick Start

1. Install

bash
git clone https://github.com/snss10/DBeast.git
cd DBeast
pip install -e .

For development:

bash
pip install -e ".[dev]"

Optional: copy `.env.example` to `.env` and set your database credentials.

2. Verify

bash
dbeast

Or run the source entry point directly:

bash
python src/server.py

3. Configure Your MCP Client

Minimal Cursor or Windsurf config:

json
{
  "mcpServers": {
    "dbeast": {
      "type": "stdio",
      "command": "python",
      "args": ["/absolute/path/to/DBeast/src/server.py"],
      "env": {
        "DATABASE_URL": "postgresql://user:password@localhost:5432/mydb"
      }
    }
  }
}

Common config locations:

ClientConfig location
Cursor`.mcp.json` in project root, or `~/.cursor/.mcp.json` globally
VS Code`.vscode/settings.json` or user settings with key `mcp.servers`
Claude Desktop on macOS`~/Library/Application Support/Claude/claude_desktop_config.json`
Claude Desktop on Windows`%APPDATA%\Claude\claude_desktop_config.json`
Windsurf`.mcp.json`

See SETUP.md for full client examples, Docker, RDS, Supabase, Neon, SSH tunnels, AWS Secrets Manager, and troubleshooting.

4. Ask Simple or Complex Questions

Once connected, your assistant can answer quick lookup questions and also run multi-step database investigations.

Simple examples:

text
Show me the schema for the orders table.
Which queries are slowest right now?
Run a security audit on the public schema.
Generate a Mermaid ERD for the sales schema.

More complex examples:

text
Before I archive old sessions, estimate how many rows would be affected, identify related tables, and tell me the rollback risk.
Investigate why the dashboard query is slow, explain the execution plan, and suggest safe indexes.
Review the public schema for maintenance issues, security risks, and data quality problems, then summarize the top priorities.
Compare table growth, dead tuples, and index health across all schemas and recommend what to vacuum or reindex first.

Tools

DBeast exposes 21 MCP tools across 10 categories.

Connection

ToolDescription
`connect`Connect to PostgreSQL, check current status, or discover local databases
`disconnect`Close the current database connection
`health_check`Verify connectivity, pool health, PostgreSQL version, and extensions

Schema Discovery

ToolDescription
`get_schema`List schemas, tables, columns, indexes, relationships, and optional Mermaid ERDs
`dependency_analysis`Map object dependencies before renaming, dropping, or changing database objects

Data Access

ToolDescription
`execute_query`Run read-only `SELECT` queries with automatic row-limit injection

Query Analysis

ToolDescription
`analyze_query`Parse and inspect query structure, warnings, and optimization hints
`query_optimizer`Recommend indexes and rewrites for a given query
`analyze_impact`Preview write-query impact, risk level, affected rows, and rollback context without executing

Database Health

ToolDescription
`database_health`Review cache hit rates, connections, transaction age, table health, and overall health signals
`query_performance`Report slow or expensive queries from PostgreSQL statistics

Security

ToolDescription
`security_audit`Inspect roles, privileges, superuser accounts, and public schema exposure
`sensitive_data_scan`Detect likely PII or secrets by column names and schema patterns

Maintenance

ToolDescription
`maintenance_analysis`Review vacuum status, dead tuples, analyze timestamps, and index health
`partition_analysis`Inspect partition health, row distribution, and missing partition risks

Data Quality

ToolDescription
`data_quality_report`Analyze null rates, cardinality, value distributions, and outliers
`duplicate_detection`Find duplicate rows across selected key columns

Server Config

ToolDescription
`configuration_review`Review PostgreSQL configuration and tuning opportunities
`replication_status`Inspect replication lag, WAL sender/receiver state, and replication slots

Audit

ToolDescription
`get_audit_logs`Retrieve logged MCP tool calls for a given date
`list_audit_files`List available audit log files

Start by discovering schemas:

text
get_schema()
get_schema(schema='public')

Run safe read queries:

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

Preview risky writes:

text
analyze_impact(query='DELETE FROM sessions WHERE last_active  analyze one schema
maintenance_analysis(schema='all')     -> analyze every schema
get_schema(format='mermaid')           -> generate an ERD diagram

Supported Databases

ProviderConnection method
Local PostgreSQL`DATABASE_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

Configuration

Choose one connection method.

env
# Full URL
DATABASE_URL=postgresql://user:pass@host:5432/db

# Or individual variables
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=secret
DB_NAME=mydb
DB_SSLMODE=prefer

# Or AWS Secrets Manager
AWS_SECRET_NAME=my-rds-secret
AWS_REGION=us-west-2

You can also connect at runtime:

text
connect(url='postgresql://user:pass@host:5432/db')
connect(host='localhost', user='postgres', password='secret', database='mydb')
connect(aws_secret_name='my-secret', aws_region='us-west-2')

Key settings:

VariableDefaultDescription
`DBEAST_DEFAULT_ROW_LIMIT``100`Max rows returned by `execute_query`
`DBEAST_QUERY_TIMEOUT``300`Query execution timeout in seconds
`DBEAST_COMMAND_TIMEOUT``300`SQL command timeout in seconds
`DBEAST_SSL_VERIFY``true`Set `false` for SSH tunnels where certificates do not match `localhost`
`DBEAST_SCHEMA_CACHE_TTL``60`Schema cache TTL in seconds, `0` disables caching
`DBEAST_AUDIT_ENABLED``true`Log MCP tool calls
`DBEAST_AUDIT_DIR``logs/mcp_audit`Audit log directory

See SETUP.md for the complete configuration reference.


Safety Model

Query typeWhat DBeast does
`SELECT`Executes with automatic row limits
`INSERT` / `UPDATE` / `DELETE`Never executed; returns an impact preview
`DROP` / `TRUNCATE`Never executed; reports affected objects and risk

Formatted and JSON responses use a consistent wrapper:

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

Audit Logging

DBeast logs MCP tool calls for accountability and debugging.

env
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

bash
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:

bash
docker compose up -d postgres

Legacy Compose:

bash
docker-compose up -d postgres

Documentation


License

MIT

Frequently asked questions

What is DBeast?

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

How do I install DBeast?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is DBeast open source?

Yes — it is hosted on GitHub at https://github.com/snss10/DBeast and has 9 stars.

Related MCP tools

riponcmprojectmem

Open-source coding agent memory. Records issues, attempts, fixes and decisions, then warns your agent before it repeats an approach that already failed. Native MCP server for Claude Code, Cursor, Antigravity and Codex. 100% local, no cloud, no telemetry. MIT.

796 Python
ai-agentsai-memoryai-tools+17
jgravellejcodemunch-mcp

Cut AI token costs 95%+ on code exploration. The leading MCP server for precise, symbol-level GitHub code retrieval via tree-sitter AST. Works with Claude Code, Cursor & any MCP client. 313B+ tokens saved.

2,651 Python
claudeclaude-codeai-coding+17
OpenOSINTOpenOSINT

AI-powered OSINT agent with interactive REPL, MCP server, and CLI. 19 tools. Works with Claude, GPT-4, or local models. For authorized security research only.

1,523 Python
ai-agentanthropicclaude+16
agentic-boxmemora

Give your AI agents persistent, collective memory — with deduplicating absorb, supersession lineage, semantic search, and a graph UI. Speaks MCP.

715 Python
ai-agentclaudeknowledge-graph+13
IvanMurzakUnity-MCP

AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.

4,137 C#
aiai-integrationgame-development+16
atlassianatlassian-mcp-server

Official remote MCP server for Atlassian. Securely connect Jira, Confluence, Jira Service Management, Bitbucket, and Compass to Claude, ChatGPT, Cursor, VS Code, and other AI tools using OAuth 2.1 or API tokens.

1,015 JavaScript
aiai-agentsatlassian+17

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP