{"toolkits":[{"slug":"shopify","name":"Shopify","description":"The project's Shopify store through the Storefront API: shop branding, products, collections, metaobjects, carts and anything else published to the storefront.","endpoint":"/integrations","tools":[{"slug":"SHOPIFY_GET_SHOP","description":"Get the shop details and branding: name, description, slogan, logo, square logo, cover image and brand colors.","read_only":true},{"slug":"SHOPIFY_LIST_PRODUCTS","description":"List or search published products with their price range and first image, with cursor pagination.","read_only":true},{"slug":"SHOPIFY_GET_PRODUCT","description":"Get a product by handle with its description, images and variants.","read_only":true},{"slug":"SHOPIFY_LIST_COLLECTIONS","description":"List or search published collections, with cursor pagination.","read_only":true},{"slug":"SHOPIFY_GET_COLLECTION","description":"Get a collection by handle with its first 20 best-selling products.","read_only":true},{"slug":"SHOPIFY_LIST_METAOBJECTS","description":"List the metaobjects of a type with their fields, with cursor pagination.","read_only":true},{"slug":"SHOPIFY_GET_METAOBJECT","description":"Get a metaobject by type and handle with its fields.","read_only":true},{"slug":"SHOPIFY_STOREFRONT_GRAPHQL","description":"Run any Storefront API GraphQL query or mutation and return the raw { data, errors } response. Use it for what the other Shopify tools do not cover: menus, pages, blogs, carts, selling plans, filters, localization. Declare variables on the operation and pass their values in `variables`. Ask only for the fields you need. This is the Storefront API, so it sees published data only.","read_only":false}]},{"slug":"stripe","name":"Stripe","description":"The project's Stripe account: products, prices (one per variant) and promotion codes. Amounts are integer minor units.","endpoint":"/integrations","tools":[{"slug":"STRIPE_LIST_PRODUCTS","description":"List every product with its prices, including inactive ones.","read_only":true},{"slug":"STRIPE_CREATE_PRODUCT","description":"Create a product. Add its prices with STRIPE_CREATE_PRICE.","read_only":false},{"slug":"STRIPE_UPDATE_PRODUCT","description":"Replace a product's details. Fields left out are cleared or reset.","read_only":false},{"slug":"STRIPE_ARCHIVE_PRODUCT","description":"Archive a product. Stripe keeps it for its financial history.","read_only":false},{"slug":"STRIPE_CREATE_PRICE","description":"Add a price to a product: a one-time or recurring amount, one per variant (attributes hold options like size).","read_only":false},{"slug":"STRIPE_UPDATE_PRICE","description":"Change a price. A new amount, currency, interval or tax behavior replaces it with a new price and archives the old one.","read_only":false},{"slug":"STRIPE_ARCHIVE_PRICE","description":"Archive a price, unsetting it as its product’s default.","read_only":false},{"slug":"STRIPE_LIST_PROMOTION_CODES","description":"List the active promotion codes with their discounts and restrictions.","read_only":true},{"slug":"STRIPE_CREATE_PROMOTION_CODE","description":"Create a customer-facing promotion code for a percent or amount discount.","read_only":false},{"slug":"STRIPE_REPLACE_PROMOTION_CODE","description":"Change a promotion code: a new code with the given discount replaces it, and the old one is deactivated.","read_only":false},{"slug":"STRIPE_ARCHIVE_PROMOTION_CODE","description":"Deactivate a promotion code.","read_only":false}]},{"slug":"figma","name":"Figma","description":"Designs in the Figma account the project connected: file structure, nodes, rendered images, components and styles.","endpoint":"/integrations","tools":[{"slug":"FIGMA_GET_FILE","description":"Get a file's document tree and metadata. Start with depth 1 to see its pages and frames; whole files can be very large.","read_only":true},{"slug":"FIGMA_GET_FILE_NODES","description":"Get specific nodes of a file in full detail: layout, styles, text and children.","read_only":true},{"slug":"FIGMA_RENDER_IMAGES","description":"Render nodes to images and get a temporary download URL for each.","read_only":true},{"slug":"FIGMA_GET_FILE_COMPONENTS","description":"List the components published from a file.","read_only":true},{"slug":"FIGMA_GET_FILE_STYLES","description":"List the styles (colors, text, effects, grids) published from a file.","read_only":true}]},{"slug":"contentful","name":"Contentful","description":"The project's Contentful space: content types, published and draft entries, and creating or updating entries.","endpoint":"/integrations","tools":[{"slug":"CONTENTFUL_LIST_CONTENT_TYPES","description":"List the content types with their fields and entry counts.","read_only":true},{"slug":"CONTENTFUL_QUERY_ENTRIES","description":"Query entries, with linked assets and entries inlined one level deep. Draft content needs preview and a preview token.","read_only":true},{"slug":"CONTENTFUL_CREATE_ENTRY","description":"Create an entry of a content type. Needs a management token.","read_only":false},{"slug":"CONTENTFUL_UPDATE_ENTRY","description":"Update an entry's fields in one locale, keeping the fields left out. Needs a management token.","read_only":false}]},{"slug":"openrouter","name":"OpenRouter","description":"Image and video generation on the team's own OpenRouter account, saved to the project's media library.","endpoint":"/mcp","tools":[{"slug":"generate_image","description":"Generate or edit images and save them to the project's media library. Filenames are generated from `name` (or the prompt) with a unique suffix. Returns each image's public URL and storage path — download the URL into the project if the code needs a local file. Runs on the team's own OpenRouter account, connected in Team → Integrations.","read_only":false},{"slug":"generate_video","description":"Start generating a video. Returns immediately with a videoToken; videos take one to several minutes, so call check_video with it until status is completed. The finished video is saved to the project's media library under a generated filename. Runs on the team's own OpenRouter account, connected in Team → Integrations. Models: minimax/hailuo-3-max (durations 5/6/7/8/9/10/11/12/13/14/15s; frames: first_frame, last_frame); minimax/hailuo-3 (durations 5/6/7/8/9/10/11/12/13/14/15s; frames: first_frame, last_frame); google/veo-3.1-fast (durations 4/6/8s; frames: first_frame, last_frame); google/veo-3.1-lite (durations 4/6/8s; frames: first_frame, last_frame); alibaba/wan-2.6 (durations 5/10s; frames: first_frame); x-ai/grok-imagine-video (durations 1/2/3/4/5/6/7/8/9/10/11/12/13/14/15s; frames: first_frame); bytedance/seedance-1-5-pro (durations 4/5/6/7/8/9/10/11/12s; frames: first_frame, last_frame).","read_only":false},{"slug":"check_video","description":"Check a video started with generate_video. Returns status pending, failed, or completed; when completed the video has been saved to the media library and its public URL and storage path are returned. Safe to call repeatedly.","read_only":false}]}]}