2 min de leitura

Sobre e Arquitetura

O PgArachne™ serve como um servidor web leve e de alta performance que fica entre os seus clientes HTTP e o banco de dados PostgreSQL. Ele elimina a necessidade de linguagens de backend tradicionais (como Python, Node.js ou PHP) mapeando requisições HTTP diretamente para funções do banco de dados.

Capacidades Técnicas Principais

  • Gateway JSON-RPC 2.0: Todas as interações da API seguem a especificação estrita JSON-RPC 2.0. Não há endpoints REST para projetar; você simplesmente chama funções SQL pelo nome via requisições POST.
  • Autenticação Nativa de BD: Sem tabelas de usuários separadas. Os usuários fazem login com suas credenciais reais do PostgreSQL para receber um JWT. Alternativamente, contas de serviço podem usar Tokens de API persistentes.
  • Mascaramento de Papéis (Role Masquerading): O PgArachne™ conecta-se como um usuário proxy, mas executa cada requisição usando SET LOCAL ROLE para mudar para a identidade do usuário autenticado. A segurança em nível de linha (Row-Level Security – RLS) funciona automaticamente.
  • MCP (Model Context Protocol): Um endpoint MCP nativo permite que clientes de IA como Claude Desktop, Cursor e outras ferramentas MCP-compatíveis descubram e chamem suas funções PostgreSQL diretamente como ferramentas — sem nenhum código de integração adicional. A mesma autenticação e segurança de papéis se aplica. Recursos (tabelas/views) e modelos de prompts também são expostos via MCP.
  • Notificações em tempo real (SSE): Assine canais PostgreSQL NOTIFY via SSE para atualizações em tempo real sem polling.
  • Servidor de Arquivos Estáticos: O PgArachne™ pode servir ativos estáticos (HTML, JS, CSS), permitindo que você hospede Single Page Applications (SPAs) ou a ferramenta Explorer diretamente.

Esta arquitetura simplifica drasticamente a stack: Banco de Dados ↔ PgArachne ↔ Frontend/Agente IA.

Estrutura dos endpoints: Todos os endpoints do banco de dados compartilham um prefixo comum (padrão db, configurável via API_PREFIX):
POST /{prefixo}/{banco_de_dados}/jsonrpc — gateway JSON-RPC 2.0
GET  /{prefixo}/{banco_de_dados}/sse    — stream PostgreSQL NOTIFY
POST /{prefixo}/{banco_de_dados}/mcp   — Model Context Protocol

Visualizar Detalhes das Decisões de Arquitetura