@mhdd_24/dbeaver-mcp
@mhdd_24/dbeaver-mcp
MCP server for PostgreSQL / DBeaver-style exploration and SQL from Cursor (or any MCP client). Same architecture as @mhdd_24/pgadmin-mcp.
Say "db status", "list databases", or "run this SQL on Dev" in chat — the assistant calls the matching tools.
Full documentation: docs/WIKI.md
Tools
Tool | Role |
| Sticky session switch: |
| Sticky + active profile, host, |
| List databases on active (or one-shot) profile server |
| List user schemas |
| List tables/views in a schema |
| Column metadata |
| Run SQL (read-only by default) |
Profiles (no connection details in chat)
Put both Dev and QA credentials in
mcp.json(DBEAVER_DEV_*,DBEAVER_QA_*— or reusePG_DEV_*/PG_QA_*).Say
dbprofile=qaordbprofile=dev— the assistant callsdb_set_profile.Later tools reuse that sticky profile until you switch or the MCP process restarts.
Optional one-shot: pass
profile: "qa"on a single tool without changing sticky.databasestill means the logical DB name on that server (e.g.transboard), not the env profile.
Safety
Read-only by default — only
SELECT/WITH…SELECT/EXPLAIN/SHOW/VALUESSet
DBEAVER_ALLOW_WRITE=true(orPG_ALLOW_WRITE=true) to allow writesDBEAVER_QUERY_MAX_ROWS/PG_MAX_ROWScaps returned rows; timeout viaDBEAVER_STATEMENT_TIMEOUT_MS/PG_QUERY_TIMEOUT_MS
Install / run
npm i -g @mhdd_24/dbeaver-mcp
# or from source:
git clone https://github.com/Mhdd-24/DBeaver-MCP.git
cd DBeaver-MCP
npm install
npm run build
node dist/index.jsCursor mcp.json
"dbeaver": {
"command": "npx",
"args": ["-y", "@mhdd_24/dbeaver-mcp"],
"env": {
"DBEAVER_PROFILE": "dev",
"DBEAVER_DEV_HOST": "192.168.1.141",
"DBEAVER_DEV_PORT": "5432",
"DBEAVER_DEV_USER": "postgres",
"DBEAVER_DEV_PASSWORD": "YOUR_PASSWORD",
"DBEAVER_DEV_DATABASE": "postgres",
"DBEAVER_QA_HOST": "192.168.1.131",
"DBEAVER_QA_PORT": "5432",
"DBEAVER_QA_USER": "postgres",
"DBEAVER_QA_PASSWORD": "YOUR_PASSWORD",
"DBEAVER_QA_DATABASE": "postgres",
"DBEAVER_ALLOW_WRITE": "false",
"DBEAVER_QUERY_MAX_ROWS": "500"
}
}Restart Cursor after saving.
Example prompts
dbprofile=qa
dbprofile=dev
db status
list databases
list tables in schema transc for database transboard
describe table translations schema transc database transboard
run: SELECT version();