Connecter VS Code au serveur Casdoor MCP
Ce guide explique comment connecter GitHub Copilot dans VS Code au serveur MCP de Casdoor, ou à un serveur MCP derrière la passerelle Casdoor MCP, afin que Copilot puisse appeler ses outils en mode agent.
Objectifs d'apprentissage
- Laissez VS Code s'identifier auprès de Casdoor sans créer d'application manuellement.
- Ajoutez le serveur MCP à
mcp.json. - Connectez-vous, vérifiez les outils et déconnectez-vous.
Prérequis
- Une instance Casdoor fonctionnelle. Utilisez HTTPS en production.
- VS Code avec GitHub Copilot
- Accès administrateur global à la console d'administration Casdoor
À propos de la connexion
VS Code se connecte aux serveurs MCP distants via HTTP et exécute lui-même le flux d'autorisation de code OAuth 2.0 avec PKCE. Lorsqu'un serveur MCP répond par une erreur HTTP 401, VS Code lit les métadonnées de ressource protégée du serveur, trouve Casdoor comme serveur d'autorisation et obtient un identifiant client de la première manière qui fonctionne :
- Un identifiant client dans
mcp.json: une application que vous créez dans Casdoor. Voir Utiliser une application que vous avez créée. - Un document de métadonnées d'identification client (CIMD) : VS Code utilise l'URL d'un document qu'il publie,
https://vscode.dev/oauth/client-metadata.json, comme son identifiant client. Casdoor lit le document et aucune inscription n'est nécessaire. - Inscription dynamique des clients (DCR) : VS Code s'enregistre via le point de terminaison d'inscription de Casdoor.
Le document de VS Code répertorie deux URI de redirection : http://127.0.0.1:33418/ pour l'application de bureau et https://vscode.dev/redirect pour VS Code sur le Web. Voir Guide développeur MCP dans la documentation de VS Code.
Accepter VS Code dans Casdoor
CIMD et DCR sont tous deux régis par Enable dynamic client registration d'une organisation.
- Dans la console d'administration Casdoor, accédez à User Management > Organizations et ouvrez l'organisation dont les utilisateurs se connectent à VS Code :
built-inpour le serveur Casdoor MCP, ou l'organisation du serveur pour un serveur derrière la passerelle MCP. - Activez Enable dynamic client registration.
- Enregistrez l'organisation.
Lors de la première connexion, Casdoor crée une application avec l'identifiant client https://vscode.dev/oauth/client-metadata.json, un nom commençant par cimd_ et le tag cimd. Toutes les organisations partagent cette même application. Voir Accepter les clients identifiés par une URL de document de métadonnées.
Ajouter le serveur MCP à VS Code
-
Ouvrez la palette de commandes et exécutez MCP: Open User Configuration pour tous les espaces de travail, ou créez
.vscode/mcp.jsondans un espace de travail. -
Ajoutez le serveur. Remplacez
your-casdoor.compar le domaine de votre instance Casdoor.Pour le serveur MCP de Casdoor :
{
"servers": {
"casdoor": {
"type": "http",
"url": "https://your-casdoor.com/api/mcp"
}
}
}Pour un serveur derrière la passerelle MCP, utilisez l'URL de la passerelle
https://your-casdoor.com/api/server/<organization>/<server-name>:{
"servers": {
"acme-tools": {
"type": "http",
"url": "https://your-casdoor.com/api/server/acme/tools"
}
}
} -
Enregistrez le fichier. VS Code affiche un CodeLens Start au-dessus du serveur. Sélectionnez-le.
Connexion
- VS Code demande si le serveur peut se connecter avec Casdoor. Sélectionnez Allow.
- Votre navigateur ouvre la page de connexion Casdoor. Connectez-vous.
- Si Casdoor affiche un écran de consentement, cliquez sur Allow.
- Le navigateur vous renvoie vers VS Code et le serveur démarre.
Vérifier le résultat
- Ouvrez la vue Chat et passez en mode Agent.
- Sélectionnez le bouton Tools et vérifiez que les outils du serveur sont répertoriés.
- Demandez à Copilot de les utiliser, par exemple "List all applications in Casdoor".
Pour vérifier le client du côté de Casdoor, ouvrez Identity > Applications et trouvez l'application cimd_ dont l'identifiant client est https://vscode.dev/oauth/client-metadata.json, ou ouvrez Tokens et trouvez le jeton de votre utilisateur.
Utiliser une application que vous avez créée
Si vous ne souhaitez pas activer l'inscription dynamique des clients, créez le client vous-même :
-
Dans la console d'administration Casdoor, accédez à Identity > Applications et ajoutez une application dans l'organisation de vos utilisateurs, par exemple
vscode-mcp. -
Ajoutez
http://127.0.0.1:33418/ethttps://vscode.dev/redirectaux Redirect URLs. -
Enregistrez l'application et copiez son Client ID.
-
Placez l'identifiant client dans
mcp.json:{
"servers": {
"casdoor": {
"type": "http",
"url": "https://your-casdoor.com/api/mcp",
"oauth": {
"clientId": "<client-id>"
}
}
}
} -
Si l'application a besoin d'un secret client, sélectionnez le CodeLens Set Client Secret au-dessus du serveur et collez le Client Secret. VS Code le conserve dans son stockage de secrets, pas dans
mcp.json.
Déconnexion
- Pour vous déconnecter, ouvrez le menu Accounts en bas de la barre d'activité, sélectionnez le compte Casdoor, puis sélectionnez Sign Out.
- Pour faire oublier à VS Code un client qu'il a enregistré via DCR, exécutez Authentication: Remove Dynamic Authentication Providers.
- Pour couper le client côté Casdoor, supprimez ses jetons sur la page Tokens.
Dépannage
Casdoor signale une incompatibilité de l'URL de redirection
VS Code écoute sur le port 33418 pour le callback. Si un autre processus utilise ce port, l'URI de redirection ne correspond plus. Libérez le port et réessayez.
Casdoor rejette le document de métadonnées d'ID client
L'erreur "client ID metadata documents are not accepted" signifie que Enable dynamic client registration est désactivé pour l'organisation. Consultez Accepter VS Code dans Casdoor. Casdoor doit également pouvoir atteindre https://vscode.dev via Internet.
VS Code demande un ID client
VS Code pose cette question lorsqu'il ne peut utiliser ni CIMD ni DCR. Activez Enable dynamic client registration, ou saisissez l'ID client d'une application que vous avez créée.
La passerelle répond 401 après la connexion
Consultez Dépannage dans le guide de la passerelle MCP.
Voir aussi
- La passerelle MCP de Casdoor, de bout en bout
- Connecter Claude
- Connecter Cursor
- Connecter ChatGPT
- Référence de configuration MCP dans la documentation de VS Code