CMS Headless para IA
Strapi, Medusa, Vendure, Directus, Hasura — backends de contenido y comercio con REST + GraphQL listos para agentes.
Qué incluye este pack
Este pack reúne los cinco backends headless que vale la pena instalar cuando necesitas que un agente IA lea o mute datos reales de negocio — contenido, productos, órdenes, usuarios — sin escribir endpoints CRUD a medida.
| # | Herramienta | Dominio | Por qué los agentes la prefieren |
|---|---|---|---|
| 1 | Strapi | contenido | REST + GraphQL out of the box, ecosistema de plugins |
| 2 | Medusa | comercio | Motor headless de comercio con API admin completa |
| 3 | Vendure | comercio | Comercio TypeScript-first con tipado fuerte |
| 4 | Directus | data → API | Genera REST + GraphQL desde cualquier base SQL |
| 5 | Hasura | data → API | Compila GraphQL directo a queries Postgres |
La división es intencional: Strapi para contenido editorial, Medusa / Vendure para datos de producto+orden, Directus / Hasura para superficies SQL arbitrarias. La mayoría de sistemas en producción eligen uno de cada fila según qué casos de uso dominan.
Por qué headless importa para agentes
Los CMS tradicionales entregan HTML; los agentes no consumen HTML bien. Los CMS headless entregan JSON tipado y schemas GraphQL. La diferencia se acumula:
- Introspección de schema. Los endpoints GraphQL son auto-documentados. Un agente puede llamar
__schemay descubrir qué campos existen, qué retornan, qué argumentos aceptan. Sin docs API manuales que sincronizar. - Seguridad de mutación. Los endpoints REST + GraphQL declaran operaciones de escritura explícitamente con tipos de entrada. Los agentes pueden validar antes de enviar, y el server rechaza payloads malformados en la capa de transporte en vez de tras una escritura parcial.
- Permisos. Cada herramienta aquí entrega control de acceso basado en roles. Puedes darle al agente un token con scope que solo lea ciertos tipos de contenido o solo mute recursos específicos, con logs de auditoría.
- Multi-lenguaje e i18n. Strapi y Directus tienen soporte de locale de primera clase, lo cual importa cuando el agente está generando o traduciendo contenido.
Estas propiedades son por las que un CMS headless, aunque excesivo para el equipo humano de contenido, suele ser el sustrato correcto para un producto agente-driven.
Instala en un comando
# Instala el pack completo
tokrepo install pack/headless-cms-for-ai
# O elige un backend
tokrepo install strapi
tokrepo install hasura
Cada herramienta se instala como snippet Docker compose más un skill Claude Code que conoce la superficie API. El skill expone métodos tipados como strapi.list_articles({ filters }) para que el agente no tenga que armar URLs REST a mano.
Errores comunes
- Drift de schema entre agente y server. Cuando agregas un tipo de contenido en el admin UI, el cache de schema local del agente queda rancio. Re-introspecta cada inicio de sesión, o cablea un webhook para que el agente invalide en cambios de tipo de contenido.
- Queries N+1 desde agentes. Los agentes tienden a fetchear de a un registro. Usa endpoints bulk (Strapi
populate=*, selecciones anidadas Hasura) y presupuesta queries — pon rate limit por agente. - Tokens de lectura públicos. Es tentador dar al agente un token de lectura amplio. No. Limita scope a colecciones específicas; revoca en cambio de rol. Las cinco herramientas tienen UI de permisos finos.
- Idempotencia de mutación. Los agentes reintentan. Si un agente reintenta
createOrdertras un blip de red, tendrás duplicados. Usa idempotency keys (Medusa los soporta nativamente; para los otros, capa un campo request_id). - Backups. Los CMS headless centralizan contenido; si la BD se corrompe pierdes un año de trabajo editorial. Configura snapshots diarios antes de dejar al agente escribir en producción.
Conceptos erróneos comunes
- "Hasura y Directus son intercambiables." Se solapan en "exponer SQL como GraphQL" pero difieren en audiencia: Hasura es para ingenieros que quieren una capa GraphQL fina sobre Postgres; Directus es para equipos que también quieren UI admin de contenido. Si solo necesitas la API, usa Hasura. Si no-ingenieros editarán datos, Directus.
- "Strapi puede reemplazar a Medusa para comercio." Strapi maneja contenido bellamente pero le faltan workflow de orden, pago, e inventario. Usa Medusa o Vendure, luego apunta Strapi a contenido adyacente a productos (blog, páginas marketing).
- "GraphQL siempre es mejor que REST para agentes." A veces — la introspección de schema es genial. Pero para list/get simple, los endpoints REST son más fáciles de cachear y más fáciles para que el agente componga con herramientas a nivel HTTP. Las cinco hablan ambas; elige por llamada.
Relación con otros packs
- Postgres para Agentes IA es la capa de datos bajo Hasura y Directus.
- Stack de Servidores MCP incluye wrappers MCP sobre estos CMS para que el agente los use vía MCP en vez de HTTP crudo.
- Constructores de Apps IA consumen estos endpoints GraphQL desde el frontend.
5 recursos listos para instalar
Preguntas frecuentes
¿El pack es gratis?
Sí — Strapi, Medusa, Vendure, Directus y Hasura son todos open source bajo licencias permisivas, y la instalación TokRepo es gratis. Algunos vendors ofrecen hosting cloud pago (Strapi Cloud, Hasura Cloud) pero las versiones self-hosted en este pack son full features. Solo pagas la base de datos y compute donde las corres.
¿Cómo se compara con Contentful o Sanity?
Contentful y Sanity son CMS headless SaaS — más fáciles para empezar, pero guardan tus datos en sus servers y facturan por llamada API, lo cual se vuelve caro cuando un agente es el consumidor primario. Las cinco herramientas en este pack son self-hosteables, lo que significa costo predecible cuando un agente hace 10× más llamadas que usuarios humanos.
¿Funciona con Claude Code o Cursor?
Ambos. Cada backend entrega un skill Claude Code (wrapper tipado sobre sus endpoints REST + GraphQL) más un schema OpenAPI/SDL genérico que Cursor y Codex CLI pueden consumir. La ruta Claude Code es más pulida — introspección de schema al inicio de sesión, errores tipados — pero las APIs subyacentes son vendor-estándar, así que cualquier editor IA puede llamarlas.
¿Diferencia con escribir endpoints CRUD a mano?
El CRUD a mano es más rápido para uno o dos endpoints y más lento para diez. Estas herramientas auto-generan la API desde tu modelo de datos, así que agregar un nuevo tipo de contenido o atributo de comercio toma minutos en vez de un PR. También imponen consistencia — cada endpoint sigue los mismos patrones de auth, paginación y error, lo que importa cuando un agente tiene que aprender la superficie.
¿Trampa operacional?
Los scopes de permisos se ensucian rápido. Cada acción de agente inicialmente exige un nuevo permiso, el equipo lo concede, y tres meses después el agente tiene god-mode a todo. Programa una auditoría trimestral: lista cada token activo, chequea qué scopes realmente usó en los últimos 30 días, poda el resto. Las cinco herramientas loguean uso de token; la auditoría es una query SQL, no una adivinanza.
12 packs · 80+ recursos seleccionados
Explora todos los packs curados en la página principal
Volver a todos los packs