auth0-mcp-server

Official

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables management of Auth0 resources through natural language, including creating and updating applications, resource servers (APIs), actions, forms, and accessing Auth0 logs. Allows performing operations like creating new Auth0 apps, deploying actions, and checking authentication logs.

📚 Documentación • 🚀 Primeros pasos • 💻 Herramientas compatibles • 💬 Comentarios

MCP (Model Context Protocol) es un protocolo abierto introducido por Anthropic que estandariza cómo los modelos de lenguaje grandes se comunican con herramientas externas, recursos o servicios remotos.

Aviso de la función beta: Esta función se encuentra actualmente en fase beta. Tenga cuidado al usar herramientas, ya que la funcionalidad puede ser inestable o estar sujeta a cambios.

El servidor MCP de Auth0 se integra con LLM y agentes de IA, lo que permite realizar diversas operaciones de administración de Auth0 mediante lenguaje natural. Por ejemplo, podría simplemente pedirle a Claude que realice operaciones de administración de Auth0:

  • Cree una nueva aplicación Auth0 y obtenga el dominio y el ID del cliente

  • Cree e implemente una nueva acción Auth0 para generar un token JWT

  • ¿Podrías verificar los registros de Auth0 para ver los inicios de sesión desde la dirección IP 192.108.92.3?

🚀 Primeros pasos

Prerrequisitos:

Instalar el servidor Auth0 MCP

Instale el servidor MCP de Auth0 y configúrelo para que funcione con su cliente MCP preferido. El parámetro --tools especifica qué herramientas deben estar disponibles (el valor predeterminado es * si no se proporciona).

Claude Desktop con todas las herramientas

npx @auth0/auth0-mcp-server init

Claude Desktop con herramientas de solo lectura

npx @auth0/auth0-mcp-server init --tools 'auth0_list_*,auth0_get_*'

Windsurf

npx @auth0/auth0-mcp-server init --client windsurf

Cursor

npx @auth0/auth0-mcp-server init --client cursor

Con acceso limitado a herramientas

npx @auth0/auth0-mcp-server init --client cursor --tools 'auth0_list_applications,auth0_get_application'

Otros clientes de MCP

Para utilizar el servidor MCP de Auth0 con cualquier otro cliente MCP, puede agregar manualmente esta configuración al cliente y reiniciar para que los cambios surtan efecto:

{ "mcpServers": { "auth0": { "command": "npx", "args": ["-y", "@auth0/auth0-mcp-server", "run"], "capabilities": ["tools"], "env": { "DEBUG": "auth0-mcp" } } } }

Puede agregar --tools '<pattern>' a la matriz args para controlar las herramientas disponibles. Consulte las prácticas recomendadas de seguridad para conocer los patrones recomendados.

Autenticarse con Auth0

Su navegador se abrirá automáticamente para iniciar el proceso de autorización del dispositivo OAuth 2.0. Inicie sesión en su cuenta de Auth0 y otorgue los permisos solicitados.

[!NOTA] Las credenciales se almacenan de forma segura en la cadena de claves de su sistema. Opcionalmente, puede verificar el almacenamiento mediante su herramienta de administración de cadenas de claves. Consulte Autenticación para obtener más información.

Verificar su integración

Reinicie su cliente MCP (Claude, Windsurf, Cursor, etc.) y pídale que lo ayude a administrar su inquilino Auth0

🛠️ Herramientas compatibles

El servidor MCP de Auth0 proporciona las siguientes herramientas para que Claude interactúe con su inquilino de Auth0:

Aplicaciones

HerramientaDescripciónEjemplos de uso
auth0_list_applicationsEnumere todas las aplicaciones en el inquilino Auth0 o busque por nombre- Show me all my Auth0 applications - Find applications with 'api' in their name - What applications do I have in my Auth0 tenant?
auth0_get_applicationObtenga detalles sobre una aplicación Auth0 específica- Show me details for the application called 'Customer Portal' - Get information about my application with client ID abc123 - What are the callback URLs for my 'Mobile App'?
auth0_create_applicationCrear una nueva aplicación Auth0- Create a new single-page application called 'Analytics Dashboard' - Set up a new native mobile app called 'iOS Client' - Create a machine-to-machine application for our background service
auth0_update_applicationActualizar una aplicación Auth0 existente- Update the callback URLs for my 'Web App' to include https://staging.example.com/callback - Change the logout URL for the 'Customer Portal' - Add development environment metadata to my 'Admin Dashboard' application

