Other clients
Anything that speaks MCP over HTTP can connect. Which of the two routes you take depends on what your client supports.
| Your client can... | Use |
|---|---|
| Add a server by URL and open a browser to sign in | The sign-in flow: nothing to configure |
| Set a custom HTTP header | A token, as below |
| Neither | mcp-remote, as on the Claude Desktop page |
What the server expects
| URL | https://avada-bundle-upsell.firebaseapp.com/mcp |
| Transport | Streamable HTTP (POST only) |
| Header | Authorization: Bearer aovmcp_… |
| Content-Type | application/json |
| Accept | application/json, text/event-stream |
The server answers with plain JSON and never opens a stream, but a client that omits
text/event-stream from Accept may still be refused by the protocol layer before the request is
handled. Send both.
GET on this URL returns 405. There is no server-to-client stream to subscribe to.
Check it from a terminal
curl -X POST https://avada-bundle-upsell.firebaseapp.com/mcp \
-H "Authorization: Bearer aovmcp_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'14 tools listed back on a Read-only token (26 on a Read and write one, or 5 on a connection made before September 2026) means the URL, the token and the headers are all correct. Anything wrong and this tells you which, without a client in the way.
Codex
Codex connects the same way as Claude Desktop's token setup, through the mcp-remote bridge,
since it has no field of its own for a request header. Codex reads its MCP servers from
~/.codex/config.toml; the Codex tab in Settings → Developer Tools gives you the exact
command for the version of Codex you have:
codex mcp add aov-bundle -- \
npx -y mcp-remote https://avada-bundle-upsell.firebaseapp.com/mcp \
--header "Authorization: Bearer aovmcp_YOUR_TOKEN"Node.js 18 or newer is required, for the same reason as the Claude Desktop bridge. If codex mcp add is not available in your version of Codex, add the server to config.toml by hand using the
same mcp-remote command.
Clients that sign in
If your client supports OAuth-based connectors, give it the URL alone and it will discover the rest. The server publishes the standard discovery documents and registers clients on demand, so there is nothing to set up on our side.
Your client must support PKCE with S256: every client here is a public one, and a flow without it is refused. Nearly all current MCP clients do this by default.
Building your own integration
If you are writing a script rather than connecting an assistant, MCP is the wrong shape for it. The
same token also works against the Store API: plain REST, GET
only, same data. The base URL for your store is on the Developer Tools tab in Settings:
curl https://avada-bundle-upsell.firebaseapp.com/public-api/shop/YOUR-STORE.myshopify.com/status \
-H "Authorization: Bearer aovmcp_YOUR_TOKEN"Limits
Sixty requests per minute, per connection. Over that, the server answers 429 with a Retry-After
header. Read it rather than retrying on a fixed timer.