← SCRAM AI Lab
Desde el 6 de septiembre de 2026 nuestro ERP, CRM y mesa de soporte se pueden operar desde Claude y ChatGPT a través de un servidor MCP propio con 27 herramientas. La llave identifica a una persona y no da permisos; toda escritura pasa por dos turnos. Arquitectura, cuatro trampas silenciosas y qué clientes sí lo hablan.
September 10, 2026
43 lecturas

Un Sistema Vivo es un sistema con el que puedes conversar desde la inteligencia artificial que ya usas, con tus permisos y sin que nadie tenga que abrir el portal. En SCRAM lo construimos sobre el Model Context Protocol (MCP): un servidor remoto montado en nuestra propia API expone 27 herramientas de ERP, CRM y soporte, y clientes como Claude o ChatGPT las llaman. Está en producción desde el 6 de septiembre de 2026 en api.scram2k.com/mcp. Este artículo cuenta cómo está hecho y qué nos costó.
La decisión que definió todo: una credencial MCP no otorga permisos, identifica a una persona. La llave se resuelve a un usuario real de la plataforma y ese usuario viaja a todos los servicios de dominio, los mismos que usa el portal. Como el ERP y el CRM ya reciben al usuario autenticado en cada servicio, el acotamiento por vendedor y las puertas por rol aplicaron sin duplicar una sola regla. Un vendedor que pregunta "¿cuánto nos debe este cliente?" por Claude ve exactamente lo que vería en el portal, y nada más.
Los tres controles viven en código, nunca en el prompt:
| Control | Dónde se aplica | Qué evita |
|---|---|---|
| Visibilidad por nivel de rol | tools/list: cada persona ve solo las herramientas de su nivel | Que el catálogo mismo revele lo que no se puede hacer |
| Re-verificación al llamar | tools/call: el rol se comprueba otra vez | Que un cliente MCP invoque algo que no se le listó |
| Confirmación en dos turnos | Toda escritura devuelve una vista previa; solo confirmar: true ejecuta | Que "crea la cotización" escriba sin que la persona vea totales y cliente |
Hay 10 pruebas automatizadas sobre esos controles, dentro de una suite que al 12 de agosto sumaba 988 pruebas en verde. Los totales, IVA y descuentos los calcula el ERP con la misma función que usa el portal: el modelo nunca suma.
Con OAuth 2.1, y la API es también el servidor de autorización. La especificación del 28 de julio de 2026 lo permite: el MCP es el recurso protegido y el autorizador "puede vivir con él". Publicamos los metadatos de descubrimiento en las dos formas que buscan los clientes, registro dinámico de clientes, autorización y token. El estado vive en Redis; si Redis reinicia, la persona vuelve a autenticarse y ya. La pantalla de autorización reutiliza el login normal de la plataforma, con el mismo usuario y contraseña del portal.
Todas silenciosas. Ninguna dejó un error en el servidor.
De paso encontramos un defecto de autenticación que afectaba también al portal: el login buscaba el correo con coincidencia exacta, así que un correo capitalizado por el teclado del móvil daba "credenciales inválidas" con el contador de intentos en cero. Se normalizó.
| Cliente | Estado al 10 de septiembre de 2026 | Nota |
|---|---|---|
| Claude Code | Funciona con llave | Desde 2.1.265, managedMcpServers lo entrega a toda la organización |
| Claude web, escritorio y móvil | Funciona con OAuth | La app cachea la lista de herramientas: con más de 10 conectores puede mostrar una sola; el remedio es re-agregar el conector y dejar 10 o menos |
| ChatGPT | Funciona con OAuth 2.1 y registro dinámico | Requisito estricto de OpenAI, cumplido |
| Microsoft Copilot Studio | Soportado por Microsoft, pendiente de probar por nosotros | Transporte streamable vía conector |
| Gemini (app y Workspace) | No admite MCP | Solo la Gemini CLI y la plataforma Enterprise |
| WhatsApp y Telegram | No hablan MCP | El asistente propio consume el mismo registro de herramientas con los mismos permisos |
El último renglón es la decisión de arquitectura que más nos gusta: las herramientas viven en un registro exportado; el MCP es un cliente de ese registro, y el bot de WhatsApp es otro. Una regla de negocio se escribe una vez.
El 26 de agosto Salesforce y Anthropic anunciaron Claudeforce: Claude dentro de Agentforce y de Slack, y "Salesforce in Claude" con 37 habilidades de ventas. Es la misma idea a otra escala: el sistema de la empresa se vuelve conversable desde el asistente. La diferencia para una empresa mediana en México es que su ERP no es Salesforce, y nadie va a construirle el conector. Por eso el nuestro se diseñó para replicarse: el procedimiento quedó escrito como un skill con siete principios y 24 trampas verificadas, y ya lo usamos para el siguiente sistema.
Probar el flujo de OAuth con un cliente real desde el primer día, no al final. Tres de las cuatro trampas se habrían visto en una hora con Claude móvil apuntando a un servidor de pruebas. Y medir desde el arranque cuántas herramientas caben en el contexto del cliente: 27 herramientas cuestan alrededor de 8,000 tokens solo en el listado, y la app de Claude ya nos enseñó que ese catálogo compite con todo lo demás.
Si quieres verlo funcionando, en una sesión de diagnóstico conectamos tu Claude o tu ChatGPT a una copia de prueba y haces las preguntas tú.
Artículos relacionados
Esta semana en IA #44: GPT-6 Astra ya tiene precio, destilación y Copilot con tres proveedores
Edición #44: GPT-6 Astra ya tiene precio, Anthropic documentó campañas de destilación, Copilot suma a Grok y Gemini 3.8 Flash duplica su precio en enero de 2027.
Esta semana en IA #43: Fable 5.1, GPT-6 Astra y el fin de Google Assistant
Edición #43 (10 sep 2026): Anthropic lanzó Claude Fable 5.1 y Mythos 5.1 con cache 75% más barato, OpenAI presentó GPT-6 Astra bajo escrutinio de seguridad, Google empezó a apagar Assistant y Salesforce se casó con Claude. Qué cambia para quien construye.
Así construimos los chatbots de SCRAM: 4 agentes, un solo cerebro
Conoce la arquitectura técnica de SCRAM AI Lab: 4 chatbots unificados en NestJS, RAG en pgvector, herramientas ERP en tiempo real y resiliencia en producción.