Skip to main content
ChatGPT connects to your store as a custom MCP server. Once connected, it can answer questions about your orders, search your catalog and make changes, bounded by the permissions you approve. Asking ChatGPT to look up records, produce reports or complete multi-step jobs can save a lot of time spent clicking around in the dashboard. Checking what a customer ordered, listing everything out of stock in one category, or reading last month’s sales figures each mean opening a screen, applying a filter and reading the result off it. ChatGPT can answer all three from a single question. It can also carry out the work rather than only report on it, so cancelling an order and refunding the customer takes one request instead of several screens. The steps below are in the order that avoids going back and forth.

Step 1: Register ChatGPT in Your Store

The Connect an agent panel, with ChatGPT chosen
  1. Navigate to Settings → AI Agents and click Connect an agent.
  2. Choose ChatGPT and click Continue.
  3. Keep the panel open. It shows Your store’s MCP address and a Client ID, each with a button that copies it.
The address and client ID ChatGPT needs, each with a copy button See AI Agents for what the registration does and who is allowed to make one.

Step 2: Set ChatGPT Up

ChatGPT's form for a custom MCP server
  1. In ChatGPT, open Plugins → Add → Add custom MCP server.
  2. Give it a name and a description your team will recognize, such as your store’s name.
  3. Paste Your store’s MCP address as the MCP URL.
  4. Set Authentication to OAuth.
  5. Open the advanced OAuth settings and paste the Client ID.
The advanced OAuth settings, showing the callback URL to copy The advanced settings also show a callback URL, which is where ChatGPT expects to be sent back to after you sign in. Copy it. The next step registers it in your store.
Leave the registration URL empty. It is for assistants that register themselves automatically, which Spree does not offer, and pasting the Client ID is what takes its place.
Do not finish creating it yet. The consent boxes have to be ticked before the button that creates it becomes available, and creating it before the callback URL is registered produces an error when you try to connect.

Step 3: Register the Callback URL in Your Store

Editing the ChatGPT client in the Spree dashboard Registering ChatGPT in step 1 created a client under Settings → OAuth clients. That is where its callback URL is kept, so the one ChatGPT generated goes there.
  1. In the Spree dashboard, navigate to Settings → OAuth clients.
  2. Find the ChatGPT client, open its actions and choose Edit.
  3. Enter every address the client may be sent back to, separated by spaces: the ones already registered, followed by the one you copied from ChatGPT. Save.
The Callback URL field holds a list rather than a single address. Keep whatever is already registered and add yours to it, rather than replacing it, so that anything already relying on those addresses carries on working.
Read the addresses already registered from the Callback URL column on the OAuth clients list, where each is shown in full, and type the complete list into the field.
Attempting to connect before this step is done results in an error.

Step 4: Connect and Approve

The approval screen in the Spree dashboard, listing what ChatGPT is asking for Finish creating the MCP server in ChatGPT. Before it connects, ChatGPT shows a notice covering what it may share with the store and how that data may be used, and asks you to confirm. Click Connect, and ChatGPT sends you to your store to sign in. An approval screen then lists the permissions ChatGPT has asked for. Tick the ones you want it to have and click Allow access. The plugin is in place as soon as the approval goes through, so there is nothing further to install. ChatGPT asks for every permission your store offers, which is what the standard expects of a client that has not been told to ask for less. The approval screen is where the connection is narrowed, so approving a short list is normal rather than a sign that something is wrong. A connection never carries more than the person who made it. Anything your own role does not include is shown as withheld and cannot be approved, so two people connecting the same server can end up with very different access. See AI Agents for what is never offered to an agent at all.

How to Use It

Selecting the store's plugin from a chat's + menu A connected plugin is not used until it is selected for the chat it is needed in. In a new chat, open the + menu and select the store’s plugin. Then ask it something straightforward to confirm the connection works, such as listing your last five orders. A job that changes data declares itself as a change, and ChatGPT may ask you to confirm before running one. Whether it asks depends on the permissions the plugin holds and on what is being done, so a change can also go through without a prompt. Reading is always answered without one.
ChatGPT is only shown the jobs it was approved for, so a connection approved for products alone offers a short list of product jobs rather than everything the store can do.

Further Reading

  • AI Agents - Reviewing connections, permissions and revoking access
  • Connect Claude - The same thing for Claude
  • Roles - The permissions a role carries, which bound what ChatGPT can be given