Hey Harper multi-store Shopify MCP server
Hey Harper マルチストア Shopify MCP サーバー
5店舗すべてのHey Harperストアの永続的なShopify Admin APIトークンを保持し、1つの接続で全ストアの未発送・要対応候補の注文を取得する、小さなリモートMCPサーバーです。switch-shopも、ストアごとのOAuth再認証も不要です。これにより、毎日の「要対応注文」レポートを無人で実行できるようになります。
これが存在する理由
公式のShopifyコネクタは一度に1ストアのみを保持し、ストアを切り替えるたびにOAuthの再認証を強制するため、スケジュールジョブでの自動化は不可能です。このサーバーは、カスタムアプリのAdmin APIトークン(永続的、OAuth不要)を使用し、全ストアを直接クエリすることで、この問題を完全に回避します。
Related MCP server: Shopify MCP
公開されるツール
ツール | 機能 |
| 現在設定されているストア(ドメインとトークンの両方が設定されているもの)を一覧表示します。 |
| 1つのストアの未発送注文を取得します( |
| メインのツール。 全ストアの未発送注文を1回の呼び出しで取得し、ストアごとのエラー分離を行います。 |
各注文は正規化・エンリッチされて返されます(解析済みのreleased_hold_at、Everstoxタグフラグ、行ごとのoos)が、「要対応」の判定は意図的に行いません。営業日の遅延しきい値、OOSルール(EU/UK/BR/MXのみ)、Everstoxの除外はCoworkタスク側に残し、再デプロイなしでしきい値の調整や祝日カレンダーの追加ができるようにしています。
セットアップ — ステップバイステップ
1. 各ストアでカスタムアプリとトークンを作成する
すべてのHey Harperストア管理画面(US、EU、UK、BR、MX)で:
設定 → アプリと販売チャネル → 開発アプリ → アプリを作成(例:
cowork-unfulfilled-readerという名前)。Admin APIスコープを設定し、以下を有効にします(読み取り専用で十分です):
read_ordersread_all_orders(60日より古い注文をクエリできるようにします)read_productsread_inventoryread_fulfillmentsread_merchant_managed_fulfillment_orders
アプリをインストールし、API資格情報の下でAdmin APIアクセストークン(
shpat_…)を表示してコピーします。ストアのmyshopifyドメインをメモします(例:
hey-harper-shop-uk.myshopify.com)。
最終的に5つの(ドメイン, トークン)のペアが得られます。これらをコミットしたり、チャットに貼り付けたりしないでください — ステップ3でホストのシークレットストアに直接入れます。
2. サーバーをデプロイする
リポジトリにはDockerfileが同梱されているため、任意のコンテナホスト(Render、Railway、Fly.io、VPS)で動作します。通常のインターネットアクセスと公開HTTPS URLが必要です。
Render(例、最も簡単):
新規 → Webサービス → このリポジトリを接続(または「Dockerfileからデプロイ」)。
RenderがDockerfileを自動検出します。ビルド/開始コマンドは不要です。
HTTPSと公開URLが自動的に提供されます。
Fly.io / Railway: 同じようにDockerfileを指定します。
ローカルテスト:
npm install
npm run build
MCP_AUTH_TOKEN=$(openssl rand -hex 32) HH_UK_DOMAIN=hey-harper-shop-uk.myshopify.com HH_UK_TOKEN=shpat_xxx npm start
# health check:
curl localhost:3000/health3. ホストに環境シークレットを設定する
.env.exampleを参照用にコピーし、ホストのenv/シークレットUIで以下を設定します:
MCP_AUTH_TOKEN— 長いランダム文字列(openssl rand -hex 32)。必ず設定してください — エンドポイントを保護するベアラートークンです。HH_US_DOMAIN/HH_US_TOKEN、HH_EU_*、HH_UK_*、HH_BR_*、HH_MX_*— ステップ1のペア。
ストアはドメインとトークンの両方が設定された場合のみ有効になるため、UKから始めて、トークンを生成したら残りを追加できます。
4. Claudeにカスタムコネクタとして追加する
claude.ai → 設定 → コネクタ → カスタムコネクタを追加:
URL:
https://<your-host>/mcp認証: ベアラートークン(
MCP_AUTH_TOKEN)を提供し、リクエストがAuthorization: Bearer <token>を送信するようにします。
コネクタUIがお使いのプランで静的ヘッダーを添付できない場合の代替案として、
MCP_PATHを推測不能なパス(例:/mcp/9f3c…)に設定し、それをURLとして使用する方法があります。秘密のパスが資格情報として機能します。サポートされている場合はベアラートークンが推奨されます。
接続すると、heyharper_list_stores、heyharper_pull_store_orders、heyharper_pull_all_storesがツールとして表示されます。
5. 日次レポートを配線する
毎朝9時のCoworkタスクをheyharper_pull_all_storesに向け、分類ロジック(ハンドオフ仕様に従ってタスク内に保持)を適用します:
clock = releasedHoldAt if hasReleasedHold else processedAt
late = business_days_since(clock) >= 2 (weekends excluded, warehouse TZ)
shop_oos = anyLineOos (only where storeAppliesOos)
excluded = hasOosEverstox OR (hasHoldEverstox AND NOT hasReleasedHold)
OR (hasSetOnHold AND NOT hasReleasedHold)
needs_attention = (late OR shop_oos) AND NOT excludedロールアップを#daily-unfulfilledに投稿します。
セキュリティに関する注意
トークンはホストのenv/シークレットにのみ存在し、リポジトリには決して入れません(
.envはgitignoreされています)。URLを公開する前に必ず
MCP_AUTH_TOKENを設定してください。欠落している場合、サーバーは警告をログに記録します。すべてのツールは読み取り専用(
read_*スコープのみ)です。サーバーはストアを変更できません。
環境変数
変数 | 必須 | デフォルト | 備考 |
| 推奨 | — | エンドポイントのベアラートークン。未設定の場合、エンドポイントは公開されます。 |
| いいえ |
| エンドポイントのパス。 |
| いいえ |
| 通常はホストが設定します。 |
| いいえ |
| Admin APIのバージョン。 |
| ストアごと | — | KEY ∈ US、EU、UK、BR、MX。 |
| ストアごと | — |
|
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
- FlicenseNot gradedqualityCmaintenanceMCP server exposing Shopify commerce backend with ~22 typed tools for orders, inventory, logistics, and fulfillment, including read/write separation and structured errors.
- AlicenseNot gradedqualityBmaintenanceA read-only MCP server that exposes the full Shopify Admin GraphQL API through 6 universal tools, with multi-store support and mutation rejection at the parser level for safety.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Shopify Admin API. Enables product, order, customer, and inventory management via natural language.81MIT
- FlicenseNot gradedqualityCmaintenanceHosted MCP server connecting Shopify, Klaviyo, GA4, Meta Ads, Google Ads, Xero, Gorgias and 20+ e-commerce data sources so AI assistants can answer merchant questions that span every source at once.
Related MCP Connectors
Official remote MCP server for Color Me Shop.
MCP server for interacting with the Supabase platform
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
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/diogoferacruz-dev/heyharper-shopify-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server