Resolución de la autenticación de MCP a escala

Has construido un servidor MCP. Funciona en tu portátil. Tu asistente de IA puede crear tickets en Jira y realizar consultas en bases de datos. Todo va de maravilla hasta que un compañero de equipo pide usarlo.

Si quieres vender tu MCP como un producto, te enfrentarás a un nuevo problema. Debes admitir a múltiples usuarios. Cada usuario necesita sus propias claves de API y un acceso seguro.

La mayoría de los desarrolladores fallan aquí. Intentan dos enfoques erróneos.

El primero es la configuración manual. Les dices a los usuarios que clonen el repositorio, instalen las dependencias y configuren las claves del entorno local. Esto toma horas. La mayoría de los usuarios desistirán antes de terminar.

El segundo es la pesadilla de lo serverless. Despliegas en Cloud Run o Vercel. Debido a que las plataformas serverless no almacenan sesiones, cada solicitud llega a una nueva instancia. Tus usuarios se quedan atrapados en un bucle. Se autentican, y luego el siguiente clic les pide autenticarse de nuevo. Esto no es un producto. Es un prototipo defectuoso.

Resolvemos esto en BrainGrid. Pasamos de una herramienta local a una infraestructura lista para producción. Así es como lo hicimos.

  • Usa un almacén de sesiones Redis: Las instancias serverless mueren y se reinician. No puedes almacenar sesiones en memoria. Usa Redis para mantener los datos de la sesión activos en todas las instancias.
  • Implementa un almacenamiento en caché de múltiples niveles: Comprueba primero la memoria local. Si no está allí, comprueba Redis. Esto evita la costosa validación de JWT en cada solicitud.
  • Cifra los datos sensibles: Usa AES-256-GCM para cifrar los datos de la sesión antes de guardarlos en Redis. Esto mantiene segura la información del usuario.
  • Usa patrones de OAuth adecuados: Los clientes MCP esperan flujos de descubrimiento específicos. Debes formatear correctamente tus encabezados WWW-Authenticate para evitar errores.
  • Optimiza la velocidad: La validación de JWT añade latencia. Al almacenar en caché las sesiones validadas, redujimos los tiempos de respuesta significativamente.

El resultado es un sistema que escala de un usuario a mil. Cuesta muy poco ejecutarlo y se integra con proveedores como WorkOS o Auth0.

Deja de construir herramientas para ti mismo. Empieza a construir infraestructura para tus clientes.

Fuente: https://dev.to/braingrid/from-local-hack-to-production-ready-how-we-solved-the-braingrids-mcp-multi-tenant-authentication-1m5e