Auth0 Serveur MCP - MCP Server sécurisé par ALMC Security 2025

Auth0 Serveur MCP

Voir sur GitHub

MCP server for Auth0

License: MITNode.js VersionNPM DownloadsNPM Version

📚 Documentation - 🚀 Prise en main - 💻 Outils supportés - 💬 Retour d'expérience

MCP (Model Context Protocol) est un protocole ouvert introduit par Anthropic qui standardise la façon dont les grands modèles de langage communiquent avec des outils externes, des ressources ou des services distants.

[Avis de logiciel bêta : Ce logiciel est actuellement en version bêta et est fourni TEL QUEL sans aucune garantie.

  • Les caractéristiques, les API et les fonctionnalités peuvent être modifiées à tout moment sans préavis
  • Non recommandé pour une utilisation en production ou pour des charges de travail critiques
  • L'assistance pendant la période bêta est limitée
  • Les problèmes et les commentaires peuvent être signalés via le GitHub Issue Tracker

En utilisant ce logiciel bêta, vous reconnaissez et acceptez ces conditions.

Le serveur MCP Auth0 s'intègre aux LLM et aux agents d'intelligence artificielle, ce qui vous permet d'effectuer diverses opérations de gestion Auth0 en utilisant le langage naturel. Par exemple, vous pouvez simplement demander à Claude Desktop d'effectuer des opérations de gestion Auth0 :

  • Créer une nouvelle application Auth0 et obtenir le domaine et l'ID du client

  • Créer et déployer une nouvelle action Auth0 pour générer un jeton JWT

  • Pourriez-vous vérifier les journaux Auth0 pour les connexions à partir de l'adresse IP 192.108.92.3 ?

🚀 Démarrage

Prérequis :

Installer le serveur MCP Auth0

Installez le serveur MCP Auth0 et configurez-le pour qu'il fonctionne avec votre client MCP préféré. Le paramètre --tools spécifie quels outils doivent être disponibles (la valeur par défaut est * si elle n'est pas fournie).

Claude Desktop avec tous les outils

npx @auth0/auth0-mcp-server init

Claude Desktop avec les outils en lecture seule

npx @auth0/auth0-mcp-server init --read-only

Vous pouvez également sélectionner explicitement des outils en lecture seule :

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

Windsurf

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

Curseur

Étape 1 :

Install MCP Server

Étape 2 :

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

Avec un accès limité aux outils

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

Autres clients MCP

Pour utiliser le serveur MCP Auth0 avec tout autre client MCP, vous pouvez ajouter manuellement cette configuration au client et redémarrer pour que les changements prennent effet :

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

Vous pouvez ajouter --tools '<pattern>' au tableau d'arguments pour contrôler les outils disponibles. Voir les meilleures pratiques en matière de sécurité pour connaître les modèles recommandés.

Autoriser avec Auth0

Votre navigateur s'ouvrira automatiquement pour lancer le flux d'autorisation de périphérique OAuth 2.0. Connectez-vous à votre compte Auth0 et accordez les permissions demandées.

