CreaRack-SL

Servidor MCP de CreaRack: pantallas de conexiones y actividad (entrega 2)

User value

Cada usuario puede conectar su asistente de IA (por ejemplo Claude) a CreaRack mediante el servidor MCP propio del producto. Con esta entrega, desde User Settings ve el estado del servicio, la dirección a la que conectar, una ayuda breve y la lista de sus asistentes conectados, y puede desconectar (Disconnect) cualquiera. El administrador de la organización, además, abre “View Connections & Activity” y ve todas las conexiones de la organización y el registro de consultas que han hecho los asistentes.

Cómo usarla

  1. Abrir User Settings: la columna izquierda muestra el estado y la dirección para conectar.
  2. En “mis asistentes”, pulsar Disconnect para revocar una conexión propia.
  3. Como administrador, abrir la ventana de conexiones y actividad para revocar conexiones de cualquier miembro de su organización o revisar el registro.

Implementación

  • mcp_server/api.py (nuevo, ~216 LOC): API bajo /api/mcp con estado, mis conexiones, conexiones de la organización (admin), revocar y actividad (admin). Revocar es posible al dueño o a un admin de la misma organización; en otro caso responde 404. Revocar bloquea antes las filas vivas y después revoca la familia de tokens, para evitar la carrera con un refresco en curso.
  • mcp_server/tasks.py (nuevo): purga diaria de clientes OAuth sin uso y de códigos caducados, ejecutada bajo rls_bypass (mismo motivo que el incidente de tareas Huey sin RLS).
  • mcp_server/models.py / protocol.py: límite de uso por familia de tokens.
  • mcp_server/views_oauth.py: los errores de bucle local salen como página propia; si el cliente fue purgado entre el consentimiento y el Allow, ya no hay 500.
  • Frontend: static/js/ai_assistant.js (nuevo), static/js/auth.js, templates/base.html, static/css/components.css. El historial de inicios de sesión gana contador contra respuestas cruzadas, botón Close y relleno correcto (revisión de #651).
  • Traducciones al español en locale/es. Tests: tests/api/test_mcp_entrega2.py.

Commits relacionados

  • 5f8f5db1 (2026-09-30) — v1.174.0, PR #654; continúa la entrega 1 (#649, v1.173.0).

Véase también

  • [[concept—saas—multi-tenancy]]
  • [[decision—20260403—multi-tenancy-rls]]
  • [[feature—core—rls-with-check]]
  • [[incident—20260903—huey-tasks-sin-rls-bypass]]
  • [[concept—general—patron-asyncjob-como-se-encola-un-trabajo-asincron]]