Shopify MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Direct integration with Shopify's GraphQL Admin API for querying and manipulating store data, including advanced filtering and pagination support.

  • Enables interaction with Shopify store data through GraphQL Admin API, providing tools for managing products, customers, orders, collections, discount codes, draft orders, and webhooks.

Shopify MCP サーバー

Shopify API用のMCPサーバー。GraphQL APIを介してストアデータとのやり取りを可能にします。このサーバーは、商品、顧客、注文などを管理するためのツールを提供します。

特徴

  • 製品管理: 製品情報の検索と取得
  • 顧客管理: 顧客データを読み込み、顧客タグを管理する
  • 注文管理:高度な注文照会とフィルタリング
  • GraphQL 統合: Shopify の GraphQL 管理 API との直接統合
  • 包括的なエラー処理: APIおよび認証の問題に関する明確なエラーメッセージ

ツール

  1. get-products
    • すべての製品を取得するか、タイトルで検索してください
    • 入力:
      • searchTitle (オプションの文字列): タイトルで製品をフィルタリングします
      • limit (数値): 返される商品の最大数
    • 戻り値: タイトル、説明、ハンドル、バリエーションを含むフォーマットされた商品の詳細
  2. get-products-by-collection
    • 特定のコレクションから製品を取得する
    • 入力:
      • collectionId (文字列): 製品を取得するコレクションのID
      • limit (オプションの数値、デフォルト:10):返される製品の最大数
    • 戻り値: 指定されたコレクションからフォーマットされた製品の詳細
  3. get-products-by-ids
    • IDで商品を取得する
    • 入力:
      • productIds (文字列の配列): 取得する製品IDの配列
    • 戻り値: 指定された商品のフォーマットされた商品詳細
  4. get-variants-by-ids
    • IDで商品バリエーションを取得する
    • 入力:
      • variantIds (文字列の配列): 取得するバリアントIDの配列
    • 返品: 製品の詳細を含む詳細なバリアント情報
  5. get-customers
    • ページネーションサポートでShopifyの顧客を獲得
    • 入力:
      • limit (オプションの数値):返される顧客の最大数
      • next (オプション文字列): 次のページカーソル
    • 戻り値: JSON形式の顧客データ
  6. tag-customer
    • 顧客にタグを追加する
    • 入力:
      • customerId (文字列): タグ付けする顧客ID
      • tags (文字列の配列): 顧客に追加するタグ
    • 戻り値: 成功または失敗のメッセージ
  7. get-orders
    • 高度なフィルタリングと並べ替えで注文を取得する
    • 入力:
      • first (オプションの数字):返品する注文の制限
      • after (オプション文字列): 次のページカーソル
      • query (オプションの文字列):クエリ構文を使用して注文をフィルタリングする
      • sortKey (オプションの列挙型): 並べ替えの基準となるフィールド ('PROCESSED_AT'、'TOTAL_PRICE'、'ID'、'CREATED_AT'、'UPDATED_AT'、'ORDER_NUMBER')
      • reverse (オプションのブール値): 逆順のソート
    • 返品: フォーマットされた注文詳細
  8. get-order
    • IDで単一の注文を取得する
    • 入力:
      • orderId (文字列): 取得する注文のID
    • 返品: 詳細な注文情報
  9. create-discount
    • 基本割引コードを作成する
    • 入力:
      • title (文字列): 割引のタイトル
      • code (文字列): 顧客が入力する割引コード
      • valueType (列挙型): 割引の種類 ('percentage' または 'fixed_amount')
      • value (数値):割引値(小数または固定金額のパーセンテージ)
      • startsAt (文字列): ISO形式の開始日
      • endsAt (オプションの文字列): ISO 形式のオプションの終了日
      • appliesOncePerCustomer (boolean): 割引を顧客ごとに1回のみ使用できるかどうか
    • 返品: 作成された割引の詳細
  10. create-draft-order
  • 下書き注文を作成する
  • 入力:
    • lineItems (配列): バリアントIDと数量を持つアイテムの配列
    • email (文字列): 顧客のメールアドレス
    • shippingAddress (オブジェクト): 配送先住所の詳細
    • note (オプションの文字列):注文に関するオプションのメモ
  • 返品: ドラフト注文の詳細を作成しました
  1. complete-draft-order
  • ドラフト注文を完了する
  • 入力:
    • draftOrderId (文字列): 完了する下書き注文のID
    • variantId (文字列): ドラフト注文のバリアントのID
  • 返品: 完了した注文の詳細
  1. get-collections
  • すべてのコレクションを取得
  • 入力:
    • limit (オプションの数値、デフォルト:10):返されるコレクションの最大数
    • name (オプションの文字列): 名前でコレクションをフィルタリングする
  • 返品:コレクションの詳細
  1. get-shop
  • ショップの詳細を見る
  • 入力: なし
  • 返品について:店舗基本情報
  1. get-shop-details
  • 配送国を含むショップの詳細情報を入手
  • 入力: なし
  • 返品: 配送国を含むショップの詳細情報
  1. manage-webhook
  • Webhook を登録、検索、登録解除する
  • 入力:
    • action (列挙型): 実行するアクション ('subscribe'、'find'、'unsubscribe')
    • callbackUrl (文字列): WebhookコールバックURL
    • topic (enum): サブスクライブするWebhookトピック
    • webhookId (オプションの文字列): Webhook ID (登録解除に必須)
  • 戻り値: Webhook の詳細または成功メッセージ

