I built a Shopify MCP OAuth flow that makes connecting an AI client feel like connecting any other app.
Merchants sign in with Shopify, choose a store, and the MCP credential is bound to it before any tool runs.
32-sec demo + open-source packages below 👇
Building an MCP server for a Shopify app?
Here’s how we combined Shopify OAuth with MCP OAuth at @StoreSEOapp so each AI client can access only the Shopify store the merchant approved.
A 4-minute read.
#ShopifyDev#MCP
https://t.co/A0YzbvWEVo
There are two ways an MCP client can identify itself during OAuth.
DCR: The server stores the client metadata and issues a new client ID.
CIMD: The client publishes its metadata at an HTTPS URL, which becomes its stable client ID.
The difference, side by side.
#MCP#OAuth
OAuth is what allows an MCP client such as Claude, ChatGPT, Cursor, or VS Code to securely connect to a protected MCP server.
In Part 4A of Behind the Build, I break down the journey:
https://t.co/r3RfYrAMrB
#MCP#OAuth#AIEngineering
A missing piece in Shopify’s Node/Express stack is finally here.
Token exchange and expiring offline tokens now work in v8.0.0, opening the door for Sidekick extensions implementation.
This builds on my work in PR #3097. Thanks to Shopify for taking it forward
#ShopifyDev
A missing piece in Shopify’s Node/Express stack is finally here.
Token exchange and expiring offline tokens now work in v8.0.0, opening the door for Sidekick extensions implementation.
This builds on my work in PR #3097. Thanks to Shopify for taking it forward
#ShopifyDev
A missing piece in Shopify’s Node/Express stack is finally here.
Token exchange and expiring offline tokens now work in v8.0.0, opening the door for Sidekick extensions implementation.
This builds on my work in PR #3097. Thanks to Shopify for taking it forward
#ShopifyDev
@t3dotcodes@theo@jullerino I’m authenticated using a Claude code setup token. The Providers settings indicate that I’m authenticated, but I’m unable to use it because of a failed authentication attempt.
@t3dotcodes@theo@jullerino I’m authenticated using a Claude code setup token. The Providers settings indicate that I’m authenticated, but I’m unable to use it because of a failed authentication attempt.
The MCP server could have kept its own copy of every conversation.
But once I mapped out where the information already lived, that felt unnecessary. 🧵1/6
#MCP#Backend#Engineering#shopifydev