Skip to main content
Glama
AbdulRehman0004

Shopify Content Engine MCP Server

Shopify 产品内容引擎

CI n8n OpenAI MCP Python License

一个 n8n 管道,将原始产品(product_nameproduct_description)转化为完整的、可供审核的营销工具包——包括 SEO 研究、产品页面文案、博客文章、Google + Meta 广告、社交媒体帖子、电子邮件和主图——并将每个产品的一行数据写入审核表。不会自动发布任何内容;需要人工批准。

除了工作流之外,本仓库还提供了使其可操作而非仅演示的两样东西:一个评估工具,根据引擎自身的规则(长度限制、禁用词、虚构事实)对每个生成的工具包进行评分;以及一个 MCP 服务器,以便任何代理——Claude Desktop、Claude Code、Cursor 或您自己的代理——都可以验证草稿并触发运行。

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)

为何如此构建

关注点

引擎的处理方式

幻觉规格

每个提示仅基于事实;评估会标记输出中任何在产品输入中不存在的数字/单位或声称词(clinicallycertifiedvegan 等)。

脆弱的解析

所有三个模型调用均使用 OpenAI 结构化输出strict: true)——符合模式的 JSON,无需正则表达式。

重新运行 / 成本

幂等性门控会跳过任何 status=done 的内容;forceRegenerate 可覆盖。批量模型为 gpt-4o-mini

单个产品问题

每次调用重试 + 出错继续。失败项会以 status=failed 行写入,并附带 failure_reason(死信)——批次不会停止。

未捕获的失败

路由到单独的错误处理工作流 → 发送警报邮件。

无副作用的测试

dryRun=true 会生成并验证,但不写入任何内容。

发布

从不自动。草稿会进入“审核”标签页,由人工批准。

平台限制

硬性限制(SEO 标题 ≤ 60、元描述 ≤ 155、Google 标题 ≤ 30、X ≤ 280 等)位于 config/ 中,在解析节点中强制执行,并由评估重新检查。

Related MCP server: shopify

流程

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 email

完整 Mermaid 图:docs/architecture.mmd。 目前产品来源是 Google 表格;📥 读取产品 是一个标记的切换点,用于 Shopify → 获取产品titleproduct_namebody_htmlproduct_description)。

评估

python -m evals 根据引擎承诺遵守的规则对工具包(审核标签页中的行)进行评分。 规则直接来自 config/generation.config.yamlconfig/brand-voice.yaml,因此更改配置文件中的限制也会更改评估。

检查系列

示例

完整性

status=done,所有 19 个内容字段均存在

硬性限制

8 个字符限制,3 个单词范围,≤15 个 Google 标题,每个 ≤30 个字符,5–10 个标签

结构

4–6 个要点,博客中的 H2/H3,恰好一个 {PRODUCT_URL} CTA,slug 格式

SEO 放置

主要关键词出现在标题/元描述/第一句中(警告)

品牌语调

来自 brand-voice.yaml 的禁用词

仅事实

输出中的数字+单位和声称词必须存在于产品输入中

LLM 评判(--judge

1–5 分,针对仅事实、品牌语调、SEO 质量 + 引用的无依据声称(结构化输出,可选,需要 OPENAI_API_KEY

当前黄金集(来自实际运行的真正工具包,evals/golden/kits.json):

产品

得分

捕获的问题

温和保湿洁面凝胶

88%

描述 66 个单词(期望 150–250),博客 507 个单词(期望 900–1200),电子邮件 28 个单词(期望 60–120)——模型在长度上表现不足;解析节点会截断过长的文本,但目前没有最小长度重试机制

这一发现正是评估工具存在的意义——它现在是一个待办事项(参见路线图)。使用 python -m evals --input review-export.csv --min-score 0.9 针对您自己的导出运行;非零退出码会门控 CI。

MCP 服务器

mcp_server/ 通过模型上下文协议(stdio)暴露引擎:

工具

用途

get_brand_voice

语调、受众、禁用词、仅事实规则

get_generation_limits

硬性限制 + 运行标志

list_sample_products

五个固定产品

validate_content_kit(row, product)

使用与评估相同的规则对草稿进行评分

run_content_engine(dry_run=True, …)

向工作流 webhook 发送 POST 请求,附带每次运行的标志——默认 dry-run

资源:content-engine://columns(审核表列映射),content-engine://prompts/{A|B|C}

Claude Desktop / Claude Code 配置:

{
  "mcpServers": {
    "shopify-content-engine": {
      "command": "content-engine-mcp",
      "env": { "N8N_WEBHOOK_URL": "https://<your-instance>/webhook/shopify-content-engine-run" }
    }
  }
}

仓库布局

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)

快速开始

工作流

  1. 导入 workflows/error-handler.workflow.json,然后导入 workflows/shopify-content-engine.workflow.json

  2. 在 OpenAI / Google Sheets / Drive / Gmail 节点上重新选择凭据(不会存储在 JSON 中)。

  3. 📥 读取产品📖 读取已完成📤 写入 指向一个包含“产品”和“审核”标签页的表格。

  4. 设置 → 错误工作流 设置为已导入的错误处理程序。

  5. 对五个固定产品进行 dry-run(test/README.md),然后实际运行。 运行标志可以在 webhook 正文中发布:{"dryRun": true, "enableImages": false}

评估 + 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)

路线图

  • 在解析步骤中添加最小长度保护 + 一次自我纠正重试(目前评估会在事后标记短文案)。

  • 在 webhook 触发器上添加标头认证(n8n 凭据)——目前依赖于不可猜测的路径。

  • 将 Shopify Admin API 作为产品来源,并在同一批准门控后添加“草稿产品”写回。

  • 黄金集:更多真实工具包,每个固定产品一个,以及每晚的 --judge 运行。

许可证

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to read and write Shopify store data including products, orders, customers, inventory, and more via the Admin GraphQL API.
    28
    58
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Enables to manage Shopify store resources like products, orders, customers, inventory, and collections through natural language using the Shopify Admin API.
  • A
    license
    C
    quality
    D
    maintenance
    Enables 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.
    32
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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