設定

Shopifyアクセストークン

この MCP サーバーを使用するには、Shopify ストアでカスタム アプリを作成する必要があります。

  1. Shopify管理画面から、 「設定」 > **「アプリと販売チャネル」**に移動します。
  2. **「アプリを開発」**をクリックします(最初に開発者プレビューを有効にする必要がある場合があります)
  3. 「アプリを作成」をクリック
  4. アプリの名前を設定します(例:「Shopify MCP Server」)
  5. 管理APIスコープの設定をクリックします
  6. 次のスコープを選択します。
    • read_productswrite_products
    • read_customerswrite_customers
    • read_orderswrite_orders
  7. 保存をクリック
  8. アプリをインストールをクリック
  9. インストールをクリックすると、アプリがストアデータにアクセスできるようになります
  10. インストール後、管理APIアクセストークンが表示されます。
  11. このトークンをコピーしてください - 設定に必要になります

注:アクセストークンは安全に保管してください。ストアデータへのアクセスを許可するトークンであるため、共有したりバージョン管理にコミットしたりしないでください。Shopifyアプリの作成方法の詳細については、こちらをご覧ください。

Claude Desktopでの使用

claude_desktop_config.jsonに追加します:

{ "mcpServers": { "shopify": { "command": "npx", "args": ["-y", "shopify-mcp-server"], "env": { "SHOPIFY_ACCESS_TOKEN": "<YOUR_ACCESS_TOKEN>", "MYSHOPIFY_DOMAIN": "<YOUR_SHOP>.myshopify.com" } } } }

発達

  1. リポジトリをクローンする
  2. 依存関係をインストールします:
npm install
  1. .envファイルを作成します。
SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com
  1. プロジェクトをビルドします。
npm run build
  1. テストを実行します:
npm test

依存関係

  • @modelcontextprotocol/sdk - MCP プロトコルの実装
  • graphql-request - Shopify API 用の GraphQL クライアント
  • zod - ランタイム型検証

貢献

貢献を歓迎します!まずは貢献ガイドラインをお読みください。

ライセンス

マサチューセッツ工科大学

コミュニティ


モデルコンテキストプロトコルを使用して❤️で構築

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

GraphQL API を使用して Shopify ストア データとのやり取りを可能にし、包括的なエラー処理による製品、顧客、注文の管理をサポートします。

  1. Features
    1. Tools
      1. Setup
        1. Shopify Access Token
        2. Usage with Claude Desktop
      2. Development
        1. Dependencies
          1. Contributing
            1. License
              1. Community
                ID: bemvhpy885