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
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAI-powered Shopify Admin via Claude + MCP, enabling full store management through conversation including products, collections, analytics, and bulk operations.
- AlicenseAqualityCmaintenanceEnables AI agents to read and write Shopify store data including products, orders, customers, inventory, and more via the Admin GraphQL API.2858MIT
- Flicense-qualityDmaintenanceEnables to manage Shopify store resources like products, orders, customers, inventory, and collections through natural language using the Shopify Admin API.
- AlicenseCqualityDmaintenanceEnables AI assistants like Cursor or Claude Desktop to fully manage a Shopify store using the Model Context Protocol, with tools for products, orders, customers, inventory, discounts, and analytics.32MIT
Related MCP Connectors
Manage your Savanto store from your AI: catalog, content, prompts, and analytics, by chat.
Run GenflowAI templates and AI creative workflows for ecommerce visuals, UGC ads, and videos.
Manage your Jumpseller store with AI. Products, orders, customers, and more.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AbdulRehman0004/shopify-ai-content-engine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server