Summary
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.
Guided setup
Connect Shopify to Microsoft Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect Shopify in the guided setup, then add your MCP URL to Microsoft Copilot. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for Shopify
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Shopify, paste your credentials, mint an MCP API key — done. No Docker, no
git clone, no local server.
Shopify + Microsoft Copilot
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.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
SHOPIFY_STORE, SHOPIFY_CLIENT_ID, SHOPIFY_CLIENT_SECRET
Step 1 — Get credentials
Setting up takes about 10 minutes and is done by the store owner (or a staff account with the App development → Develop permission). Since 1 January 2026 custom apps are no longer created in the store admin but in Shopify's Dev Dashboard; the connector gets its access token through the client credentials grant, so nothing is published to the Shopify App Store and no review is needed.
- Open the Dev Dashboard with the account that owns the store. The store must belong to the same Shopify organization as the app.
- Click Apps → Create app → Start from Dev Dashboard, name it (for example "AnythingMCP") and click Create.
- Open Versions, fill in the App URL (any https address, for example your shop's; the connector does not use it), pick the newest webhooks API version and add the Admin API scopes below, then click Release.
- On the app's overview, click Install app in the Installs card, pick your store and confirm. Until the app is installed, the connector cannot get a token.
- 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. You find it in the admin URL (admin.shopify.com/store/<handle>). A custom domain such asacme.comdoes not work here.
| Scope | Used for |
|---|---|
read_products | searching products and variants, stock per variant |
write_products | changing a variant's price |
read_inventory, read_locations | stock levels and locations |
write_inventory | adjusting stock |
read_orders | searching and reading orders (the last 60 days) |
read_merchant_managed_fulfillment_orders | fulfillment orders of an order |
write_merchant_managed_fulfillment_orders | marking items as shipped |
read_customers | searching and reading customers |
Read-only setup: leave out the write_* scopes and switch off shopify_update_variant_price, shopify_adjust_inventory and shopify_create_fulfillment on the connector page. Orders older than 60 days also need the read_all_orders scope, which Shopify grants on request.
The connector exchanges the client ID and secret for an access token, which Shopify issues for 24 hours, and fetches a new one before it expires. Changing scopes means releasing a new app version; the next token carries the new scopes.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the Shopify tools you imported.
- Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
shopify_get_shop | Get the store the connector is linked to: name, owner and contact email, myshopify and primary domain, store currency and enabled… |
shopify_search_products | Search the store's products with Shopify search syntax (for example title:*hoodie* status:active, sku:ABC-1, vendor:Acme, tag:sale… |
shopify_get_product | Get one product with its description, options, SEO title, online store URL and its variants: variant id, title, SKU, price, compare-at… |
shopify_list_inventory_levels | List the stock of one variant at every location that stocks it: available, on hand, committed, incoming and reserved quantities per… |
shopify_list_locations | List the store's locations (warehouses, shops, fulfilment centres) with id, name, address, whether each is active, fulfils online orders… |
shopify_search_orders | Search orders with Shopify search syntax (for example financial_status:paid fulfillment_status:unfulfilled, created_at:>=2026-10-01… |
shopify_get_order | Get one order: status, totals (subtotal, shipping, tax, discounts, refunded), customer, shipping and billing address, shipping lines, line… |
shopify_search_customers | Search customers with Shopify search syntax (for example email:[email protected], phone:+4930123456, country:Germany, tag:vip… |
shopify_get_customer | Get one customer: email (with marketing consent) and phone, state, tags, note, tax exemption, locale, number of orders and amount spent… |
shopify_update_variant_price | Change the price, and optionally the compare-at price, of one product variant |
shopify_adjust_inventory | Add to or subtract from the stock of one inventory item at one location by a delta (for example +10 after a delivery, -2 for damaged goods) |
shopify_create_fulfillment | Mark the items of a fulfillment order as shipped, optionally with a carrier, tracking number and tracking URL, and optionally email the… |
shopify_graphql_schema_url | Return the URL of the GraphQL schema (SDL) |
shopify_graphql_schema | Fetch the GraphQL schema: a summary, one type, a search slice or the full SDL |
shopify_graphql_query | Run an arbitrary GraphQL query |
shopify_graphql_mutation | Run an arbitrary GraphQL mutation |
shopify_graphql_subscription | Run an arbitrary GraphQL subscription (if the API supports it) |
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
Was this guide helpful?