Shopify Content Engine MCP Server
Shopify 製品コンテンツエンジン
n8n パイプラインで、最低限の製品情報(product_name、product_description)から、レビュー可能なマーケティングキット(SEO 調査、商品ページコピー、ブログ記事、Google + Meta 広告、ソーシャル投稿、メール、ヒーロー画像)を生成し、1 行あたり 1 製品を レビューシート に書き込みます。自動公開は一切行われず、人間が承認します。
ワークフローに加えて、このリポジトリには、実際に運用可能な 2 つの要素も含まれています。生成されたすべてのキットをエンジン自身のルール(文字数制限、禁止ワード、捏造事実)に照らしてスコアリングする 評価ハーネス と、Claude Desktop、Claude Code、Cursor、その他のエージェントがドラフトを検証したり実行をトリガーできるようにする MCP サーバー です。
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)なぜこのように構築されたのか
懸念事項 | エンジンの対応 |
捏造された仕様 | すべてのプロンプトは事実のみに基づく。評価は、製品入力に存在しない数字/単位や主張ワード( |
脆弱な解析 | 3 つのモデル呼び出しはすべて OpenAI Structured Outputs( |
再実行 / コスト | 冪等性ゲートにより、 |
1 つの不良製品 | 呼び出しごとのリトライ + エラー時継続。失敗は |
キャッチされない障害 | 別のエラーハンドラーワークフローにルーティングされ、警告メールを送信。 |
副作用なしのテスト |
|
公開 | 自動的には行われない。ドラフトは |
プラットフォームの制限 | ハードキャップ(SEO タイトル ≤ 60、メタ ≤ 155、Google 見出し ≤ 30、X ≤ 280 など)は |
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 シートです。📥 Read Products は、
Shopify → Get Products(title → product_name、body_html → product_description)への交換ポイントとして明確にマークされています。
評価
python -m evals は、キット(Review タブの行)をエンジンが守るルールに照らしてスコアリングします。
ルールは config/generation.config.yaml と config/brand-voice.yaml から直接取得されるため、設定のキャップを変更すると評価も変更されます。
チェックファミリー | 例 |
完全性 |
|
ハードキャップ | 8 つの文字数制限、3 つの単語数範囲、各 30 文字以内の Google 見出し 15 個以下、5~10 個のハッシュタグ |
構造 | 4~6 個の箇条書き、ブログ内の H2/H3、 |
SEO 配置 | プライマリキーワードがタイトル/メタ/最初の文に含まれているか(警告) |
ブランドボイス |
|
事実のみ | 出力内の数字+単位と主張ワードは製品入力に存在しなければならない |
LLM 判定( | 1~5 で事実のみ、ブランドボイス、SEO 品質、引用された未検証の主張(Structured Outputs、オプトイン、 |
現在のゴールデンセット(実際のランからの本物のキット、evals/golden/kits.json):
製品 | スコア | 何をキャッチしたか |
Gentle Hydrating Gel Cleanser | 88% | 説明 66 ワード(希望 150~250)、ブログ 507 ワード(希望 900~1200)、メール 28 ワード(希望 60~120)— モデルが長さを過小に生成する。Parse ノードは長すぎるテキストを切り詰めるが、最低長さのリトライはまだない。 |
まさにこの発見が評価ハーネスの存在理由です。これは現在未解決項目です(ロードマップ参照)。python -m evals --input review-export.csv --min-score 0.9 で自分のエクスポートに対して実行できます。ゼロ以外の終了コードが CI をブロックします。
MCP サーバー
mcp_server/ は、Model Context Protocol(stdio)を介してエンジンを公開します:
ツール | 目的 |
| ボイス、オーディエンス、禁止ワード、事実のみルール |
| ハードキャップと実行フラグ |
| 5 つの固定テスト製品 |
| 評価と同じルールでドラフトをスコアリング |
| 実行フラグ付きでワークフローの webhook に POST — デフォルトはドライラン |
リソース: content-engine://columns(Review シートの列マップ)、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)クイックスタート
ワークフロー
workflows/error-handler.workflow.jsonをインポートし、次にworkflows/shopify-content-engine.workflow.jsonをインポートします。OpenAI / Google Sheets / Drive / Gmail ノードの認証情報を再選択します(JSON には保存されていません)。
📥 Read Products、📖 Read Done、📤 Writeを、ProductsとReviewのタブがあるシートに指定します。設定 → エラーワークフロー をインポートしたエラーハンドラーに設定します。
5 つの固定テスト(
test/README.md)をドライランし、その後本番実行します。 実行フラグは webhook ボディに POST できます:{"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)ロードマップ
Parse ステップでの最低長さガード + 1 回の自己修正リトライ(現在評価は事後に短いコピーをフラグ付けします)。
Webhook トリガーでのヘッダー認証(n8n 認証情報)— 現在は推測困難なパスに依存しています。
Shopify Admin API を製品ソースとし、同じ承認ゲートの背後で
Draft productを書き戻す。ゴールデンセット: 各固定製品に対してより多くの実際のキット、および夜間の
--judge実行。
ライセンス
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