shopify-mcp

by GeLi2001
Verified

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 with comprehensive error handling for API and authentication issues.

  • Enables interaction with Shopify store data through GraphQL API, providing tools for managing products, customers, orders, and more with capabilities for searching, retrieving, and filtering store information.

Shopify MCPサーバー

(よろしければ星を付けてください!)

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

特徴

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

前提条件

  1. Node.js (バージョン 16 以上)
  2. Shopifyカスタムアプリアクセストークン(以下の設定手順を参照)

設定

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. このトークンをコピーしてください - 設定に必要になります

Claude Desktopでの使用

これをclaude_desktop_config.jsonに追加します:

{ "mcpServers": { "shopify": { "command": "npx", "args": [ "shopify-mcp", "--accessToken", "<YOUR_ACCESS_TOKEN>", "--domain", "<YOUR_SHOP>.myshopify.com" ] } } }

Claude Desktop 構成ファイルの場所:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

代替案: 環境変数を使ってローカルで実行する

コマンドライン引数の代わりに環境変数を使用する場合:

  1. Shopify の資格情報を使用して.envファイルを作成します。
    SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com
  2. npx を使用してサーバーを実行します。
    npx shopify-mcp-server

直接インストール(オプション)

パッケージをグローバルにインストールする場合:

npm install -g shopify-mcp-server

次にそれを実行します:

shopify-mcp-server --accessToken=<YOUR_ACCESS_TOKEN> --domain=<YOUR_SHOP>.myshopify.com

利用可能なツール

製品管理

  1. get-products
    • すべての製品を取得するか、タイトルで検索してください
    • 入力:
      • searchTitle (オプションの文字列): タイトルで製品をフィルタリングします
      • limit (数値): 返される商品の最大数
  2. get-product-by-id
    • IDで特定の商品を取得する
    • 入力:
      • productId (文字列): 取得する製品のID

顧客管理

  1. get-customers
    • 顧客を獲得するか、名前/メールアドレスで検索する
    • 入力:
      • searchQuery (オプションの文字列):名前またはメールアドレスで顧客をフィルタリングします
      • limit (オプションの数値、デフォルト:10):返される顧客の最大数
  2. update-customer
    • 顧客情報を更新する
    • 入力:
      • id (文字列、必須): Shopify顧客ID(数値IDのみ、例: "6276879810626")
      • firstName (文字列、オプション): 顧客の名
      • lastName (文字列、オプション): 顧客の姓
      • email (文字列、オプション): 顧客のメールアドレス
      • phone (文字列、オプション): 顧客の電話番号
      • tags (文字列の配列、オプション): 顧客に適用するタグ
      • note (文字列、オプション): 顧客に関するメモ
      • taxExempt (ブール値、オプション):顧客が税金を免除されているかどうか
      • metafields (オブジェクトの配列、オプション):追加データを保存するための顧客メタフィールド
  3. get-customer-orders
    • 特定の顧客の注文を取得する
    • 入力:
      • customerId (文字列、必須): Shopify 顧客 ID (数値 ID のみ、例: "6276879810626")
      • limit (オプションの数値、デフォルト:10):返される注文の最大数

注文管理

  1. get-orders
    • オプションのフィルタリングで注文を取得する
    • 入力:
      • status (オプションの文字列): 注文ステータスでフィルタリング
      • limit (オプションの数値、デフォルト:10):返される注文の最大数
  2. get-order-by-id
    • IDで特定の注文を取得する
    • 入力:
      • orderId (文字列、必須): Shopifyの完全な注文ID(例:"gid://shopify/Order/6090960994370")
  3. update-order
    • 既存の注文を新しい情報で更新する
    • 入力:
      • id (文字列、必須): Shopify注文ID
      • tags (文字列の配列、オプション): 注文の新しいタグ
      • email (文字列、オプション): 顧客のメールアドレスを更新する
      • note (文字列、オプション): 注文メモ
      • customAttributes (オブジェクトの配列、オプション): 注文のカスタム属性
      • metafields (オブジェクトの配列、オプション):メタフィールドの順序
      • shippingAddress (オブジェクト、オプション): 配送先住所情報

デバッグ

問題が発生した場合は、Claude Desktop の MCP ログを確認してください。

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

ライセンス

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

ID: mth778nxe5