Servidores de recursos

HerramientaDescripciónEjemplos de uso
auth0_list_resource_serversEnumere todos los servidores de recursos (API) en el inquilino Auth0- Show me all the APIs in my Auth0 tenant - List my resource servers - What APIs have I configured in Auth0?
auth0_get_resource_serverObtener detalles sobre un servidor de recursos Auth0 específico- Show me details for the 'User API' - What scopes are defined for my 'Payment API'? - Get information about the resource server with identifier https://api.example.com"
auth0_create_resource_serverCrear un nuevo servidor de recursos Auth0 (API)- Create a new API called 'Inventory API' with read and write scopes - Set up a resource server for our customer data API - Create an API with the identifier https://orders.example.com"
auth0_update_resource_serverActualizar un servidor de recursos Auth0 existente- Add an 'admin' scope to the 'User API' - Update the token lifetime for my 'Payment API' to 1 hour - Change the signing algorithm for my API to RS256

Comportamiento

HerramientaDescripciónEjemplos de uso
auth0_list_actionsEnumere todas las acciones en el inquilino Auth0- Show me all my Auth0 actions - What actions do I have configured? - List the actions in my tenant
auth0_get_actionObtener detalles sobre una acción específica de Auth0- Show me the code for my 'Enrich User Profile' action - Get details about my login flow action - What does my 'Add Custom Claims' action do?
auth0_create_actionCrear una nueva acción Auth0- Create an action that adds user roles to tokens - Set up an action to log failed login attempts - Create a post-login action that checks user location
auth0_update_actionActualizar una acción Auth0 existente- Update my 'Add Custom Claims' action to include department information - Modify the IP filtering logic in my security action - Fix the bug in my user enrichment action
auth0_deploy_actionImplementar una acción Auth0- Deploy my 'Add Custom Claims' action to production - Make my new security action live - Deploy the updated user enrichment action

Registros

HerramientaDescripciónEjemplos de uso
auth0_list_logsListar registros del inquilino Auth0- Show me recent login attempts - Find failed logins from the past 24 hours - Get authentication logs from yesterday - Show me successful logins for user john@example.com
auth0_get_logObtener una entrada de registro específica por ID- Show me details for log entry abc123 - Get more information about this failed login attempt - What caused this authentication error?

Formularios

HerramientaDescripciónEjemplos de uso
auth0_list_formsEnumere todos los formularios en el inquilino Auth0- Show me all my Auth0 forms - What login forms do I have configured? - List the custom forms in my tenant
auth0_get_formObtenga detalles sobre un formulario Auth0 específico- Show me the details of my 'Corporate Login' form - What does my password reset form look like? - Get the configuration for my signup form
auth0_create_formCrear un nuevo formulario Auth0- Create a new login form with our company branding - Set up a custom signup form that collects department information - Create a password reset form with our logo
auth0_update_formActualizar un formulario Auth0 existente- Update the colors on our login form to match our new brand guidelines - Add a privacy policy link to our signup form - Change the logo on our password reset form
auth0_publish_formPublicar un formulario Auth0- Publish my updated login form - Make the new signup form live - Deploy the password reset form to production

🔒 Mejores prácticas de seguridad para el acceso a herramientas

Al configurar el servidor Auth0 MCP, es importante seguir las prácticas recomendadas de seguridad, limitando el acceso a las herramientas según sus necesidades específicas. El servidor ofrece opciones de configuración flexibles que le permiten controlar a qué herramientas pueden acceder los asistentes de IA.

Puede restringir fácilmente el acceso a las herramientas utilizando el indicador --tools al iniciar el servidor:

# Enable only read-only operations npx @auth0/auth0-mcp-server run --tools 'auth0_list_*,auth0_get_*' # Limit to just application-related tools npx @auth0/auth0-mcp-server run --tools 'auth0_*_application*' # Restrict to only log viewing capabilities npx @auth0/auth0-mcp-server run --tools 'auth0_list_logs,auth0_get_log' # Run the server with all tools enabled npx @auth0/auth0-mcp-server run --tools '*'

