Conectar un agente de IA (MCP)
Skysize expone un endpoint de Model Context Protocol (MCP), de modo que el agente de código de IA que ya usas para escribir tus módulos de Odoo también pueda leer qué ocurrió al desplegarlos.
En lugar de copiar un traceback del panel a tu editor, puedes preguntarle directamente a tu agente: «¿por qué falló el último despliegue de mi rama de staging?». El agente obtiene el log de build, el log de tiempo de ejecución, las consultas lentas o las métricas del contenedor de la rama exacta en la que está trabajando, y cierra el diagnóstico sin que salgas del editor.
El acceso MCP está incluido en todos los planes, incluido el Sandbox gratuito.
Qué puede leer tu agente
El endpoint proporciona siete herramientas de solo lectura:
| Herramienta | Qué devuelve |
|---|---|
list_projects | Los proyectos a los que tienes acceso: id, nombre, versión y edición de Odoo, validez, estado del plan |
list_branches | Las ramas de un proyecto con el estado del despliegue y el último resultado de build por rama |
list_builds | Los builds recientes de una rama, del más nuevo al más antiguo (10 por defecto, 50 como máximo) |
get_build_log | La salida de build de un despliegue (fases install, update, tests y requirements), como extracto acotado |
get_runtime_log | El final del archivo odoo.log de la instancia en ejecución (200 líneas por defecto, 1000 como máximo), con filtro de texto opcional |
get_slow_queries | Las sentencias SQL más lentas de pg_stat_statements, normalizadas, con número de llamadas y tiempos medio y máximo |
get_branch_metrics | CPU, memoria y latencia HTTP del contenedor de una rama, incluidos los límites de recursos del tipo de rama |
Son los mismos logs y métricas que muestra el panel. Consulta Ver logs para el equivalente en la interfaz.
Hay dos formas de conectarse: inicia sesión una vez desde tu navegador (OAuth, el método que usan claude.ai y las aplicaciones de Claude) o crea un token de acceso y pégalo en un cliente que envíe cabeceras de petición (Claude Code, Cursor, Windsurf). Ambas dan las mismas herramientas y el mismo acceso.
Conectar claude.ai y las aplicaciones de Claude
Los conectores de Claude se autentican con OAuth, así que no hay ningún token que copiar:
- En claude.ai, abre Ajustes > Conectores y haz clic en Añadir conector personalizado.
- Introduce
https://app.skysize.io/mcpcomo URL y confirma. - Haz clic en Conectar. Tu navegador abre la página de consentimiento de Skysize (antes se te pide iniciar sesión si aún no lo has hecho).
- Revisa lo que se está concediendo y haz clic en Aprobar.
El conector queda disponible en tus conversaciones de Claude, tanto en la web como en las aplicaciones de escritorio y móvil de Claude. Pídele «lista mis proyectos de Skysize» para confirmar que funciona.
La conexión aparece en Cuenta > Agentes de IA junto a tus tokens, marcada como (OAuth). Revocarla ahí desconecta el agente de inmediato. El acceso se renueva solo mientras el conector está en uso; si no lo usas durante 30 días, Claude te pide que lo apruebes de nuevo.
Crear un token de acceso
Para los clientes que se autentican con una cabecera de petición en lugar de OAuth:
- Inicia sesión en app.skysize.io y abre Cuenta > Agentes de IA.
- Dale al token un nombre que indique dónde se usa, por ejemplo
portatil-claude-code. - Elige una caducidad: 1 día, 3 días, 7 días, una fecha personalizada o nunca. Siete días viene preseleccionado. Una fecha personalizada puede llegar hasta un año.
- Haz clic en Crear token.
El token se muestra una sola vez, justo después de crearlo. Cópialo en ese momento, no podrá volver a mostrarse. Si lo pierdes, revócalo y crea uno nuevo.
Un token de acceso actúa en tu nombre. Trátalo como una contraseña: nunca lo subas a un repositorio y prefiere una caducidad corta para un token que solo necesitas durante una sesión de depuración. Puedes revocar cualquier token en cualquier momento desde la misma página.
Conectar Claude Code
La página de tokens muestra un comando listo para pegar. Se ve así:
claude mcp add --transport http skysize https://app.skysize.io/mcp --header "Authorization: Bearer <tu-token>"
Sustituye <tu-token> por el token que acabas de copiar y ejecuta el comando en tu terminal. Verifica la conexión con:
claude mcp list
Pídele a tu agente «lista mis proyectos de Skysize» para confirmar que las herramientas son accesibles.
Conectar otro cliente MCP
Cualquier cliente MCP que hable HTTP streamable y permita definir una cabecera de petición funciona igual, incluidos Cursor y Windsurf. Configura:
| Ajuste | Valor |
|---|---|
| Transporte | HTTP streamable |
| URL | https://app.skysize.io/mcp |
| Cabecera | Authorization: Bearer <tu-token> |
Los clientes que se autentican con OAuth en lugar de con una cabecera también funcionan: apúntalos a la misma URL y te enviarán a la página de consentimiento de Skysize, exactamente como el flujo de claude.ai descrito arriba.
Qué puede y qué no puede hacer el agente
Solo lectura. Ninguna herramienta puede modificar nada. Tu agente no puede relanzar un build, reiniciar una instancia, editar variables de entorno, lanzar una copia de seguridad ni eliminar un despliegue.
Nunca expone secretos. Las variables de entorno quedan excluidas de la salida de todas las herramientas, al igual que los dominios, la configuración de DNS y los datos de facturación.
Tus permisos, exactamente. El token lleva tus accesos, nada más. Tu agente ve los proyectos que tú ves y las ramas que puedes leer, siguiendo los mismos roles de proyecto y accesos de grupo que el panel. Consulta Gestionar usuarios y grupos. Si tu rol se limita a las ramas de desarrollo, el de tu agente también.
Salida acotada. Los logs se devuelven como extractos, no como archivos completos. Un log de build grande se trunca conservando su principio y su final, de modo que los tracebacks situados en cualquiera de los dos extremos se preservan.
Límite de peticiones. Cada token está limitado a 60 peticiones por minuto. Los agentes reintentan con entusiasmo, y este límite evita que un bucle sature la plataforma. Por encima, las peticiones se rechazan hasta el minuto siguiente.
Cosas que conviene saber sobre los datos
- Los despliegues de desarrollo se eliminan 24 horas después de su build. Si tu agente indica que una rama de desarrollo no tiene despliegue, esa es la razón. Un nuevo push la reconstruye.
- Las consultas lentas necesitan
pg_stat_statementsen el host. Cuando no está disponible, la herramienta devuelveavailable: falsecon el motivo, en lugar de una lista vacía. - Las métricas se recogen cada 30 segundos y se conservan 30 días. La ventana de consulta es de 60 minutos por defecto y puede llegar a 24 horas.
- Los logs de build reflejan la última ejecución de cada fase de ese despliegue. Para builds más antiguos, usa el panel.
Resolución de problemas
| Síntoma | Causa y solución |
|---|---|
401 unauthorized | El token es incorrecto, está revocado o ha caducado. Revisa la columna Caduca en la página de tokens y crea uno nuevo |
| El cliente rechaza la URL | La URL debe ser absoluta y terminar en /mcp. Un /mcp a secas no se acepta |
429 rate_limited | Más de 60 peticiones en un minuto con el mismo token. Espera y reinténtalo |
| Falta un proyecto | Tu cuenta no tiene acceso a él. Pide a un administrador del proyecto que te asigne un rol |
Las consultas lentas devuelven false | El Postgres del host funciona sin pg_stat_statements. Contacta con soporte para que se habilite |
| claude.ai dice que la autorización falló | Elimina el conector y añádelo de nuevo para reiniciar el inicio de sesión. Asegúrate de aprobar con la cuenta de Skysize que tiene acceso a tus proyectos |
| Un conector pide aprobar de nuevo | No se usó durante 30 días, o su entrada fue revocada en la página Agentes de IA. Aprobarlo lo reconecta |
Peticiones útiles
Una vez conectado, prueba:
- «Mi despliegue de staging ha fallado. Lee el log de build y dime qué se rompió.»
- «Revisa el log de tiempo de ejecución de mi rama de producción en busca de tracebacks en las últimas 200 líneas.»
- «¿Qué consultas SQL son las más lentas en mi base de datos de producción, y cuáles de mis módulos las generan?»
- «¿Mi contenedor de producción alcanzó su límite de memoria en la última hora?»
- «Mi módulo falla por una biblioteca de Python que falta. Lee el log de requirements y dime qué hizo pip.»