Arquitectura

B1 Bridge es un sistema híbrido: el control plane vive en la nube y el agente vive en tu red, contra tu SAP. Esta separación es por qué tus filas de SAP nunca tocan nuestros servidores.

Cómo fluye una query

CUSTOMER NETWORKClaude DesktopUser's machineB1 Bridge agentElectron · on-premSAP Business OneSQL Server · read-only userControl plane (SaaS)Next + Postgres + StripeVercel · metadata onlyQuery / response · rows stay on-premHeartbeat / metadata · no rows
Diagrama: Claude Desktop → MCP → Agente on-prem → SAP B1. La respuesta vuelve por el mismo camino. El control plane SaaS solo recibe metadata (timings, contadores, nombres de tablas), nunca filas.

Boundaries de data

Se queda en tu red

  • Filas de SAP B1 (clientes, facturas, stock, etc.)
  • Tu password de SQL Server (en keychain local)
  • Resultados de queries que ve Claude Desktop
  • El agent token (en keychain local)

Sale a nuestro control plane

  • Metadata: nombres de tablas consultadas, conteo de filas, latencia de query
  • Eventos del agente: heartbeats, errores (sin contenido de rows)
  • Tu email + datos de organización (registro, billing)
  • Logs estructurados para troubleshooting (sin PII de SAP)

Componentes

Control plane (SaaS)

Next.js en Vercel + NestJS API + Postgres. Maneja registro, billing, audit log, métricas. No se conecta a tu SAP.

Agente on-prem

App Electron que corre en una máquina de tu red. Conecta a SQL Server con un usuario read-only. Expone tools MCP a Claude Desktop. Heartbeats cada 60s al control plane.

Claude Desktop (en la máquina del usuario)

Cliente de Anthropic. Descubre el agente via MCP config local. Las queries y respuestas pasan por la conexión MCP autenticada — Anthropic ve las queries y respuestas, igual que cualquier chat con Claude.

Tu SAP Business One

Sin cambios. El agente se conecta como un cliente SQL más, con el usuario read-only que vos definís. Cero impacto en tu instalación.

Kill switch

En cualquier momento, un admin de la organización puede revocar el agente desde /app/workspace/pairing-keys. El próximo heartbeat (~60s) detecta la revocación y el agente deja de servir queries hasta que se re-paire. El control plane es la única fuente de verdad.