[Les informations d'identification sont stockées en toute sécurité dans le trousseau de clés de votre système. Vous pouvez éventuellement vérifier le stockage à l'aide de votre outil de gestion du trousseau. Consultez la section Authentification pour plus d'informations.

Vérifiez votre intégration

Redémarrez votre client MCP (Claude Desktop, Windsurf, Cursor, etc.) et demandez-lui de vous aider à gérer votre locataire Auth0

🛠️ Outils supportés

Le serveur MCP Auth0 fournit les outils suivants pour que Claude puisse interagir avec votre locataire Auth0 :

Applications

OutilOutil DescriptionExemples d'utilisation
auth0_list_applicationsListe toutes les applications dans le locataire Auth0 ou recherche par nom- Show me all my Auth0 applications - Find applications with 'api' in their name - What applications do I have in my Auth0 tenant ?
auth0_get_applicationObtenir des détails sur une application Auth0 spécifique- Afficher les détails de l'application appelée 'Customer Portal' - Obtenir des informations sur mon application avec l'ID client abc123 - Quelles sont les URL de rappel pour mon 'Mobile App' ?
auth0_create_applicationCréer une nouvelle application Auth0- Créer une nouvelle application à page unique appelée "Analytics Dashboard" - Créer une nouvelle application mobile native appelée "iOS Client" - Créer une application machine-to-machine pour notre service d'arrière-plan
auth0_update_applicationMettre à jour une application Auth0 existante- Mettre à jour les URLs de rappel pour mon 'Web App' pour inclure https://staging.example.com/callback - Changer l'URL de déconnexion pour le 'Customer Portal' - Ajouter des métadonnées d'environnement de développement à mon application 'Admin Dashboard'

Serveurs de ressources

OutilDescription de l'outilExemples d'utilisation
auth0_list_resource_serversListe tous les serveurs de ressources (API) dans le locataire Auth0- Show me all the APIs in my Auth0 tenant - List my resource servers - What APIs have I configured in Auth0 ?
auth0_get_resource_serverObtenir des détails sur un serveur de ressources Auth0 spécifique- Show me details for the 'User API' - What scopes are defined for my 'Payment API' ? - Obtenir des informations sur le serveur de ressources avec l'identifiant https://api.example.com"
auth0_create_resource_serverCréer un nouveau serveur de ressources Auth0 (API)- Créer une nouvelle API appelée 'Inventory API' avec des portées de lecture et d'écriture - Mettre en place un serveur de ressources pour notre API de données clients - Créer une API avec l'identifiant https://orders.example.com"
auth0_update_resource_serverMettre à jour un serveur de ressources Auth0 existant- Ajouter un scope 'admin' à l'API 'User' - Mettre à jour la durée de vie du token pour mon API 'Payment API' à 1 heure - Changer l'algorithme de signature pour mon API à RS256

Actions

OutilDescription de l'outilExemples d'utilisation
auth0_list_actionsListe toutes les actions du locataire Auth0- Show me all my Auth0 actions - Quelles sont les actions que j'ai configurées ? - Liste des actions dans mon locataire
auth0_get_actionObtenir des détails sur une action Auth0 spécifique- Montrez-moi le code de mon action "Enrichir le profil de l'utilisateur" - Obtenez des détails sur mon action de flux de connexion - Que fait mon action "Ajouter des réclamations personnalisées" ?
auth0_create_actionCréer une nouvelle action Auth0- Créer une action qui ajoute des rôles d'utilisateurs aux tokens - Configurer une action pour enregistrer les échecs de connexion - Créer une action post-connexion qui vérifie l'emplacement de l'utilisateur
auth0_update_actionMettre à jour une action Auth0 existante- Mettre à jour mon action 'Add Custom Claims' pour inclure des informations sur le département - Modifier la logique de filtrage IP dans mon action de sécurité - Corriger le bug dans mon action d'enrichissement de l'utilisateur
auth0_deploy_actionDéployer une action Auth0- Déployer mon action 'Add Custom Claims' en production - Mettre en production ma nouvelle action de sécurité - Déployer l'action d'enrichissement utilisateur mise à jour

Journaux

OutilDescription de l'outilExemples d'utilisation
auth0_list_logsListe les journaux du locataire Auth0- Afficher les tentatives de connexion récentes - Trouver les échecs de connexion des dernières 24 heures - Obtenir les journaux d'authentification d'hier - Afficher les connexions réussies pour l'utilisateur john@example.com
auth0_get_logObtenir une entrée de journal spécifique par ID- Show me details for log entry abc123 - Get more information about this failed login attempt - What caused this authentication error ?

Formulaires

OutilDescription de l'outilExemples d'utilisation
auth0_list_formsListe tous les formulaires du locataire Auth0- Montrez-moi tous mes formulaires Auth0 - Quels formulaires de connexion ai-je configurés ? - Liste les formulaires personnalisés de mon locataire
auth0_get_formObtenir des détails sur un formulaire Auth0 spécifique- Montrer les détails de mon formulaire 'Corporate Login' - A quoi ressemble mon formulaire de réinitialisation de mot de passe ? - Obtenir la configuration de mon formulaire d'inscription
auth0_create_formCréer un nouveau formulaire Auth0- Créer un nouveau formulaire de connexion avec la marque de notre entreprise - Créer un formulaire d'inscription personnalisé qui recueille des informations sur le département - Créer un formulaire de réinitialisation du mot de passe avec notre logo
auth0_update_formMettre à jour un formulaire Auth0 existant- Mettre à jour les couleurs de notre formulaire de connexion pour qu'il corresponde à notre nouvelle image de marque - Ajouter un lien vers la politique de confidentialité à notre formulaire d'inscription - Changer le logo de notre formulaire de réinitialisation de mot de passe
auth0_publish_formPublier un formulaire Auth0- Publier mon formulaire de connexion mis à jour - Mettre en ligne le nouveau formulaire d'inscription - Déployer le formulaire de réinitialisation de mot de passe en production

meilleures pratiques de sécurité pour l'accès aux outils

Lors de la configuration du serveur Auth0 MCP, il est important de suivre les meilleures pratiques de sécurité en limitant l'accès aux outils en fonction de vos besoins spécifiques. Le serveur offre des options de configuration flexibles qui vous permettent de contrôler les outils auxquels les assistants AI peuvent accéder.

Vous pouvez facilement limiter l'accès aux outils en utilisant les options --tools et --read-only lors du démarrage du serveur :

# Activer uniquement les opérations en lecture seule npx @auth0/auth0-mcp-server run --read-only # Autre façon d'activer uniquement les opérations en lecture seule npx @auth0/auth0-mcp-server run --tools 'auth0_list_*,auth0_get_*' # Limiter aux outils liés à l'application npx @auth0/auth0-mcp-server run --tools 'auth0_*_application*' # Limiter aux outils liés à l'application en lecture seule # Note : --read-only est prioritaire lorsqu'il est utilisé avec --tools npx @auth0/auth0-mcp-server run --tools 'auth0_*_application*' --read-only # Restreindre aux seules capacités de visualisation des logs npx @auth0/auth0-mcp-server run --tools 'auth0_list_logs,auth0_get_log' # Exécuter le serveur avec tous les outils activés npx @auth0/auth0-mcp-server run --tools '*'

[IMPORTANT] Lorsque les options --read-only et --tools sont utilisées ensemble, l'option --read-only est prioritaire en termes de sécurité. Cela signifie que même si votre motif --tools correspond à des outils non accessibles en lecture seule, seules les opérations en lecture seule seront disponibles. Cela garantit que vous pouvez compter sur l'option --read-only comme garde-fou de sécurité.

Cette approche présente plusieurs avantages importants :

  1. Une sécurité renforcée: En limitant les outils disponibles au strict nécessaire, vous réduisez la surface d'attaque potentielle et empêchez les modifications involontaires de votre locataire Auth0.

  2. Meilleures performances: Fournir moins d'outils aux assistants d'IA améliore en fait les performances. Lorsque les modèles ont accès à de nombreux outils, ils utilisent une plus grande partie de leur fenêtre contextuelle pour raisonner sur les outils à utiliser. Avec un ensemble d'outils ciblés, vous obtiendrez des réponses plus rapides et plus pertinentes.

  3. Contrôle d'accès basé sur les ressources: Vous pouvez configurer différentes instances du serveur MCP avec différents ensembles d'outils en fonction de besoins spécifiques - les environnements de développement peuvent avoir besoin d'un accès complet, tandis que les environnements de production peuvent être limités à des opérations de lecture uniquement.

  4. Audit simplifié: Avec des outils limités, il est plus facile de suivre les opérations effectuées par l'assistant d'intelligence artificielle.

Pour la plupart des cas d'utilisation, il convient de commencer par l'ensemble minimal d'outils nécessaires et de n'en ajouter qu'en cas de besoin. Cela suit le principe du moindre privilège - une meilleure pratique de sécurité fondamentale.

🧪 Analyse de sécurité

Nous recommandons d'analyser régulièrement ce serveur, ainsi que tous les autres serveurs compatibles MCP que vous déployez, à l'aide d'outils communautaires conçus pour détecter les risques et les erreurs de configuration au niveau du protocole.

Ces scanners permettent d'identifier les problèmes dans les principales catégories de vulnérabilité, notamment : les bogues d'implémentation du serveur, les risques liés à la définition et au cycle de vie des outils, les faiblesses en matière d'interaction et de flux de données, et les lacunes en matière de configuration ou d'environnement.

Parmi les outils utiles, citons

  • mcpscan.ai
    Scanner basé sur le web qui inspecte les points d'extrémité MCP en direct à la recherche d'outils exposés, de lacunes dans l'application des schémas et d'autres problèmes.

  • mcp-scan
    Outil CLI qui simule des chemins d'attaque et évalue le comportement du serveur du point de vue du client.

Ces outils ne remplacent pas un audit complet, mais ils offrent des garde-fous significatifs et des alertes précoces. Nous vous conseillons de les inclure dans votre processus régulier d'examen de la sécurité.

Si vous découvrez une vulnérabilité, veuillez suivre notre processus de divulgation responsable.

🕸️ Architecture

Le serveur Auth0 MCP met en œuvre le protocole de contexte de modèle, permettant à Claude de :

  1. Demander une liste des outils Auth0 disponibles
  2. D'appeler des outils spécifiques avec des paramètres
  3. Recevoir des réponses structurées de l'API de gestion Auth0

Le serveur gère l'authentification, la validation des demandes et la communication sécurisée avec l'API de gestion Auth0.

[Le serveur fonctionne comme un processus local qui se connecte à Claude Desktop, permettant une communication sécurisée sans exposer vos informations d'identification Auth0.

🔐 Authentification

Le serveur MCP Auth0 utilise l'API de gestion Auth0 et nécessite une authentification pour accéder à votre locataire Auth0.

Configuration initiale

Pour authentifier le serveur MCP :

npx @auth0/auth0-mcp-server init

Ceci lancera le flux d'autorisation de l'appareil, vous permettant de vous connecter à votre compte Auth0 et de sélectionner le locataire que vous souhaitez utiliser.

[IMPORTANT] La commande init doit être exécutée chaque fois que vous configurez le serveur MCP :

  • Vous configurez le serveur MCP pour la première fois
  • Vous vous déconnectez d'une session précédente
  • Vous voulez changer de locataire
  • Votre jeton a expiré

La commande run vérifiera automatiquement la validité du jeton avant de démarrer le serveur et fournira des messages d'erreur utiles si une authentification est nécessaire.

Gestion des sessions

Pour obtenir des informations sur votre session d'authentification en cours :

npx @auth0/auth0-mcp-server session

Déconnexion

Pour des raisons de sécurité, utilisez toujours la commande logout lorsque vous avez terminé une session :

npx @auth0/auth0-mcp-server logout

Cela permet de s'assurer que les jetons d'authentification sont correctement supprimés du trousseau de clés du système.

Flux d'authentification

Le serveur utilise le flux d'autorisation de périphérique OAuth 2.0 pour une authentification sécurisée avec Auth0. Vos informations d'identification sont stockées en toute sécurité dans le trousseau de votre système et ne sont jamais exposées en texte clair.

🩺 Dépannage

Lorsque vous rencontrez des problèmes avec le serveur MCP Auth0, plusieurs options de dépannage sont disponibles pour aider à diagnostiquer et à résoudre les problèmes.

Commencez le dépannage en explorant toutes les commandes et options disponibles :

npx @auth0/auth0-mcp-server help

🚥 Modes de fonctionnement

🐞 Debug Mode

  • Journalisation plus détaillée
  • Activé en définissant la variable d'environnement : export DEBUG=auth0-mcp

[Le mode débogage est particulièrement utile pour résoudre les problèmes de connexion ou d'authentification.

🔑 Sélection de l'étendue

Le serveur fournit une interface de sélection interactive de l'étendue lors de l'initialisation :

  • Sélection interactive: Naviguer avec les touches fléchées et basculer les sélections avec la barre d'espacement

  • No Default Scopes (Aucune portée par défaut) : Par défaut, aucun champ d'application n'est sélectionné pour une sécurité maximale

  • Prise en charge des motifs globaux: Sélection rapide de plusieurs champs d'application connexes à l'aide de motifs :

    # Sélectionner toutes les portées de lecture npx @auth0/auth0-mcp-server init --scopes 'read:*' # Sélectionner plusieurs modèles de portée (séparés par des virgules) npx @auth0/auth0-mcp-server init --scopes 'read:*,create:clients,update:actions'

[Les champs d'application sélectionnés déterminent les opérations que le serveur MCP peut effectuer sur votre locataire Auth0.

⚙️ Configuration

Autres clients MCP :

Pour utiliser le serveur MCP Auth0 avec n'importe quel autre client MCP, vous pouvez ajouter cette configuration au client et redémarrer pour que les changements prennent effet :

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

[!NOTE]
Vous pouvez mettre à jour manuellement si nécessaire ou si des erreurs inattendues se produisent pendant la commande npx init.

🚨 Problèmes courants

  1. Échecs d'authentification

    • Vérifiez que vous disposez des autorisations correctes dans votre locataire Auth0
    • Essayez de réinitialiser avec npx @auth0/auth0-mcp-server init
  2. Claude Desktop ne peut pas se connecter au serveur

    • Redémarrer Claude Desktop après l'installation
    • Vérifier que le serveur fonctionne avec ps aux | grep auth0-mcp
  3. Erreurs d'API ou problèmes de permissions

    • Activez le mode débogage avec export DEBUG=auth0-mcp
    • Vérifiez l'état de votre jeton Auth0 : npx @auth0/auth0-mcp-server session
    • Réinitialiser avec des scopes spécifiques : npx @auth0/auth0-mcp-server init --scopes 'read:*,update:*,create:*'
    • Si une opération spécifique échoue, il se peut que la portée requise soit manquante
  4. Erreur de configuration Auth0 non valide

    • Cela se produit généralement lorsque votre jeton d'autorisation est manquant ou a expiré
    • Exécutez la session npx @auth0/auth0-mcp-server pour vérifier l'état de votre jeton
    • Si le jeton est expiré ou manquant, exécutez npx @auth0/auth0-mcp-server init pour vous authentifier

[La plupart des problèmes de connexion peuvent être résolus en redémarrant le serveur et Claude Desktop.

📋 Journaux de débogage

Activez le mode débogage pour afficher les journaux détaillés :

export DEBUG=auth0-mcp

Obtenir les journaux détaillés du client MCP à partir de Claude Desktop :

# Suivre les logs en temps réel tail -n 20 -F ~/Library/Logs/Claude/mcp*.log

Pour un dépannage avancé, utilisez l'inspecteur MCP :

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

Pour obtenir des journaux détaillés sur le serveur MCP, exécutez le serveur en mode de débogage :

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

👨‍💻 Développement

Construction à partir des sources

# Cloner le dépôt git clone https://github.com/auth0/auth0-mcp-server.git cd auth0-mcp-server # Installer les dépendances npm install # Construire le projet npm run build # Initier le flux d'authentification npx . init # Configurer votre client MCP (par exemple Claude Desktop) avec le chemin d'accès au serveur MCP npm run setup

Scripts de développement

# Exécuter directement avec TypeScript (pas de build nécessaire) npm run dev # Exécuter avec les logs de débogage activés npm run dev:debug # Exécuter avec l'inspecteur MCP pour le débogage npm run dev:inspect # Exécuter la version compilée de JavaScript npm run start

[Ce serveur nécessite Node.js v18 ou une version plus récente.

sécurité

Le serveur Auth0 MCP donne la priorité à la sécurité :

  • Les informations d'identification sont stockées dans le trousseau sécurisé du système
  • Aucune information sensible n'est stockée en texte clair
  • L'authentification utilise le flux d'autorisation de périphérique OAuth 2.0
  • Aucune autorisation (champ d'application) n'est demandée par défaut
  • La sélection interactive de l'étendue vous permet de choisir exactement les autorisations à accorder
  • Prise en charge de motifs globaux pour sélectionner rapidement des champs d'application connexes (par exemple, read:*)
  • Suppression facile du jeton via la commande de déconnexion lorsqu'il n'est plus nécessaire

[Pour des raisons de sécurité, utilisez toujours la commande npx @auth0/auth0-mcp-server logout lorsque vous avez terminé une session ou que vous passez d'un locataire à l'autre. Cela permet de s'assurer que vos jetons d'authentification sont correctement supprimés du trousseau de clés du système.

[Vérifiez toujours les autorisations demandées pendant le processus d'authentification pour vous assurer qu'elles correspondent à vos exigences de sécurité.

Divulgation de données analytiques anonymes

Des points de données anonymes sont collectés lors de l'utilisation de ce serveur MCP. Ces données comprennent la version du MCP, le système d'exploitation, l'horodatage et d'autres détails techniques qui ne vous identifient pas personnellement.

Auth0 utilise ces données pour mieux comprendre l'utilisation de cet outil afin de prioriser les fonctionnalités, les améliorations et les corrections les plus importantes pour nos utilisateurs.

Pour refuser cette collecte, définissez la variable d'environnement AUTH0_MCP_ANALYTICS sur false.

💬 Commentaires et contributions

Nous apprécions les commentaires et les contributions à ce projet ! Avant de commencer, veuillez consulter :

Signaler des problèmes

Pour fournir un retour d'information ou signaler un bogue, veuillez soulever un problème sur notre outil de suivi des problèmes (Issue Tracker).

Rapport de vulnérabilité

Veuillez ne pas signaler de vulnérabilités de sécurité sur le GitHub issue tracker public. Le programme de divulgation responsable détaille la procédure de divulgation des problèmes de sécurité.

📄 Licence

Ce projet est placé sous licence MIT. Voir le fichier LICENSE pour plus d'informations.

Qu'est-ce que Auth0 ?

Liés dans Service en nuage - MCP Servers sécurisés

ServeurRésuméActions
Serveur MCP vers MarkdownVoir
Serveur MCP InfactoryUn serveur MCP (Model Context Protocol) pour interagir avec les API d'Infactory à l'aide de Claude e...Voir
Modèle de serveur Cloudflare MCPUn serveur de protocole de contexte de modèle (MCP) alimenté par l'IA qui fournit un accès intellige...Voir
Amazon VPC LatticeUn serveur Model Context Protocol (MCP) pour le référencement des sources, fournissant des outils po...Voir
ALECS - Serveur MCP pour AkamaiAucune documentation n'est disponible.Voir
Démonstration de géolocalisationCe projet montre comment utiliser EdgeOne Pages Functions pour récupérer les informations de géoloca...Voir