Este enfoque ofrece varias ventajas importantes:

  1. Seguridad mejorada : al limitar las herramientas disponibles solo a lo necesario, reduce la superficie de ataque potencial y evita modificaciones no deseadas en su inquilino Auth0.
  2. Mejor rendimiento : Ofrecer menos herramientas a los asistentes de IA mejora el rendimiento. Cuando los modelos tienen acceso a muchas herramientas, utilizan más de su ventana de contexto para razonar sobre qué herramientas usar. Con un conjunto de herramientas específico, obtendrá respuestas más rápidas y relevantes.
  3. Control de acceso basado en recursos : puede configurar diferentes instancias del servidor MCP con diferentes conjuntos de herramientas según necesidades específicas: los entornos de desarrollo pueden necesitar acceso completo, mientras que los entornos de producción pueden estar limitados solo a operaciones de lectura.
  4. Auditoría simplificada : con herramientas limitadas, es más fácil rastrear qué operaciones se realizaron a través del asistente de IA.

Para la mayoría de los casos de uso, comience con el conjunto mínimo de herramientas necesarias y añada más solo cuando sea necesario. Esto sigue el principio del mínimo privilegio, una práctica recomendada de seguridad fundamental.

🕸️ Arquitectura

El servidor MCP de Auth0 implementa el Protocolo de contexto de modelo, lo que permite a Claude:

  1. Solicitar una lista de herramientas Auth0 disponibles
  2. Llamar a herramientas específicas con parámetros
  3. Recibir respuestas estructuradas de la API de administración de Auth0

El servidor maneja la autenticación, la validación de solicitudes y la comunicación segura con la API de administración de Auth0.

[!NOTA] El servidor funciona como un proceso local que se conecta a Claude Desktop, lo que permite una comunicación segura sin exponer sus credenciales de Auth0.

🔐 Autenticación

El servidor MCP de Auth0 utiliza la API de administración de Auth0 y requiere autenticación para acceder a su inquilino de Auth0.

Configuración inicial

Para autenticar el servidor MCP:

npx @auth0/auth0-mcp-server init

Esto iniciará el flujo de autorización del dispositivo, lo que le permitirá iniciar sesión en su cuenta Auth0 y seleccionar el inquilino que desea utilizar.

[!IMPORTANTE] El comando init debe ejecutarse siempre que:

  • Estás configurando el servidor MCP por primera vez
  • Has cerrado sesión en una sesión anterior
  • Quiere cambiar a un inquilino diferente
  • Su token ha expirado

Gestión de sesiones

Para ver información sobre su sesión de autenticación actual:

npx @auth0/auth0-mcp-server session

Cerrar sesión

Para mejorar las prácticas de seguridad, utilice siempre el comando de cierre de sesión cuando haya terminado una sesión:

npx @auth0/auth0-mcp-server logout

Esto garantiza que sus tokens de autenticación se eliminen correctamente de la cadena de llaves del sistema.

Flujo de autenticación

El servidor utiliza el flujo de autorización de dispositivos OAuth 2.0 para una autenticación segura con Auth0. Sus credenciales se almacenan de forma segura en la cadena de claves de su sistema y nunca se exponen en texto plano.

🩺 Solución de problemas

Cuando surgen problemas con el servidor Auth0 MCP, hay varias opciones de solución de problemas disponibles para ayudar a diagnosticar y resolver los problemas.

Comience a solucionar problemas explorando todos los comandos y opciones disponibles:

npx @auth0/auth0-mcp-server help

🚥 Modos de funcionamiento

🐞 Modo de depuración

  • Registro más detallado
  • Habilitar configurando la variable de entorno: export DEBUG=auth0-mcp

[!TIP] El modo de depuración es particularmente útil para solucionar problemas de conexión o autenticación.

🔑 Selección del alcance

El servidor proporciona una interfaz de selección de alcance interactiva durante la inicialización:

  • Selección interactiva : navegue con las teclas de flecha y alterne selecciones con la barra espaciadora
  • Sin ámbitos predeterminados : de forma predeterminada, no se selecciona ningún ámbito para lograr la máxima seguridad
  • Compatibilidad con patrones glob : seleccione rápidamente múltiples ámbitos relacionados con patrones:
    # Select all read scopes npx @auth0/auth0-mcp-server init --scopes 'read:*' # Select multiple scope patterns (comma-separated) npx @auth0/auth0-mcp-server init --scopes 'read:*,create:clients,update:actions'

[!NOTA] Los alcances seleccionados determinan qué operaciones puede realizar el servidor MCP en su inquilino Auth0.

⚙️ Configuración

Otros clientes de MCP:

Para utilizar el servidor MCP de Auth0 con cualquier otro cliente MCP, puede agregar esta configuración al cliente y reiniciar para que los cambios surtan efecto:

