MCP Workspace Configurator
MCP propio que configura el workspace de cualquier dev al instante
MCP Workspace Configurator
MCP propio que configura el workspace de cualquier dev al instante
Despliegue VPS
Node.js + PM2 en el servidor del equipo
Patrones de fallo
Por qué fallan las IA en equipos y cómo evitarlo
Privacidad
Qué proteger y qué no con Copilot Business
El MCP construido durante el programa. Su función: cualquier dev ejecuta una instrucción y su workspace queda configurado con las instrucciones, agentes, skills y prompts correctos, siempre en la última versión.
Arquitectura:
┌─────────────┐ ┌──────────────────┐ ┌─────────────────┐│ VS Code │──MCP──▶│ MCP Server │──git──▶│ Repo Config ││ del dev │ │ (VPS equipo) │ │ (GitLab) │└─────────────┘ └──────────────────┘ └─────────────────┘El MCP tira de un repo Git nuevo y privado del equipo como fuente de verdad. Cualquier dev puede editarlo para actualizar la configuración de todos.
Qué contiene el repo de configuración:
Tools del MCP:
| Tool | Qué hace |
|---|---|
configure_workspace | Copia toda la configuración al workspace actual |
update_config | Actualiza solo los ficheros que han cambiado |
check_config | Verifica que el workspace tiene la configuración correcta |
list_versions | Muestra el historial de cambios de configuración |
El dev lo usa así en el chat:
Configura mi workspace con la última versión de las instrucciones del equipoEl MCP descarga la configuración del repo, la copia a .github/, y el agente confirma qué se ha actualizado.
El MCP se despliega como un servicio en el VPS que ya tiene el equipo.
Stack mínimo: Node.js (runtime), Git (para clonar el repo), PM2 o systemd (proceso activo).
Clonar el repo y construir el servidor
git clone git@gitlab.empresa.com:equipo/copilot-config.gitcd mcp-workspace-configuratornpm install && npm run buildRegistrar como servicio con PM2
pm2 start dist/server.js --name mcp-configuratorpm2 saveConfigurar en VS Code de cada dev
{ "servers": { "workspace-configurator": { "type": "sse", "url": "https://mcp.empresa.com/sse", "headers": { "Authorization": "Bearer ${env:MCP_TOKEN}" } } }}No es un problema de herramienta. Los patrones de fallo reales:
Si solo el dev más técnico adopta la herramienta, el equipo no cambia. La adopción requiere que todos, incluidos los juniors, la usen en su día a día. Los juniors a menudo obtienen más beneficio porque el agente les enseña patrones que no conocían.
El equipo usa el agente para generar getters/setters o boilerplate, pero no para features completas. Es como tener un Ferrari y usarlo solo para ir al supermercado. El salto está en usarlo para el flujo completo: planificación, implementación, testing, review.
El agente genera código y el dev hace merge sin revisar. Peor que no usar IA: estás introduciendo código que nadie entiende. El Reviewer existe exactamente para esto: un filtro automático antes del merge humano.
El copilot-instructions.md se escribe una vez y nadie lo toca más. Las instrucciones deben evolucionar con el proyecto. Si el agente se equivoca, la primera pregunta es: ¿las instrucciones le dicen que no haga esto?
Cómo crear hábitos reales:
Con licencia Business, GitHub no entrena con el código del equipo. El código se envía al modelo para completar la respuesta y se descarta. Pero hay cosas que proteger igualmente:
Cómo configurar exclusiones:
En .gitignore o .copilotignore:
.env.env.*config/secrets.phpstorage/app/private/Qué registra GitHub y qué no:
Recomendación para el equipo:
.env (ya lo hacen), no hardcodeadascopilot-instructions.md puede incluir la instrucción: “No generes ni muestres credenciales, tokens ni datos personales reales”Crear el repo copilot-config en GitLab con toda la configuración del equipo (instructions/, agents/, prompts/, skills/, hooks/)
Completar el scaffold del MCP server — la tool configure_workspace debe funcionar end-to-end
Implementar check_config y update_config
Preparar el despliegue en el VPS: Dockerfile o script de deploy con PM2
Crear el .copilotignore con las exclusiones correctas para el proyecto
Añadir al copilot-instructions.md: “No generes ni muestres credenciales, tokens ni datos personales reales”
Documentar las decisiones de privacidad del equipo en un PRIVACY.md en el repo
Probar con otro dev del equipo: ¿puede configurar su workspace ejecutando el MCP?
Preparar para la sesión 8: recopilar tiempo de merge de los últimos 10 MRs y cobertura de tests actual