2 min de lectura

Acerca de y Arquitectura

PgArachne™ sirve como un servidor web ligero y de alto rendimiento que se sitúa entre tus clientes HTTP y la base de datos PostgreSQL. Elimina la necesidad de lenguajes backend tradicionales (como Python, Node.js o PHP) al mapear las peticiones HTTP directamente a funciones de la base de datos.

Capacidades Técnicas Principales

  • Pasarela JSON-RPC 2.0: Todas las interacciones de la API siguen la estricta especificación JSON-RPC 2.0. No hay endpoints REST que diseñar; simplemente llamas a funciones SQL por su nombre mediante peticiones POST.
  • Autenticación Nativa de BD: Sin tablas de usuarios separadas. Los usuarios inician sesión con sus credenciales reales de PostgreSQL para recibir un JWT. Alternativamente, las cuentas de servicio pueden usar Tokens de API persistentes.
  • Enmascaramiento de Roles: PgArachne™ se conecta como un usuario proxy pero ejecuta cada petición usando SET LOCAL ROLE para cambiar a la identidad del usuario autenticado. La seguridad a nivel de fila (RLS) funciona automáticamente.
  • MCP (Model Context Protocol): Un endpoint nativo MCP permite a clientes de IA como Claude Desktop, Cursor y otras herramientas MCP-compatibles descubrir y llamar a tus funciones PostgreSQL como herramientas directamente — sin ningún código de integración adicional. Se aplica la misma autenticación y seguridad de roles. A través de MCP también se exponen recursos (tablas/vistas) y plantillas de prompts.
  • Notificaciones en tiempo real (SSE): Suscríbete a canales NOTIFY de PostgreSQL mediante SSE para actualizaciones en vivo sin polling.
  • Servidor de Archivos Estáticos: PgArachne™ puede servir activos estáticos (HTML, JS, CSS), permitiéndote alojar Single Page Applications (SPAs) o la herramienta Explorer directamente.

Esta arquitectura simplifica drásticamente el stack: Base de Datos ↔ PgArachne ↔ Frontend/Agente IA.

Estructura de endpoints: Todos los endpoints de base de datos comparten un prefijo común (por defecto db, configurable mediante API_PREFIX):
POST /{prefijo}/{base_datos}/jsonrpc — pasarela JSON-RPC 2.0
GET  /{prefijo}/{base_datos}/sse    — stream PostgreSQL NOTIFY
POST /{prefijo}/{base_datos}/mcp   — Model Context Protocol

Ver Decisiones de Arquitectura Detalladas