Before you start
You need an enabled connector account, the intended merchant’s consent and a client that supports OAuth and remote Streamable HTTP. If you are implementing a client, keep authentication separate from the model’s conversation context. Use discovery metadata for server URLs andtools/list for tool contracts.
Initialise and discover
Use an MCP client that supports OAuth and Streamable HTTP. Complete authorisation, sendinitialize, then the initialised notification and tools/list. The server returns the tool names, descriptions and input schemas visible to the current grant.
The connector supports protocol revisions 2025-11-25, 2025-06-18 and 2025-03-26. Use the version returned by negotiation. This connector does not offer the legacy HTTP+SSE endpoint merely because an older protocol revision is recognised.
The transport handles JSON-RPC POST requests. It does not provide a server-initiated event stream or require a session ID. A notification can return HTTP 202 with no response body. Do not parse that empty body as a failed JSON result.
For a client implementation, the opening request has this shape. The client
name and version below are illustrative; the bearer token belongs in the HTTP
authorisation header, not in this JSON body.
result.protocolVersion, result.capabilities, result.serverInfo and
the returned server instructions. Use the negotiated version rather than
assuming the requested one was accepted. Then send:
A safe first tool
The read-onlyabout_this_connection tool describes the store, consented data classes, whether writes are enabled, provider scopes and monthly usage with its reset date. It is a useful starting point when another tool is missing or refused.
For example, after initialisation a client may send:
store.name, store.timezone and user can be null. Handle an absent label or
timezone explicitly rather than assuming a value from the client or another
store.
For example, a valid grant may allow catalogue reads while
writes_enabled is false. A client can still help the merchant understand a
product and prepare wording; it must not present store execution as available.
Use the discovered contract
Usetools/list as the current contract for your grant. A catalogue read, brand-context query and growth query can require different data-class consent. If a tool is missing, check the grant and account capability before continuing.
Tool definitions include an input schema and may include an output schema,
annotations and UI metadata. Validate arguments against the schema you
received. Preserve structured output for the client; do not depend on the
wording of a human-readable summary as a machine contract.
The server advertises tool, resource and prompt discovery at initialisation.
Use resources/list and prompts/list when those capabilities are useful to
your client. Do not assume that resource subscriptions or list-change
notifications are available: the current connector declares them disabled.
Re-discover after reconnecting or changing consent.

