Conectar VS Code al servidor Casdoor MCP
Esta guía explica cómo conectar GitHub Copilot en VS Code al servidor MCP de Casdoor, o a un servidor MCP detrás de la pasarela Casdoor MCP, para que Copilot pueda llamar a sus herramientas en modo agente.
Resultados del aprendizaje
- Permitir que VS Code se identifique ante Casdoor sin una aplicación creada manualmente.
- Añada el servidor MCP a
mcp.json. - Inicie sesión, compruebe las herramientas y cierre sesión.
Requisitos
- Una instancia de Casdoor en ejecución. Use HTTPS en producción.
- VS Code con GitHub Copilot
- Acceso de administrador global a la consola de administración de Casdoor
Acerca de la conexión
VS Code se conecta a servidores MCP remotos mediante HTTP y ejecuta por sí mismo el flujo de código de autorización OAuth 2.0 con PKCE. Cuando un servidor MCP responde con HTTP 401, VS Code lee los metadatos de recurso protegido del servidor, encuentra Casdoor como su servidor de autorización y obtiene un ID de cliente de la primera manera que funciona:
- Un ID de cliente en
mcp.json: una aplicación que usted crea en Casdoor. Consulte Usar una aplicación que usted crea. - Documento de metadatos de ID de cliente (CIMD): VS Code utiliza la URL de un documento que publica,
https://vscode.dev/oauth/client-metadata.json, como su ID de cliente. Casdoor lee el documento y no necesita registro. - Registro dinámico de clientes (DCR): VS Code se registra a través del endpoint de registro de Casdoor.
El documento de VS Code enumera dos URI de redirección: http://127.0.0.1:33418/ para la aplicación de escritorio y https://vscode.dev/redirect para VS Code para Web. Consulte Guía de desarrolladores de MCP en la documentación de VS Code.
Aceptar VS Code en Casdoor
Tanto CIMD como DCR están gobernados por Enable dynamic client registration de una organización.
- En la consola de administración de Casdoor, vaya a User Management > Organizations y abra la organización cuyos usuarios inician sesión en VS Code:
built-inpara el servidor Casdoor MCP, o la organización del servidor para un servidor detrás de la pasarela MCP. - Active Enable dynamic client registration.
- Guarde la organización.
En el primer inicio de sesión, Casdoor crea una aplicación con el ID de cliente https://vscode.dev/oauth/client-metadata.json, un nombre que comienza con cimd_ y la etiqueta cimd. Todas las organizaciones comparten esta única aplicación. Consulte Aceptar clientes identificados por una URL de documento de metadatos.
Añadir el servidor MCP a VS Code
-
Abra la Paleta de comandos y ejecute MCP: Open User Configuration para todos los espacios de trabajo, o cree
.vscode/mcp.jsonen un espacio de trabajo. -
Añada el servidor. Reemplace
your-casdoor.comcon el dominio de su instancia de Casdoor.Para el servidor MCP de Casdoor:
{
"servers": {
"casdoor": {
"type": "http",
"url": "https://your-casdoor.com/api/mcp"
}
}
}Para un servidor detrás de la pasarela MCP, utilice la URL de la pasarela
https://your-casdoor.com/api/server/<organization>/<server-name>:{
"servers": {
"acme-tools": {
"type": "http",
"url": "https://your-casdoor.com/api/server/acme/tools"
}
}
} -
Guarde el archivo. VS Code muestra un CodeLens Start encima del servidor. Selecciónelo.
Iniciar sesión
- VS Code pregunta si el servidor puede iniciar sesión con Casdoor. Seleccione Allow.
- Su navegador abre la página de inicio de sesión de Casdoor. Inicie sesión.
- Si Casdoor muestra una pantalla de consentimiento, haga clic en Allow.
- El navegador le devuelve a VS Code y el servidor se inicia.
Verificar el resultado
- Abra la vista Chat y cambie al modo Agent.
- Seleccione el botón Tools y compruebe que las herramientas del servidor están listadas.
- Pida a Copilot que las use, por ejemplo "List all applications in Casdoor".
Para comprobar el cliente en el lado de Casdoor, abra Identity > Applications y busque la aplicación cimd_ cuyo ID de cliente es https://vscode.dev/oauth/client-metadata.json, o abra Tokens y busque el token de su usuario.
Usar una aplicación que usted crea
Si no desea activar el registro dinámico de clientes, cree el cliente usted mismo:
-
En la consola de administración de Casdoor, vaya a Identity > Applications y añada una aplicación en la organización de sus usuarios, por ejemplo
vscode-mcp. -
Añada
http://127.0.0.1:33418/yhttps://vscode.dev/redirecta Redirect URLs. -
Guarda la aplicación y copia su Client ID.
-
Ponga el ID de cliente en
mcp.json:{
"servers": {
"casdoor": {
"type": "http",
"url": "https://your-casdoor.com/api/mcp",
"oauth": {
"clientId": "<client-id>"
}
}
}
} -
Si la aplicación necesita un secreto de cliente, seleccione el CodeLens Set Client Secret encima del servidor y pegue el Client Secret. VS Code lo mantiene en su almacenamiento de secretos, no en
mcp.json.
Cerrar sesión
- Para cerrar sesión, abra el menú Accounts en la parte inferior de la Barra de actividad, seleccione la cuenta de Casdoor y seleccione Sign Out.
- Para hacer que VS Code olvide un cliente que registró a través de DCR, ejecute Authentication: Remove Dynamic Authentication Providers.
- Para bloquear al cliente en el lado de Casdoor, elimine sus tokens en la página Tokens.
Resolución de problemas
Casdoor informa de una discrepancia en la URL de redirección
VS Code escucha en el puerto 33418 para el callback. Si otro proceso utiliza el puerto, el URI de redirección ya no coincidirá. Libere el puerto e inténtelo de nuevo.
Casdoor rechaza el documento de metadatos del ID de cliente
El error "client ID metadata documents are not accepted" significa que Enable dynamic client registration está desactivado para la organización. Consulte Accept VS Code in Casdoor. Casdoor también debe poder acceder a https://vscode.dev a través de Internet.
VS Code solicita un ID de cliente
VS Code lo solicita cuando no puede usar ni CIMD ni DCR. Active Enable dynamic client registration, o introduzca el ID de cliente de una aplicación que haya creado.
La puerta de enlace responde 401 después del inicio de sesión
Consulte Troubleshooting en la guía de la puerta de enlace MCP.
Véase también
- La puerta de enlace MCP de Casdoor, de extremo a extremo
- Connect Claude
- Conectar Cursor
- Conectar ChatGPT
- MCP configuration reference en la documentación de VS Code