pgconsole
Servidor MCP específico de Postgres con acceso gobernado
Documentación
[!NOTE] pgplex: El conjunto de herramientas de Postgres para humanos y agentes - pgconsole · pgschema · pgtui · pgparser
Presentado por Bytebase, plataforma de gobernanza de bases de datos de código abierto.

|
pgconsole es un editor de PostgreSQL basado en web. Un solo binario, un solo archivo de configuración, sin necesidad de base de datos. Conecta a tu equipo a PostgreSQL con control de acceso y registro de auditoría integrados.
Instalación
Visita https://docs.pgconsole.com/getting-started/quickstart
Requisitos previos
- Node.js 20+
npm
npm install -g @pgplex/pgconsole
pgconsole --config pgconsole.toml
npx
npx @pgplex/pgconsole --config pgconsole.toml
Docker
docker run -p 9876:9876 -v /path/to/pgconsole.toml:/etc/pgconsole.toml pgplex/pgconsole
Ejecuta sin --config para iniciar en modo demo con una base de datos de muestra incluida.
Características
Editor SQL
Un espacio de trabajo SQL completo para escribir, ejecutar, editar e inspeccionar PostgreSQL, con inteligencia basada en parser en el editor.
- Autocompletado — sugerencias contextuales para tablas, columnas, uniones y CTEs
- Formateo — impresión bonita o colapso de SQL a una línea
- Detección de errores — subrayados rojos con información al pasar el cursor
- Plegado de código — colapsa
SELECT,WITHy otros bloques - Ayuda de firmas de funciones — sugerencias de parámetros mientras escribes
- Cuadrícula de resultados y edición en línea — resultados de consultas con desplazamiento virtual, ediciones por etapas, vistas previas de SQL generado y evaluación de riesgos opcional con IA antes de la ejecución
- Explorador de esquemas — inspecciona tablas, vistas, vistas materializadas, funciones y procedimientos con metadatos, índices, restricciones, disparadores y permisos
|
|
|
Asistente de IA
Genera, explica, corrige y reescribe SQL con un asistente de IA que entiende el contexto de tu esquema. Compatible con proveedores de OpenAI, Anthropic y Google.
- Texto a SQL — describe una consulta en lenguaje natural y obtén SQL
- Explicar SQL — obtén explicaciones en lenguaje sencillo de cualquier consulta
- Corregir SQL — corrección de errores impulsada por IA desde el linting en línea
- Reescribir SQL — optimiza consultas para rendimiento o legibilidad
- Evaluación de riesgos — analiza cambios por etapas para detectar riesgos potenciales antes de la ejecución
|
|
Servidor MCP
Expón tus conexiones de Postgres a agentes de IA externos (Claude, Cursor, IDEs, bots de CI) a través del Protocolo de Contexto de Modelo — sin entregar credenciales de base de datos en bruto. Los agentes se conectan a un endpoint MCP remoto y heredan los mismos controles de IAM, permisos y auditoría que los usuarios humanos.
- Remoto y autenticado por token — un endpoint HTTP Streamable en
/mcp; cada agente se autentica conAuthorization: Bearer <token> - Dos tipos de agentes — una cuenta de servicio pura (autorizada por reglas IAM de
agent:<id>) o un agente delegado que actúa en nombre de un usuario, opcionalmente limitado a menos permisos o conexiones - Herramientas con forma de permisos — cada agente puede
list_connections; las herramientas de catálogo (list_objects,describe_table) aparecen una vez que tiene una conexión accesible, y las herramientas de ejecución se desbloquean según la concesión:explain_query(explain),query(read),write_data(write),run_ddl(ddl) - Misma gobernanza que la interfaz — cada declaración pasa por detección de permisos SQL por declaración, IAM de denegación predeterminada y el registro de auditoría
# A standalone agent, authorized via [[iam]] just like a user
[[agents]]
id = "ci-bot"
name = "CI Pipeline"
token = "generate-a-long-random-secret" # openssl rand -hex 32
[[iam]]
connection = "staging"
permissions = ["read", "ddl"]
members = ["agent:ci-bot"]
Control de Acceso a la Base de Datos
IAM de grano fino controla quién puede leer, escribir o administrar cada conexión. Los permisos se aplican en la capa de aplicación — sin necesidad de roles de base de datos.
- Denegación predeterminada — los usuarios no tienen acceso a menos que una regla lo conceda explícitamente
- Limitado por conexión — los permisos se conceden por conexión, no globalmente
- Permisos disjuntos —
read,write,ddl,admin,explain,execute,exportson independientes
|
|
Registro de Auditoría
Cada consulta e inicio de sesión se registra como JSON estructurado en stdout. Filtra y reenvía a tu infraestructura de registros.
{
"type": "audit",
"ts": "2024-01-15T10:32:15.456Z",
"action": "sql.execute",
"actor": "alice@example.com",
"connection": "prod-db",
"sql": "SELECT * FROM users WHERE active = true",
"duration_ms": 45,
"row_count": 150
}
Configuración de Archivo Único
Todo vive en pgconsole.toml — conexiones, usuarios, grupos, reglas de acceso, proveedores de IA. Sin necesidad de base de datos.
[[connections]]
id = "production"
name = "Production"
host = "db.example.com"
port = 5432
database = "myapp"
username = "readonly"
password = "..."
[[iam]]
connection = "production"
permissions = ["read", "explain", "export"]
members = ["*"]
[[iam]]
connection = "production"
permissions = ["*"]
members = ["group:dba"]
[[ai.providers]]
id = "claude"
vendor = "anthropic"
model = "claude-sonnet-4-20250514"
api_key = "sk-ant-..."
Obtener Ayuda
Desarrollo
[!NOTE] Para contribuyentes externos: Si deseas solicitar una función, crea primero un problema en GitHub para discutirlo en lugar de crear un PR directamente.
git clone https://github.com/pgplex/pgconsole.git
cd pgconsole
pnpm install
pnpm dev # Start dev server (frontend + backend)
pnpm build # Production build
pnpm test # Run all tests
Patrocinador
Bytebase - plataforma DevSecOps de bases de datos de código abierto y basada en web.
