postgres-mcp-server
Allows querying and inspecting PostgreSQL databases with read-only operations by default, and optional write and maintenance operations, using MCP tools such as execute_query, execute_dml_ddl_dcl_tcl, and schema/table introspection.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@postgres-mcp-serverlist tables in the public schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
postgres-mcp-server
Servidor MCP local para PostgreSQL. Está pensado para OpenCode y clientes MCP por stdio.
Objetivo: consultar e inspeccionar bases PostgreSQL con seguridad. La escritura y el mantenimiento vienen apagados por defecto.
Seguridad rápida
POSTGRES_ENABLE_WRITE=falsepor defecto.POSTGRES_ENABLE_MAINTENANCE=falsepor defecto.Las consultas de lectura corren en
BEGIN TRANSACTION READ ONLY.La introspección usa parámetros (
$1,$2), no concatena nombres enviados por el usuario.Los logs van a
stderr.stdoutqueda reservado para MCP.Los errores no imprimen contraseñas ni URLs completas con credenciales.
Related MCP server: PostgreSQL MCP Server
Instalación
npm install
npm run buildConfiguración
Variables principales:
Variable | Default | Uso |
| requerido | URL de conexión PostgreSQL. |
|
| Habilita |
|
| Habilita |
|
| Tiempo máximo de sentencia. |
|
| Máximo de conexiones del pool. |
|
| Tiempo máximo de transacciones pendientes. |
|
| Máximo de transacciones de escritura abiertas. |
También podés pasar la URL como primer argumento del binario.
OpenCode
Ejemplo seguro, sin secretos reales:
"DB_ejemplo": {
"type": "local",
"command": [
"node",
"D:/work/postgres-mcp-server/dist/index.js"
],
"environment": {
"POSTGRES_URL": "postgresql://USER:PASSWORD@HOST:5432/DB_NAME",
"POSTGRES_ENABLE_WRITE": "false",
"POSTGRES_ENABLE_MAINTENANCE": "false",
"PG_STATEMENT_TIMEOUT_MS": "30000"
},
"enabled": true,
"timeout": 60000
}Si usás paquete instalado:
"command": ["npx", "-y", "postgres-mcp-server"]Tools MCP
execute_query
Ejecuta SQL de lectura: SELECT, WITH, EXPLAIN, SHOW.
Entrada:
{ "sql": "SELECT now()" }execute_dml_ddl_dcl_tcl
Ejecuta escritura solo si POSTGRES_ENABLE_WRITE=true. Deja la transacción abierta y devuelve transaction_id.
Entrada:
{ "sql": "UPDATE users SET active = true WHERE id = 1" }Después llamá a execute_commit o execute_rollback.
execute_commit
Confirma una transacción pendiente.
{ "transaction_id": "tx_..." }execute_rollback
Revierte una transacción pendiente.
{ "transaction_id": "tx_..." }execute_maintenance
Ejecuta mantenimiento solo si POSTGRES_ENABLE_MAINTENANCE=true.
list_schemas
Lista esquemas no internos visibles para el usuario conectado.
list_tables
Lista tablas. Acepta filtro opcional:
{ "schema_name": "public" }describe_table
Describe columnas, índices y constraints.
{ "schema_name": "public", "table_name": "users" }Desarrollo
npm ci
npm run build
npm test -- --run --coverage
npm run lintLos tests usan fakes/mocks. No necesitan una base PostgreSQL real.
CI
GitHub Actions ejecuta Node 20 y 22 con cache npm, build, lint y coverage. El mínimo es 85% en líneas, funciones, ramas y statements.
Más documentación
docs/configuracion.mddocs/seguridad-sql.mddocs/desarrollo.md
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bysonte/postgres-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server