Authentification OAuth MCP
Connecte-toi aux serveurs MCP nécessitant un accès délégué par l'utilisateur avec OAuth 2.1. Bob gère le processus d'authentification et de rafraîchissement des tokens afin que tu n'aies pas besoin de gérer les tokens manuellement.
Pour la configuration générale de MCP, consulte Utiliser MCP dans Bob.
Vue d'ensemble
Tu peux connecter Bob à des serveurs Model Context Protocol (MCP) qui agissent en ton nom, par exemple pour accéder à tes dépôts de code, tes services cloud ou tes outils internes. Ces serveurs utilisent OAuth 2.1 afin que tu puisses te connecter et approuver l'accès.
Bob gère directement le flux d'authentification. Lorsque tu configures un serveur nécessitant OAuth, Bob affiche une demande d'authentification dans les paramètres MCP. Tu peux cliquer sur le bouton pour ouvrir ton fournisseur d'identité dans une fenêtre de navigateur, effectuer ta connexion et approuver les autorisations. Bob stocke et rafraîchit tes tokens d'accès sans que tu aies besoin de manipuler des identifiants manuellement.
Utilise OAuth quand :
- Tu dois accéder à des ressources associées à ton compte utilisateur personnel ou d'entreprise
- Le serveur utilise des tokens de courte durée qui nécessitent un rafraîchissement automatique des tokens
- Tu souhaites garder les identifiants et secrets statiques en dehors de tes fichiers de configuration
Lorsque tu disposes déjà d'un token d'API statique ou d'un jeton d'accès personnel qui n'expire pas, tu peux utiliser à la place un token Bearer dans headers.
Comment fonctionne le flux d'authentification
- Tu ajoutes l'URL du serveur MCP distant à ton fichier de configuration sans identifiants
headersouenv. - Lorsque Bob se connecte au serveur, Bob détecte les exigences OAuth.
- Bob ouvre une fenêtre de connexion de navigateur où tu vérifies les autorisations demandées et approuves l'accès.
- Bob reçoit les tokens d'autorisation et les stocke de manière sécurisée d'une session à l'autre.
- Bob rafraîchit automatiquement les tokens avant leur expiration afin que tu puisses travailler sans interruption.
Bob IDE Authorization Server MCP Server
| | |
|-- connect to server ---------->| |
|<-- OAuth metadata (401) -------| |
|-- open auth prompt ----------->| |
| (user signs in & consents) | |
|<-- authorization code ---------| |
|-- exchange for tokens -------->| |
|<-- access + refresh tokens ----| |
|-- authenticated requests ---------------------------------> |
| (auto-refresh when needed) |Configurer un serveur compatible OAuth
Tu peux configurer tes serveurs MCP soit dans ta configuration globale (~/.bob/mcp_settings.json), soit dans la configuration de ton projet (.bob/mcp.json).
Configuration minimale (découverte automatique)
Lorsque ton serveur MCP propose la découverte automatique des métadonnées OAuth, tu n'as besoin de spécifier que l'url :
{
"mcpServers": {
"my-oauth-server": {
"url": "https://mcp.example.com/mcp"
}
}
}Bob détecte les exigences OAuth lors de la connexion et te guide tout au long du processus de connexion dans le navigateur.
Paramètres OAuth personnalisés
Lorsque ton fournisseur d'identité requiert un ID client préenregistré, des scopes personnalisés ou un secret client, configure l'objet oauth :
{
"mcpServers": {
"my-oauth-server": {
"url": "https://mcp.example.com/mcp",
"oauth": {
"enabled": true,
"clientId": "your-client-id-from-idp",
"clientSecret": "your-client-secret-if-required",
"scope": "mcp:connect read:data"
}
}
}
}Propriétés de configuration
| Propriété | Type | Description |
|---|---|---|
url | string | URL du point de terminaison MCP distant (obligatoire). |
oauth.enabled | boolean | Définis sur false pour désactiver OAuth, ou true pour exiger OAuth. Activé par défaut lorsqu'aucun en-tête Authorization n'est présent. |
oauth.clientId | string | ID client OAuth préenregistré émis par ton fournisseur d'identité. |
oauth.clientSecret | string | Secret client OAuth, si ton serveur d'autorisation en requiert un pour les clients confidentiels. |
oauth.scope | string | Liste séparée par des espaces des scopes OAuth que tu souhaites demander. |
L'ajout d'un en-tête Authorization statique à la configuration d'un serveur MCP désactive OAuth. Lorsqu'un en-tête Authorization est présent, Bob n'initie pas le flux OAuth. Lorsque OAuth est actif, Bob supprime les en-têtes Authorization statiques avant d'envoyer des requêtes. N'utilise qu'une seule méthode d'authentification par serveur.
Enregistrer Bob auprès de ton fournisseur d'identité
Lorsque ton fournisseur d'identité (IdP) exige que tu enregistres Bob en tant qu'application cliente avant de te connecter, utilise les paramètres d'application suivants :
| Paramètre | Valeur |
|---|---|
| Type d'application ou de client | Public, Natif ou Bouclage (Code d'autorisation avec PKCE) |
| URI de redirection | http://127.0.0.1:33418/callback |
| URIs de redirection supplémentaires | http://127.0.0.1:33419/callback à http://127.0.0.1:33427/callback (recommandé si le port 33418 est utilisé) |
| Types de grant | Code d'autorisation (authorization_code) et Jeton de rafraîchissement (refresh_token) |
| Scopes | Scopes spécifiés dans la documentation de ton serveur MCP |
Copie l'ID client émis dans oauth.clientId dans ton fichier de configuration.
S'authentifier lorsque demandé
Lorsque tu te connectes à un serveur compatible OAuth pour la première fois :
- Examine l'invite d'authentification qui s'ouvre dans l'IDE ou dans ton navigateur.
- Vérifie les autorisations demandées par le serveur.
- Connecte-toi à ton compte et approuve l'accès.
- Bob enregistre tes identifiants et se connecte aux outils du serveur.
Afficher et gérer le statut d'authentification
Tu peux vérifier ou modifier l'authentification d'un serveur MCP :
- Clique sur l'icône dans le panneau Bob.
- Sélectionne l'onglet MCP.
- Localise le serveur dans la liste.
Les serveurs connectés affichent un indicateur d'état. Lorsque l'authentification expire ou que les autorisations changent, tu peux mettre à jour ta connexion.
Pour se réauthentifier : Clique sur à côté du nom du serveur pour redémarrer ta connexion et te reconnecter.
Dépannage
L'invite d'authentification ne s'ouvre pas
- Vérifie que tu n'as pas marqué le serveur comme désactivé dans ta configuration.
- Vérifie que ton fichier de configuration n'inclut pas d'en-tête
Authorizationstatique dansheaders. - Redémarre le serveur depuis l'onglet des paramètres MCP.
- Vérifie que ton navigateur ou pare-feu ne bloque pas les connexions de bouclage local sur
127.0.0.1.
Le fournisseur d'identité renvoie une erreur d'incompatibilité d'URI de redirection
- Vérifie que l'enregistrement du client de ton fournisseur d'identité inclut
http://127.0.0.1:33418/callback. - Si le port 33418 est occupé, enregistre des ports supplémentaires de
33419à33427.
L'authentification réussit mais le serveur ne parvient pas à se connecter
- Vérifie que l'URL du serveur est correcte et accessible depuis ton réseau.
- Vérifie que tu as approuvé tous les scopes requis lors de l'étape de connexion.
- Consulte les journaux du serveur ou la documentation pour les rôles utilisateur ou autorisations prérequis.
Les tokens expirent fréquemment et tu dois te réauthentifier
- Confirme que ton serveur d'autorisation émet des tokens de rafraîchissement.
- Vérifie que l'horloge de ton système est synchronisée pour éviter une expiration prématurée des tokens.
Tu veux te déconnecter ou changer de compte
Le redémarrage du serveur n'efface pas les identifiants OAuth. Pour te déconnecter ou changer de compte, utilise Réinitialiser auth depuis l'onglet des paramètres MCP. Cela efface les tokens stockés et déclenche une nouvelle invite d'authentification lors de la prochaine connexion.
Utiliser MCP dans Bob
Le Model Context Protocol (MCP) étend les capacités de Bob en se connectant à des outils et services externes. Ce guide vous montre comment configurer, gérer et utiliser les serveurs MCP avec Bob.
Interface de chat
L'interface de chat de Bob IDE est ton espace de travail principal, où tu utilises des prompts en langage naturel, des commandes slash et l'approbation automatique pour des workflows de développement assistés par IA.