Shopify Content Engine MCP Server
Motor de Contenido para Productos Shopify
Un pipeline de n8n que convierte un producto básico (product_name, product_description) en un kit de marketing completo listo para revisión — investigación SEO, texto de página de producto, una entrada de blog, anuncios de Google + Meta, publicaciones en redes sociales, un correo electrónico y una imagen principal — y escribe una fila por producto en una hoja de revisión. Nada se publica automáticamente; un humano aprueba.
Junto con el flujo de trabajo, este repositorio incluye las dos cosas que lo hacen operativo en lugar de una demostración: un entorno de evaluación que puntúa cada kit generado según las propias reglas del motor (límites de longitud, palabras prohibidas, hechos inventados) y un servidor MCP para que cualquier agente — Claude Desktop, Claude Code, Cursor, el tuyo propio — pueda validar borradores y ejecutar procesos.
product_name + product_description
│
▼
┌────────────── n8n ──────────────┐
│ idempotency gate → 3 LLM calls │──▶ Review sheet (status=done | failed)
│ strict JSON → validate → map │──▶ hero image → Drive
│ dry-run · retry · dead-letter │──▶ batch summary email
└─────────────────────────────────┘
▲ │
MCP server eval harness
(validate / run) (rules + LLM judge, gates CI)Por qué está construido así
Preocupación | Lo que hace el motor |
Especificaciones inventadas | Cada prompt se basa solo en hechos; la evaluación marca cualquier número/unidad o palabra de afirmación ( |
Análisis frágil | Las tres llamadas al modelo usan Salidas Estructuradas de OpenAI ( |
Re-ejecuciones / costo | Una puerta de idempotencia omite cualquier cosa que ya tenga |
Un producto malo | Reintento por llamada + continuar en caso de error. Los fallos se escriben como filas |
Fallos no detectados | Se enrutan a un flujo de trabajo de Manejo de Errores separado → correo electrónico de alerta. |
Pruebas sin efectos secundarios |
|
Publicación | Nunca automática. Los borradores llegan a la pestaña |
Límites de la plataforma | Límites estrictos (título SEO ≤ 60, meta ≤ 155, titular de Google ≤ 30, X ≤ 280, …) están en |
Related MCP server: Shopify MCP Server
Flujo
Manual / Schedule / Webhook ─▶ ⚙️ Config ─▶ 📥 Read Products [swap point → Shopify]
─▶ 📖 Read Done ─▶ 🚦 Idempotency Gate ─▶ 🔢 Limit ─▶ 🔁 Loop (1 product at a time)
─▶ 🤖 A: SEO + Product Page ─▶ 🤖 B: Blog ─▶ 🤖 C: Ads / Social / Email / Image prompt
─▶ 🧩 Parse, Validate & Map ─▶ 🧪 Dry run?
├─ yes ─▶ 📝 Dry-run log (no write) ─▶ loop
└─ no ─▶ 🖼️ Images? ─▶ 🎨 gpt-image-1 ─▶ ☁️ Drive ─▶ 📤 Upsert Review row ─▶ loop
🔁 done ─▶ 📊 Batch summary ─▶ ✉️ Email (optional)
(uncaught) ─▶ ⚠️ Error Handler workflow ─▶ alert emailDiagrama Mermaid completo: docs/architecture.mmd.
La fuente del producto es hoy una Hoja de Google; 📥 Leer Productos es un punto de intercambio marcado para
Shopify → Obtener Productos (title → product_name, body_html → product_description).
Evaluaciones
python -m evals puntúa los kits (filas de la pestaña Revisión) según las reglas que el motor promete cumplir.
Las reglas provienen directamente de config/generation.config.yaml y config/brand-voice.yaml, por lo que
cambiar un límite en la configuración cambia la evaluación.
Familia de verificación | Ejemplos |
Integridad |
|
Límites estrictos | 8 límites de caracteres, 3 rangos de palabras, ≤15 titulares de Google cada uno ≤30 caracteres, 5–10 hashtags |
Estructura | 4–6 viñetas, H2/H3 en el blog, exactamente un CTA |
Colocación SEO | palabra clave principal en el título / meta / primera oración (advertencias) |
Voz de marca | palabras prohibidas de |
Solo hechos | los números+unidades y palabras de afirmación en la salida deben existir en la entrada del producto |
Juez LLM ( | 1–5 en solo hechos, voz de marca, calidad SEO + afirmaciones no respaldadas citadas (Salidas Estructuradas, opcional, necesita |
Conjunto dorado actual (kit real de una ejecución en vivo, evals/golden/kits.json):
Producto | Puntuación | Lo que detectó |
Limpiador Gel Hidratante Suave | 88% | descripción 66 palabras (se desea 150–250), blog 507 palabras (se desea 900–1200), correo 28 palabras (se desea 60–120) — el modelo no alcanza la longitud; el nodo de Análisis trunca el texto demasiado largo pero aún no tiene un reintento de longitud mínima |
Ese hallazgo es exactamente por qué existe el entorno de evaluación — ahora es un elemento pendiente (ver hoja de ruta). Ejecútalo
contra tu propia exportación con python -m evals --input review-export.csv --min-score 0.9; el
código de salida distinto de cero bloquea la CI.
Servidor MCP
mcp_server/ expone el motor a través del Protocolo de Contexto de Modelo (stdio):
Herramienta | Propósito |
| voz, audiencia, palabras prohibidas, regla de solo hechos |
| los límites estrictos + banderas de ejecución |
| los cinco productos de prueba |
| puntúa un borrador con las mismas reglas que las evaluaciones |
| envía el webhook del flujo de trabajo con banderas por ejecución — por defecto en seco |
Recursos: content-engine://columns (mapa de columnas de la hoja de Revisión), content-engine://prompts/{A|B|C}.
Configuración de Claude Desktop / Claude Code:
{
"mcpServers": {
"shopify-content-engine": {
"command": "content-engine-mcp",
"env": { "N8N_WEBHOOK_URL": "https://<your-instance>/webhook/shopify-content-engine-run" }
}
}
}Estructura del repositorio
workflows/ shopify-content-engine.workflow.json · error-handler.workflow.json (import these)
prompts/ system prompts A / B / C + prompt library (version-controlled mirror of ⚙️ Config)
config/ brand-voice.yaml · generation.config.yaml (limits, flags)
docs/ runbook.md · architecture.mmd · output-sheet-columns.md
test/ product-fixtures.json (5 products) · dry-run checklist · a real generated kit
evals/ checks.py (rules) · judge.py (LLM judge) · golden/ · tests/
mcp_server/ server.py · tests/
scripts/ check_workflows.py — static checks on the exported JSON (runs in CI)Inicio rápido
Flujo de trabajo
Importa
workflows/error-handler.workflow.json, luegoworkflows/shopify-content-engine.workflow.json.Vuelve a seleccionar las credenciales en los nodos de OpenAI / Hojas de Google / Drive / Gmail (nunca almacenadas en el JSON).
Apunta
📥 Leer Productos,📖 Leer Hechos,📤 Escribira una hoja con las pestañasProductsyReview.Establece Configuración → Flujo de trabajo de error al manejador de errores importado.
Ejecuta en seco los cinco elementos de prueba (
test/README.md), luego ejecuta de verdad. Las banderas de ejecución se pueden publicar en el cuerpo del webhook:{"dryRun": true, "enableImages": false}.
Evaluaciones + MCP
pip install -e ".[mcp,dev]"
python -m evals # score the golden set
python -m evals --input export.csv # score your own Review-tab export
pytest # 27 tests: rules, negative cases, MCP tools in-process
content-engine-mcp # start the MCP server (stdio)Hoja de ruta
Guardia de longitud mínima + un reintento autocorrectivo en el paso de Análisis (la evaluación actualmente marca el texto corto después del hecho).
Autenticación de encabezado en el disparador del webhook (credencial de n8n) — hoy depende de la ruta imposible de adivinar.
API de Administración de Shopify como fuente de productos y una escritura de
Producto borradordetrás de la misma puerta de aprobación.Conjunto dorado: más kits reales, uno por elemento de prueba, y una ejecución nocturna de
--judge.
Licencia
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Optimize Shopify product pages, publish with approval, and schedule social posts from chat.
Bulk edit Shopify products from an AI agent: search, preview, apply and undo catalog edits.
Let your AI manage WooCommerce and Shopify stores: products, SEO, descriptions and images.
Create, write and publish Printify products from chat, after a preview you approve.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAI-powered Shopify Admin via Claude + MCP, enabling full store management through conversation including products, collections, analytics, and bulk operations.-
- AlicenseNot gradedqualityDmaintenanceEnables to manage Shopify store resources like products, orders, customers, inventory, and collections through natural language using the Shopify Admin API.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage Shopify stores via natural language, with tools for products, orders, inventory, customers, and analytics.6 npmMIT
- AlicenseAqualityBmaintenanceDrives an AI CMO to add products, generate on-brand content (UGC video, posts, images), approve, and publish across 30+ platforms via natural language.297 npmMIT