Shopify
Connect your Shopify store: search products, orders and customers, check stock per location, change variant prices, adjust inventory and mark orders as shipped with tracking. Shopify GraphQL Admin API with a custom app from the Dev Dashboard.
7 æ¥éç¡æ · ã¯ã¬ãžããã«ãŒãäžèŠ Â· EU ãã¹ã
Shopify ã«äœã§ãèãã
AnythingMCP çµç±ã§ Shopify ã«å®éã®ããã³ããã詊ãã â Claude ãããŒã«ãåŒã³åºããåçããŸããããªãã®ã¡ãã»ãŒãžã§ Enter ãæŒããš Cloud ã«ã€ã³ã¹ããŒã«ããŸãã
Shopify ã Cloud ã«ã€ã³ã¹ããŒã«Claude 㯠AI ã®ãã誀ãããšããããŸããåçãã確èªãã ããã
2 åã§ã»ããã¢ãã
- 1cloud.anythingmcp.com ã§ç¡æãã©ã€ã¢ã«éå§ã
- 2ã³ãã¯ã¿ãŒã¹ãã¢ã§ Shopify ãã¯ãªãã¯ãè³æ Œæ å ±ã貌ãä»ãã
- 3MCP API ããŒãçºè¡ããAI ã¯ã©ã€ã¢ã³ãã MCP URL ã«åããã
Shopify ã®ã¬ã€ã
äž»èŠ AI ã¯ã©ã€ã¢ã³ãåãã®ã¹ããããã€ã¹ãããã»ããã¢ããã
Shopify ã®ã»ããã¢ãã
ã³ãã¯ã¿å®çŸ©ãã®ãã®ããïŒèªèšŒæ å ±ã®å ¥æå ãå¿ èŠãªæš©éããã®ã¢ããã¿ãåŒã³åºã APIã ã³ãã¯ã¿äœè ã«ããè±èªã§æäŸãããŠããŸãã
Shopify
This connector reads and updates a Shopify store through the GraphQL Admin API (https://<store>.myshopify.com/admin/api/2026-10/graphql.json, API version 2026-10): shop settings, products and variants, stock per location, orders with their fulfillment orders, and customers. It can change a variant's price, adjust stock and mark items as shipped with tracking.
Setup (store owner, about 10 minutes)
Since 1 January 2026 new custom apps can no longer be created inside the store admin; they are made in the Dev Dashboard. A custom app installed on a store of your own organization gets its access token through the client credentials grant, which is what this connector uses. Nothing is published to the Shopify App Store and no review is needed.
- Open the Dev Dashboard at https://dev.shopify.com/dashboard/ with the account that owns the store (or a staff account with the App development â Develop permission). The store must belong to the same Shopify organization as the app.
- Apps â Create app â Start from Dev Dashboard, give it a name (for example "AnythingMCP") and click Create.
- Open Versions, fill in the App URL (any https URL, for example your shop's address; this connector does not use it), pick the newest webhooks API version, add the Admin API scopes from the table below, then click Release.
- On the app's overview, click Install app in the Installs card, pick your store and confirm Install. Until the app is installed the token request fails.
- Open App settings and copy the Client ID and Client secret into
SHOPIFY_CLIENT_IDandSHOPIFY_CLIENT_SECRET. - Set
SHOPIFY_STOREto the store's myshopify handle: foracme-shop.myshopify.comenteracme-shop. It is in the admin URL (admin.shopify.com/store/<handle>) and under Settings â Domains. A custom domain such asacme.comdoes not work here.
The connector exchanges the client ID and secret at https://<store>.myshopify.com/admin/oauth/access_token for an access token, which Shopify issues for 24 hours, and fetches a new one before it expires. The token is sent in the X-Shopify-Access-Token header. Changing scopes means releasing a new app version; the next token carries the new scopes.
Apps created in the store admin before 2026 (with a shpat_⊠token) keep working in Shopify, but this connector uses the Dev Dashboard flow above.
Scopes
| Scope | Used by |
|---|---|
read_products | shopify_search_products, shopify_get_product, shopify_list_inventory_levels |
write_products | shopify_update_variant_price |
read_inventory, read_locations | shopify_list_inventory_levels, shopify_list_locations |
write_inventory | shopify_adjust_inventory |
read_orders | shopify_search_orders, shopify_get_order (orders of the last 60 days) |
read_merchant_managed_fulfillment_orders | fulfillment orders in shopify_get_order |
write_merchant_managed_fulfillment_orders | shopify_create_fulfillment |
read_customers | shopify_search_customers, shopify_get_customer |
For a read-only setup leave out the write_* scopes and switch the three write tools off on the connector page. read_orders only reaches orders from the last 60 days; older orders also need read_all_orders, which Shopify grants on request. Fulfillment orders assigned to a fulfilment app or third-party warehouse need the *_assigned_fulfillment_orders or *_third_party_fulfillment_orders scopes instead of the merchant-managed ones.
Customer data: names, emails, phone numbers and addresses are protected customer data. If customer or order tools fail with "This app is not approved to access the Customer object" (or a similar message for name, email, phone or address fields), request access once: Partner Dashboard (partners.shopify.com) â Apps â the app â API access requests â Protected customer data access â Request access, tick the fields the AI should read (name, email, phone, address) with a short reason each, and Save. For an app used only on your own or a development store that is enough: no review is needed and the calls work right away.
Ids
Every id is a global id (GID) such as gid://shopify/Product/1234567890, gid://shopify/ProductVariant/âŠ, gid://shopify/Order/⊠or gid://shopify/Location/âŠ. Pass them whole. The order number customers see (#1001) is the order's name: find the order with shopify_search_orders and query: "name:#1001".
A variant's stock lives on its inventory item (inventoryItem.id in shopify_get_product), with one level per location. To change stock: shopify_get_product â shopify_list_inventory_levels (current quantities and location ids) â shopify_adjust_inventory.
To ship an order: shopify_get_order â take the id of an open fulfillment order (and, for a partial shipment, the ids of its line items) â shopify_create_fulfillment with carrier and tracking number.
Searching and paging
The search tools take Shopify's search syntax in query: field:value terms joined by spaces (AND) or OR, comparisons such as created_at:>=2026-10-01 or inventory_total:<5, - to negate a term, and * as a wildcard (title:*hoodie*). Dates are ISO 8601, read in the store's time zone.
Lists are cursor-paged: first sets the page size (at most 250) and the answer carries pageInfo { hasNextPage endCursor }. Pass endCursor as after for the next page while hasNextPage is true.
Money
Prices are decimal strings in the store currency ("29.90"). Order amounts are money bags; shopMoney is in the store currency.
Errors
- The GraphQL API answers HTTP 200 for most problems. Errors in the query itself, missing scopes ("Access denied for ⊠field") and throttling come back in
errors: the tool call then fails withGraphQL errors: [...]and Shopify's message. - A mutation Shopify refuses (unknown variant, invalid price, stale quantity, fulfillment order already closed) does not fail the call: the result has a non-empty
userErrorslist withfieldandmessage. Check it after every write. - 401: the token request was refused (wrong client ID or secret, or the app is not installed on this store). 402: the store is frozen for unpaid bills. 423: the store is locked. 404: wrong store handle.
Rate limits
The Admin GraphQL API is limited by query cost, not by the number of requests: each app and store pair refills 100 points per second on the Standard plans (200 on Advanced, 1,000 on Plus, 2,000 on Enterprise), and no single query may cost more than 1,000 points. A list costs roughly its first value, so large pages and nested lists cost more. When the budget runs out Shopify answers with a THROTTLED error: wait a few seconds and retry, or ask for smaller pages. This connector returns only the data part of each answer, so the cost figures Shopify reports in extensions.cost are not shown.
Other operations
The generated shopify_graphql_query and shopify_graphql_mutation tools run any other Admin API operation (draft orders, discounts, collections, metafieldsâŠ) within the scopes the app was given; shopify_graphql_schema looks up types and fields first.
ããªãã® AI 㯠Shopify ãã 2 ã¯ãªãã¯å ã
ã³ãã¯ã¿ãŒãã€ã³ã¹ããŒã«ãè³æ Œæ å ±ã貌ãä»ããAI ã«è³ªåã7 æ¥éç¡æãã¯ã¬ãžããã«ãŒãäžèŠã