Will this work with multi-store / multi-website Magento setups?
Yes, with one design decision up front: scope every tool by store_id. The GraphQL endpoint accepts a Store HTTP header that switches the catalogue, currency, tax, and customer-group context per request. Make store_code an explicit tool parameter (with a sane default), pass it through to the httpx client headers, and include it in the cache key. Without this, a B2B Companies customer in the UK store can see prices for the US store, a real incident that has happened to a real client. For multi-website setups (separate websites = separate root categories = separate base currencies), the same pattern applies one level up: the website_id becomes part of the tool input + cache key. The pattern is small; the cost of getting it wrong is significant.