{ "mcpServers": { "auth0": { "command": "npx", "args": ["-y", "@auth0/auth0-mcp-server", "run"], "capabilities": ["tools"], "env": { "DEBUG": "auth0-mcp" } } } }

[!NOTA]
Puede actualizar manualmente si es necesario o si ocurre algún error inesperado durante el comando npx init.

🚨 Problemas comunes

  1. Fallos de autenticación
    • Asegúrese de tener los permisos correctos en su inquilino Auth0
    • Intente reinicializar con npx @auth0/auth0-mcp-server init
  2. Claude no puede conectarse al servidor
    • Reiniciar Claude Desktop después de la instalación
    • Compruebe que el servidor se esté ejecutando con ps aux | grep auth0-mcp
  3. Errores de API o problemas de permisos
    • Habilite el modo de depuración con export DEBUG=auth0-mcp
    • Verifique los permisos y la expiración de su token Auth0
    • Reiniciar con alcances específicos: npx @auth0/auth0-mcp-server init --scopes 'read:*,update:*,create:*'
    • Si falla una operación específica, es posible que falte el alcance requerido

[!TIP] La mayoría de los problemas de conexión se pueden resolver reiniciando tanto el servidor como Claude Desktop.

📋 Registros de depuración

Habilite el modo de depuración para ver registros detallados:

export DEBUG=auth0-mcp

Obtenga registros detallados del cliente MCP desde Claude Desktop:

# Follow logs in real-time tail -n 20 -F ~/Library/Logs/Claude/mcp*.log

Para la resolución avanzada de problemas, utilice el Inspector MCP:

npx @modelcontextprotocol/inspector -e DEBUG='auth0-mcp' @auth0/auth0-mcp-server run

Para obtener registros detallados del servidor MCP, ejecute el servidor en modo de depuración:

DEBUG=auth0-mcp npx @auth0/auth0-mcp-server run

👨‍💻 Desarrollo

Construyendo desde la fuente

# Clone the repository git clone https://github.com/auth0/auth0-mcp-server.git cd auth0-mcp-server # Install dependencies npm install # Build the project npm run build # Initiate device auth flow npx . init # Configure your MCP client(Claude Desktop) with MCP server path npm run local-setup # Restart MCP client, in this case claude desktop app

[!NOTA] Este servidor requiere Node.js v18 o superior .

🔒 Seguridad

El servidor MCP de Auth0 prioriza la seguridad:

  • Las credenciales se almacenan en el llavero seguro del sistema.
  • No se almacena información confidencial en texto plano
  • La autenticación utiliza el flujo de autorización del dispositivo OAuth 2.0
  • No se solicitan permisos (ámbitos) de forma predeterminada
  • La selección de alcance interactivo le permite elegir exactamente qué permisos otorgar
  • Soporte para patrones glob para seleccionar rápidamente ámbitos relacionados (por ejemplo, read:* )
  • Fácil eliminación de token mediante el comando logout cuando ya no es necesario

[!IMPORTANTE] Para garantizar la seguridad, utilice siempre npx @auth0/auth0-mcp-server logout al finalizar una sesión o al cambiar entre inquilinos. Esto garantiza que sus tokens de autenticación se eliminen correctamente de la cadena de llaves del sistema.

[!PRECAUCIÓN] Revise siempre los permisos solicitados durante el proceso de autenticación para asegurarse de que se alineen con sus requisitos de seguridad.

Divulgación de análisis anónimos

Durante el uso de este servidor MCP, se recopilan datos anónimos. Estos datos incluyen la versión de MCP, el sistema operativo, la fecha y hora, así como otros detalles técnicos que no lo identifican personalmente.

Auth0 utiliza estos datos para comprender mejor el uso de esta herramienta para priorizar las características, mejoras y correcciones que más les importan a nuestros usuarios.

Para inhabilitar esta recopilación, configure la variable de entorno AUTH0_MCP_ANALYTICS en false .

💬 Comentarios y contribuciones

Agradecemos sus comentarios y contribuciones a este proyecto. Antes de comenzar, consulte:

Informes de problemas

Para proporcionar comentarios o informar un error, plantee un problema en nuestro rastreador de problemas .

Informes de vulnerabilidad

No reporte vulnerabilidades de seguridad en el rastreador de problemas público de GitHub. El Programa de Divulgación Responsable detalla el procedimiento para divulgar problemas de seguridad.

📄 Licencia

Este proyecto está licenciado bajo la licencia MIT. Consulte el archivo de LICENCIA para más información.

¿Qué es Auth0?

ID: lz9vzh2y5r