pgconsole
Servidor MCP específico para Postgres com acesso governado
Documentação
[!NOTE] pgplex: The Postgres Toolchain for Humans and Agents - pgconsole · pgschema · pgtui · pgparser
Apresentado por Bytebase, plataforma open-source de governança de banco de dados.

|
pgconsole é um editor PostgreSQL baseado na web. Um único binário, um único arquivo de configuração, sem necessidade de banco de dados. Conecte sua equipe ao PostgreSQL com controle de acesso e registro de auditoria integrados.
Instalação
Visite https://docs.pgconsole.com/getting-started/quickstart
Pré-requisitos
- 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
Execute sem --config para iniciar no modo demo com um banco de dados de exemplo incluído.
Recursos
Editor SQL
Um workspace SQL completo para escrever, executar, editar e inspecionar PostgreSQL, com inteligência baseada em parser no editor.
- Autocomplete — sugestões contextuais para tabelas, colunas, joins e CTEs
- Formatação — formatação elegante ou colapso do SQL em uma linha
- Detecção de erros — sublinhados vermelhos com dicas ao passar o mouse
- Recolhimento de código — recolher
SELECT,WITHe outros blocos - Ajuda de assinatura de função — dicas de parâmetros enquanto você digita
- Grade de resultados e edição inline — resultados de consulta com rolagem virtual, edições em etapas, pré-visualizações de SQL geradas e avaliação opcional de risco por IA antes da execução
- Navegador de schema — inspecione tabelas, views, materialized views, funções e procedures com metadados, índices, constraints, triggers e grants
|
|
|
Assistente de IA
Gere, explique, corrija e reescreva SQL com um assistente de IA que entende o contexto do seu schema. Suporta provedores OpenAI, Anthropic e Google.
- Texto para SQL — descreva uma consulta em linguagem natural e receba o SQL
- Explicar SQL — obtenha explicações em linguagem simples para qualquer consulta
- Corrigir SQL — correção de erros com IA a partir de linting inline
- Reescrever SQL — otimize consultas para desempenho ou legibilidade
- Avaliação de risco — analise alterações em etapas para riscos potenciais antes da execução
|
|
Servidor MCP
Exponha suas conexões Postgres a agentes de IA externos (Claude, Cursor, IDEs, bots de CI) por meio do Model Context Protocol — sem fornecer credenciais brutas do banco de dados. Os agentes se conectam a um endpoint MCP remoto e herdam os mesmos controles de IAM, permissão e auditoria que os usuários humanos.
- Remoto e autenticado por token — um endpoint HTTP Streamable em
/mcp; cada agente autentica comAuthorization: Bearer <token> - Dois tipos de agente — uma conta de serviço pura (autorizada pelas regras de IAM
agent:<id>) ou um agente delegado que age em nome de um usuário, opcionalmente limitado a menos permissões ou conexões - Ferramentas moldadas por permissão — cada agente pode
list_connections; ferramentas de catálogo (list_objects,describe_table) aparecem quando ele tem uma conexão acessível, e ferramentas de execução são desbloqueadas por concessão:explain_query(explain),query(read),write_data(write),run_ddl(ddl) - Mesma governança da interface — cada instrução passa pela detecção de permissão SQL por instrução, IAM com negação padrão e o log de auditoria
# 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"]
Controle de Acesso ao Banco de Dados
IAM granular controla quem pode ler, escrever ou administrar cada conexão. As permissões são aplicadas na camada de aplicação — sem necessidade de roles de banco de dados.
- Negação padrão — usuários não têm acesso a menos que uma regra conceda explicitamente
- Escopo por conexão — permissões são concedidas por conexão, não globalmente
- Permissões disjuntas —
read,write,ddl,admin,explain,execute,exportsão independentes
|
|
Log de Auditoria
Cada consulta e login é registrado como JSON estruturado no stdout. Filtre e encaminhe para sua infraestrutura de logs.
{
"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
}
Configuração em Arquivo Único
Tudo fica em pgconsole.toml — conexões, usuários, grupos, regras de acesso, provedores de IA. Sem necessidade de banco de dados.
[[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-..."
Obtendo Ajuda
Desenvolvimento
[!NOTE] Para contribuidores externos: Se você quiser solicitar um recurso, crie uma issue no GitHub para discutir primeiro em vez de criar um PR diretamente.
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 open source e baseada na web de DevSecOps para banco de dados.
