// guide

ChatGPT connector for Shopify inventory and cash data

Connect ChatGPT to Keel HQ's read-only MCP server as a custom connector with a bearer token. It needs Developer mode and a plan that offers token authentication.

David Lindahl

David LindahlFounder of Keel HQ, and runs a DTC brand on it

Published Last verified

Access
Read-only MCP, bearer token
Needs
Developer mode, token auth
Rate limit
120 requests a minute per token

// the steps

  1. 01Create a read token. In Settings, then MCP & API tokens, create a token under AI assistants (MCP). Copy it from the one-time box.
  2. 02Turn on Developer mode. In ChatGPT, open Settings, then Apps and Connectors, then Advanced settings, and turn on Developer mode.
  3. 03Create the connector. Create a connector with Keel HQ's MCP URL. For authentication, choose the API key or bearer token option and paste the token.
  4. 04Ask a question. Start a chat with the connector on and ask about runway, a SKU or ad spend.

// tl;dr

ChatGPT connects to Keel HQ's read-only MCP server as a custom connector in Developer mode, with a bearer token you paste into the form. It can then read inventory, cash, ad spend and published reports. ChatGPT offers token authentication only on some plans; if yours shows only OAuth, choose it: Keel HQ signs you in and you approve one workspace, with no token to paste.

ChatGPT can read your Keel HQ numbers once you add Keel HQ as a custom connector. You ask about inventory, cash or ad spend, and it answers from your synced data. Where ChatGPT offers only OAuth, Keel HQ supports that too: add the connector with the URL, sign in to Keel HQ and approve one workspace.

What ChatGPT can read

Keel HQ serves a read-only Model Context Protocol server. These are the tools it exposes:

ToolWhat it returns
get_overviewMonth-to-date vitals, alerts, trends, inventory health and recent activity.
get_cash_dashboardCash balances, debts, upcoming bills, expected income, runway and cash alerts.
list_inventory_productsThe first limit active products (default 50, up to 200), ordered by product id. It doesn't paginate: a larger catalog is truncated, and pagination.truncated and pagination.total say so.
get_inventory_productOne SKU: catalog fields, days of cover on a 90-day pace, and every product carrying that SKU.
get_ads_spendMeta campaign spend by calendar month, for up to 12 months. Refreshed when a monthly report is generated, not by the daily Meta pull.
get_monthly_reportA published monthly report as JSON, with notes on data quality.
get_brand_settingsBrand profile and alert thresholds. No secrets.

Two resources come with it: eos://docs/metric-calculations, which defines how each figure is calculated, and eos://reports/monthly/{year}-{month}, a published report as markdown.

These tools read your Shopify orders and products, Meta Ads campaign spend, Mercury balances and published monthly reports, all from what Keel HQ has already synced. There is no tool for Klaviyo or Google Ads data on its own.

Questions it can answer

  • "How many days of cover does one of my SKUs have, and which products share that SKU across my stores?"

  • "What's my cash runway, and which bills are coming up?"

  • "Show Meta spend by campaign for the last three months. Was any month only partly synced?"

  • "Summarize last month's published report, and tell me which figures were withheld and why."

  • "Is everything you just told me current? Check the data freshness."

The questions that pay off are the ones across sources: inventory against cash, spend against revenue. Keel HQ has already joined them, and your assistant just reads the result.

Connect ChatGPT

  1. 01Create a token

    In Keel HQ, open Settings → MCP & API tokens, and find AI assistants (MCP). Click to create a token for ChatGPT. It carries the read scope and expires in 90 days by default. It's shown once, so copy it before you leave the page.

  2. 02Turn on Developer mode in ChatGPT

    Open Settings → Apps & Connectors → Advanced settings and turn on Developer mode.

  3. 03Create the connector

    Choose Create a connector and give it Keel HQ's MCP URL, which Settings shows you (it ends in /api/mcp). For authentication, pick the API key or bearer token option and paste your token. ChatGPT takes it in a form rather than a config file, which is why Keel HQ shows a new token once, with its own copy button.

  4. 04Test the connection

    Back in Settings → MCP & API tokens, Test connection runs the same tools/list call an assistant makes and shows the tool names it got back. Then ask a question.

Tokens, scopes and revoking

  • Scope. MCP needs a token with the read scope. A token without it gets a 403, and a missing or revoked one gets a 401.

  • Expiry. 30, 90 or 365 days when you create it; 90 by default.

  • Revoking. Revoke the token in Settings → MCP & API tokens. The assistant loses access immediately.

  • Rate limit. 120 requests a minute per token.

Your organization comes from the token, never from the request, so an assistant can only see the workspace the token was created in.

Known limits

  • Read-only, by design. ChatGPT can't update products, record costs or send anything.

  • Data is as fresh as the last sync. Shopify orders sync every six hours, so a very recent sale may not be there, and each result says so in data_freshness.

  • Ad spend is by calendar month and limited to a 12-month range. There is no daily breakdown.

  • Token authentication depends on your ChatGPT plan. If ChatGPT offers only OAuth and No authentication, it can't connect to Keel HQ yet.

  • Keel HQ is in private beta, with a waitlist.

Questions

Why can't I find the token option?
ChatGPT only offers the API key or bearer token option on some plans. If you see only OAuth and No authentication, choose OAuth: Keel HQ supports it, so you sign in to Keel HQ and approve one workspace instead of pasting a token.
Can the AI change anything in Keel HQ or Shopify?
No. Every tool is read-only, and the server only accepts POST requests that read. The AI can't edit a product, a cost, a report or a setting, and it has no route into Shopify.
Which token does it use, and can I revoke it?
An API token with the read scope, created in Settings → MCP & API tokens. Revoke it from the same list and the assistant stops working at once. Create a separate token per assistant so revoking one doesn't break the others.
Is there a rate limit?
Yes, 120 requests a minute per token. Over that, Keel HQ answers 429 and the assistant waits.
How do I know the data is current?
Every tool result starts with a data_freshness block: one entry per synced source it read, with the last sync time and a status of fresh, stale, never_synced or failed. Ask the assistant to mention it when a figure isn't fresh.
What if a number isn't available?
You get null with a reason, never 0. A failed query comes back as a tool error, not as empty data.

// how keel hq does this

  • Ask your business questions — here, or from your own AI tools. Built for teams.

    A chat that reads your cash, forecast, and inventory data; read-only MCP access for Claude and Cursor; and team roles with module-level access.

    See the helm & settings in Keel HQ
Join the waitlist
The Helm AI assistant in Keel HQ (demo data)

// sources

  1. Model Context Protocol introduction, modelcontextprotocol.io · accessed