MCP con autenticación empresarial: conecta tus sistemas con SSO y sin OAuth manual
Enterprise-Managed Authorization es la extensión estable de MCP que integra el proveedor de identidad corporativo (Okta, Azure AD) con cada servidor MCP de tu organización. Para el CIO o gerente TI chileno, esto elimina la fricción de autorizar app por app y cierra la brecha de credenciales sueltas en proyectos de agentes.
Cognitiva, agencia chilena de IA, observa que la mayor fricción para adoptar agentes en la empresa no es el modelo de lenguaje: es la autenticación. El 18 de junio de 2026, el proyecto Model Context Protocol publicó Enterprise-Managed Authorization (EMA) como extensión estable. La promesa concreta: un empleado que ya inició sesión con las credenciales corporativas obtiene acceso automático a todos los servidores MCP que TI haya autorizado, sin pantallas de consentimiento adicionales, sin claves API pegadas en configs locales y sin riesgo de credenciales flotando entre equipos. El mecanismo central es el ID-JAG (Identity Assertion JWT Authorization Grant), un estándar IETF que permite intercambiar una aserción de identidad corporativa por un token de acceso al servidor MCP. El proveedor de identidad —Okta en el lanzamiento, con Azure AD y otros en camino— actúa como árbitro: evalúa grupos, roles y políticas de acceso condicional antes de emitir el token. Si el empleado cambia de rol o deja la empresa, el acceso se revoca en el IdP y expira de inmediato en todos los clientes MCP, sin pasos manuales adicionales. Asana, Atlassian, Canva, Figma, Granola, Linear y Supabase ya lo soportan en el lanzamiento; Slack está en proceso de adopción. Del lado de los clientes, Claude (Claude.ai, Claude Code y Cowork) ya lo implementa. En este artículo explicamos la arquitectura, el flujo de token y los pasos concretos para activarlo sobre un stack Next.js con Claude.
Por qué el OAuth por app frena los proyectos de agentes
En un despliegue MCP estándar cada usuario autoriza individualmente cada servidor. Para un piloto de cinco herramientas con veinte empleados eso son cien autorizaciones manuales. A escala de empresa —cientos de usuarios y decenas de servidores MCP— el modelo se convierte en un cuello de botella operativo y en un riesgo de seguridad: credenciales personales en configs locales, revocar acceso cuando alguien sale requiere tocar cada servicio por separado y TI pierde visibilidad sobre qué agente accede a qué recurso.
Enterprise-Managed Authorization invierte la lógica: en lugar de que el usuario autorice cada servidor, el equipo de TI configura una vez el proveedor de identidad corporativo y los permisos se heredan automáticamente. El anuncio del 18 de junio de 2026 marca el paso de esta extensión a estado estable dentro del ecosistema MCP, lo que implica semántica fijada, soporte garantizado en los SDKs oficiales y adopción por parte de los primeros servidores y clientes de producción.
Arquitectura: ID-JAG y el rol del proveedor de identidad
El flujo de token paso a paso
El núcleo técnico de EMA es el protocolo ID-JAG (Identity Assertion JWT Authorization Grant), un borrador IETF que extiende OAuth 2.0 para entornos corporativos. El flujo es el siguiente:
- El cliente MCP redirige al usuario al IdP corporativo para el inicio de sesión único (SSO). El usuario se autentica con sus credenciales de empresa.
- El IdP emite un ID Token (OpenID Connect) o una aserción SAML. El cliente lo almacena.
- El cliente solicita al IdP un ID-JAG presentando el ID Token. El IdP evalúa las políticas: membresía de grupo, rol asignado y reglas de acceso condicional.
- Si la política lo permite, el IdP devuelve un ID-JAG: un JWT firmado que acredita la identidad del empleado y el alcance aprobado.
- El cliente presenta el ID-JAG al servidor de autorización MCP. Este valida la firma contra el JWKS del IdP y emite un Access Token MCP.
- El cliente usa el Access Token para llamar al servidor MCP (recurso). El usuario nunca ve pantallas de consentimiento por servidor.
La ventaja clave para el área de seguridad es que el IdP sigue siendo el único árbitro de identidad. No se crean credenciales nuevas ni se delega autorización a un sistema secundario: el mismo Okta —o Azure AD, o el IdP corporativo que ya opera— extiende su gobierno al ecosistema MCP.
Control por grupo y rol
Los administradores configuran qué servidores MCP están disponibles para qué grupos o roles dentro del panel de administración del IdP. Un empleado del área de ingeniería puede tener acceso automático a Jira y Supabase; un empleado de ventas, a Hubspot y Linear; un gerente de proyecto, a Asana y Figma. Si el empleado cambia de área, hereda el nuevo conjunto de permisos en el próximo inicio de sesión. La revocación es instantánea: eliminar al usuario en el IdP cierra el acceso en todos los clientes MCP sin intervención adicional.
Qué servidores y clientes ya lo soportan
En el lanzamiento del 18 de junio de 2026, los siguientes servidores MCP ya implementan Enterprise-Managed Authorization: Asana, Atlassian (Jira, Confluence, Rovo), Canva, Figma, Granola, Linear y Supabase. Slack está en proceso activo de adopción.
Del lado de los clientes, Anthropic implementó soporte en Claude.ai, Claude Code y Cowork. Okta es el primer proveedor de identidad soportado; la especificación está diseñada para ser neutral al IdP, por lo que Azure AD y otros proveedores corporativos pueden integrarse siguiendo la misma extensión.
| Componente | Tipo | Estado EMA |
|---|---|---|
| Asana | Servidor MCP | Soportado |
| Atlassian (Jira / Confluence) | Servidor MCP | Soportado |
| Canva | Servidor MCP | Soportado |
| Figma | Servidor MCP | Soportado |
| Linear | Servidor MCP | Soportado |
| Supabase | Servidor MCP | Soportado |
| Slack | Servidor MCP | En adopción |
| Claude.ai / Claude Code / Cowork | Cliente MCP | Soportado |
| Okta (Cross App Access) | Proveedor de identidad | Soportado |
| Azure AD / Entra ID | Proveedor de identidad | En hoja de ruta |
Cómo activarlo sobre un stack Next.js con Claude
Si tu organización ya opera un servidor MCP propio construido en Next.js —o planea construir uno— la integración con EMA sigue los pasos que define la especificación oficial. A continuación el flujo concreto para un servidor Next.js con App Router.
1. Declarar soporte en el cliente MCP
El cliente MCP debe incluir la capacidad en la solicitud de inicialización. Si usas el SDK oficial de TypeScript, agrega la extensión al objeto de capacidades:
{
"capabilities": {
"extensions": {
"io.modelcontextprotocol/enterprise-managed-authorization": {}
}
}
}2. Configurar el servidor MCP para requerir EMA
En el metadata de autorización del servidor, declara que los clientes deben usar el flujo corporativo. Si expones el servidor MCP como una ruta API de Next.js, puedes registrar el descriptor de recurso en el endpoint de descubrimiento:
// app/api/mcp/route.ts
export async function GET() {
return Response.json({
authorization_servers: [
{
issuer: process.env.MCP_AUTH_SERVER_ISSUER,
extensions: [
'io.modelcontextprotocol/enterprise-managed-authorization'
]
}
]
});
}3. Validar el ID-JAG en el servidor de autorización MCP
Cuando el cliente presenta el ID-JAG, el servidor de autorización MCP debe validar la firma JWT contra el endpoint JWKS del IdP corporativo, verificar audiencia, emisor y expiración, y mapear los claims del token (scope y sub) a los permisos internos del servidor:
// lib/validate-idjag.ts
import { createRemoteJWKSet, jwtVerify } from 'jose';
const JWKS = createRemoteJWKSet(
new URL(process.env.IDP_JWKS_URI || '')
);
export async function validateIDJAG(token: string) {
const { payload } = await jwtVerify(token, JWKS, {
audience: process.env.MCP_SERVER_AUDIENCE,
issuer: process.env.IDP_ISSUER
});
return payload;
}Las variables de entorno requeridas son: IDP_JWKS_URI (endpoint JWKS del IdP), IDP_ISSUER (issuer del IdP), MCP_SERVER_AUDIENCE (audience del servidor MCP) y MCP_AUTH_SERVER_ISSUER (issuer propio del servidor de autorización MCP).
4. Variables de entorno en Vercel
Para despliegues en Vercel, agrega las variables en el panel de Environment Variables del proyecto o vía Vercel CLI. Nunca expongas estas variables con el prefijo NEXT_PUBLIC_: son secretos del servidor.
vercel env add IDP_JWKS_URI
vercel env add IDP_ISSUER
vercel env add MCP_SERVER_AUDIENCE
vercel env add MCP_AUTH_SERVER_ISSUERQué implica esto para el CIO o gerente TI chileno
Para una organización que ya opera Okta o Azure AD como proveedor de identidad, adoptar EMA no requiere nuevo software: es una configuración en el panel de administración del IdP existente y un ajuste en los servidores MCP que ya se usen o se construyan. El impacto práctico es significativo:
- Incorporación de nuevos empleados: el acceso a los servidores MCP aprobados aparece en el primer inicio de sesión, sin que el empleado ni TI hagan nada adicional.
- Desvinculación de empleados: revocar el usuario en el IdP cierra el acceso en todos los clientes MCP al instante, sin riesgos de credenciales huérfanas.
- Auditoría y cumplimiento: cada solicitud de token queda registrada en el IdP, con trazabilidad de quién accedió a qué servidor MCP y cuándo.
- Reducción de superficie de ataque: se eliminan las claves API individuales en configs locales y los tokens de larga duración sin gobierno.
- Control granular: se puede restringir el acceso por grupo o rol sin tocar el código de los agentes.
Para las empresas chilenas que están evaluando proyectos de agentes de IA —o que ya tienen pilotos corriendo con servidores MCP propios— la disponibilidad de EMA en estado estable elimina uno de los argumentos más frecuentes en contra: la falta de gobierno centralizado sobre las credenciales de los agentes.
El equipo de Cognitiva recomienda incluir la evaluación de EMA dentro del proceso de incorporación de cualquier servidor MCP a producción, especialmente en industrias con requisitos de auditoría: servicios financieros, salud y sector público. La configuración es reversible y no introduce dependencias nuevas fuera del IdP que la organización ya opera.
Preguntas frecuentes
Da el siguiente paso
Hablemos
Cuéntanos sobre tu negocio. Respondemos en 24 horas.
Otros canales
Escríbenos por WhatsApp o agenda una llamada de 30 minutos.