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 SQL editor

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.

Star History Chart

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, WITH y 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
Autocomplete
Staged changes preview
Schema browser

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
AI Text-to-SQL
AI risk assessment

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 con Authorization: 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 disjuntosread, write, ddl, admin, explain, execute, export son independientes
Permission denied
Permission badge

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.