shopify-mcp
Shopify MCPサーバー
(よろしければ星を付けてください!)
Shopify API用のMCPサーバー。GraphQL APIを介してストアデータとのやり取りを可能にします。このサーバーは、商品、顧客、注文などを管理するためのツールを提供します。
特徴
製品管理: 製品情報の検索と取得
顧客管理: 顧客データを読み込み、顧客タグを管理する
注文管理:高度な注文照会とフィルタリング
GraphQL 統合: Shopify の GraphQL 管理 API との直接統合
包括的なエラー処理: APIおよび認証の問題に関する明確なエラーメッセージ
Related MCP server: Shopify MCP Server
前提条件
Node.js (バージョン 16 以上)
Shopifyカスタムアプリアクセストークン(以下の設定手順を参照)
設定
Shopifyアクセストークン
この MCP サーバーを使用するには、Shopify ストアでカスタム アプリを作成する必要があります。
Shopify管理画面から、 「設定」 > **「アプリと販売チャネル」**に移動します。
**「アプリを開発」**をクリックします(最初に開発者プレビューを有効にする必要がある場合があります)
「アプリを作成」をクリック
アプリの名前を設定します(例:「Shopify MCP Server」)
管理APIスコープの設定をクリックします
次のスコープを選択します。
read_products、write_productsread_customers、write_customersread_orders、write_orders
保存をクリック
アプリをインストールをクリック
インストールをクリックすると、アプリがストアデータにアクセスできるようになります
インストール後、管理APIアクセストークンが表示されます。
このトークンをコピーしてください - 設定に必要になります
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.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.json
代替案: 環境変数を使ってローカルで実行する
コマンドライン引数の代わりに環境変数を使用する場合:
Shopify の資格情報を使用して
.envファイルを作成します。SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.comnpx を使用してサーバーを実行します。
npx shopify-mcp-server
直接インストール(オプション)
パッケージをグローバルにインストールする場合:
npm install -g shopify-mcp-server次にそれを実行します:
shopify-mcp-server --accessToken=<YOUR_ACCESS_TOKEN> --domain=<YOUR_SHOP>.myshopify.com利用可能なツール
製品管理
get-productsすべての製品を取得するか、タイトルで検索してください
入力:
searchTitle(オプションの文字列): タイトルで製品をフィルタリングしますlimit(数値): 返される商品の最大数
get-product-by-idIDで特定の商品を取得する
入力:
productId(文字列): 取得する製品のID
顧客管理
get-customers顧客を獲得するか、名前/メールアドレスで検索する
入力:
searchQuery(オプションの文字列):名前またはメールアドレスで顧客をフィルタリングしますlimit(オプションの数値、デフォルト:10):返される顧客の最大数
update-customer顧客情報を更新する
入力:
id(文字列、必須): Shopify顧客ID(数値IDのみ、例: "6276879810626")firstName(文字列、オプション): 顧客の名lastName(文字列、オプション): 顧客の姓email(文字列、オプション): 顧客のメールアドレスphone(文字列、オプション): 顧客の電話番号tags(文字列の配列、オプション): 顧客に適用するタグnote(文字列、オプション): 顧客に関するメモtaxExempt(ブール値、オプション):顧客が税金を免除されているかどうかmetafields(オブジェクトの配列、オプション):追加データを保存するための顧客メタフィールド
get-customer-orders特定の顧客の注文を取得する
入力:
customerId(文字列、必須): Shopify 顧客 ID (数値 ID のみ、例: "6276879810626")limit(オプションの数値、デフォルト:10):返される注文の最大数
注文管理
get-ordersオプションのフィルタリングで注文を取得する
入力:
status(オプションの文字列): 注文ステータスでフィルタリングlimit(オプションの数値、デフォルト:10):返される注文の最大数
get-order-by-idIDで特定の注文を取得する
入力:
orderId(文字列、必須): Shopifyの完全な注文ID(例:"gid://shopify/Order/6090960994370")
update-order既存の注文を新しい情報で更新する
入力:
id(文字列、必須): Shopify注文IDtags(文字列の配列、オプション): 注文の新しいタグemail(文字列、オプション): 顧客のメールアドレスを更新するnote(文字列、オプション): 注文メモcustomAttributes(オブジェクトの配列、オプション): 注文のカスタム属性metafields(オブジェクトの配列、オプション):メタフィールドの順序shippingAddress(オブジェクト、オプション): 配送先住所情報
デバッグ
問題が発生した場合は、Claude Desktop の MCP ログを確認してください。
tail -n 20 -f ~/Library/Logs/Claude/mcp*.logライセンス
マサチューセッツ工科大学
Available Tools
5 toolsget-customersD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| searchQuery | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-ordersD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | any |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-product-by-idD
| Name | Required | Description | Default |
|---|---|---|---|
| productId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-productsD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| searchTitle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-orderD
| Name | Required | Description | Default |
|---|---|---|---|
| customAttributes | No | ||
| No | |||
| id | Yes | ||
| metafields | No | ||
| note | No | ||
| shippingAddress | No | ||
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
get-customers - First observed
get-orders - First observed
get-product-by-id - First observed
get-products - First observed
update-order
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose targeting specific Shopify resources: customers, orders, products, and order updates. There is no overlap in functionality, making it easy for an agent to select the correct tool for each task without confusion.
The naming follows a consistent verb-noun pattern with hyphens (e.g., get-customers, update-order), which is predictable and readable. The minor deviation is that 'get-product-by-id' includes a preposition, slightly breaking the pure verb-noun style, but overall the pattern is clear and mostly uniform.
With 5 tools, the count is reasonable for a Shopify integration, but it feels borderline thin for covering the domain comprehensively. While core read operations are present, the scope might benefit from additional tools for full CRUD or lifecycle coverage, such as creating or deleting resources.
The tool set has significant gaps for a Shopify server, focusing heavily on read operations (get-customers, get-orders, get-products) with only one update tool (update-order). Missing are create and delete operations for customers, orders, and products, as well as other common actions like inventory management or webhook handling, which limits agent workflows and could lead to failures in broader tasks.
Maintenance
Related MCP Connectors
Shopify MCP Pack — wraps the Shopify Admin REST API (2024-01)
Manage a Shopify store's Sternify bundles, gifts, upsells, banners and reviews via OAuth.
The public product catalogue and collections of any Shopify storefront, as structured JSON.
Read store products, orders, customers, categories and coupons; adjust inventory and update orders.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Shopify store data using the GraphQL API, supporting product, customer, and order management with comprehensive error handling.15125 npm18MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables interaction with Shopify store data via GraphQL API, providing tools for managing products, customers, orders, discounts, and more with robust error handling.125 npm30-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Shopify stores through GraphQL API, providing tools for managing products, customers, orders, and more.125 npm10MIT
- AlicenseCqualityDmaintenanceEnables interaction with Shopify store data through GraphQL API, providing tools for managing products, customers, orders, blogs, and articles.152,216 npm4MIT