{"$schema":"https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json","name":"com.cartviral/cartviral","title":"CartViral","description":"AI product videos for e-commerce: import products from a store or product link, make TikTok, Reels and Shorts clips, photos, carousels and ads, remake a viral video with your product, and earn per sale on CartViral Earn.","version":"1.1.0","websiteUrl":"https://cartviral.com","documentationUrl":"https://cartviral.com/mcp","icons":[{"src":"https://cartviral.com/favicon.svg","mimeType":"image/svg+xml","sizes":["any"]},{"src":"https://cartviral.com/apple-touch-icon.png","mimeType":"image/png","sizes":["180x180"]}],"protocolVersions":["2025-11-25","2025-06-18","2025-03-26","2024-11-05"],"remotes":[{"type":"streamable-http","url":"https://app.cartviral.com/mcp"}],"authentication":{"required":true,"schemes":["oauth2","bearer"],"oauth2":{"protectedResourceMetadata":"https://app.cartviral.com/.well-known/oauth-protected-resource/mcp","authorizationServer":"https://app.cartviral.com","dynamicClientRegistration":true,"clientIdMetadataDocuments":true,"scopes":["mcp"]},"bearer":{"header":"Authorization","keysUrl":"https://app.cartviral.com/account/agents"}},"capabilities":{"tools":{"listChanged":false}},"instructions":"CartViral makes short vertical product videos (TikTok, Reels, Shorts) from product links, and runs CartViral Earn, a marketplace where creators post clips for Shopify brands and earn a commission per confirmed sale. Typical flow: get_account -> import_products -> list_products -> generate_clips -> list_clips (download links). generate_clips takes an optional exact format id and captions (bold | native | none: no text on the video, the voice stays); remake_from_reference turns a reference video (a direct link, or one uploaded with upload_media) into a new clip on the same structure and format, with your product (product_id) or without one (leave product_id out; optional topic, e.g. 'my coffee shop'), same price and flow as an AI story clip. A reference video always means a remake: its story beats in order (a problem, a versus, the solution, the payoff), its hook, scene count, timings, text style and format are kept, and only the product, the lines and the details change. generate_photos (model photoshoot, product shots or an infographic) -> list_photo_sets, generate_carousel -> list_carousels and generate_static_ads -> list_static_ads follow the same queue-then-poll pattern, each gated on the account having that feature open. get_listing_copy gives Amazon/Shopify/Etsy/AI-search copy for a product: 1 credit the first time, free on every call after that while the product is unchanged. get_copy gives the other 4 Text & SEO tools (tool=ad_copy|social_captions|creator_brief|content_plan), same 1-credit-then-free pricing per tool. Creators: list_offers -> join_offer; bring_a_brand to pitch a brand. Not tied to a product (the cabinet's Create section): create_image (own prompt + up to 3 reference photos, e.g. a face for a YouTube cover at 16:9), create_video (prompt, camera move, model), make_angles, make_talking_photo, make_cinematic (brand film), reframe_video, remove_background, copy_motion, breakdown_video (free) -> list_creations for the result links; get_create_options for models and prices. Brand characters: create_character -> list_creations -> save_character -> character_id in generate_clips or remake_from_reference keeps one face across clips. Any image or video argument takes a public https file link or a CartViral /u/ link (upload_media for base64). Generation spends the account's credits; tell the user the cost before generating many clips. Plans (Starter, Growth, Scale) bill monthly or yearly: get_account lists both prices of every plan (yearly is charged once for 12 months, 2 months free, the same credits every 30 days) and the user subscribes in the cabinet at /account/billing. get_account also lists the one-time credit packs (credits never expire) with the credits each one gives if bought now; while a promotion runs (promotion: e.g. Black Friday x2, double credits on packs until ends_at, at most 2 doubled purchases per account), credits_if_bought_now already counts it. Packs are bought in the cabinet at /account/billing#packs, not through the API.","tools":[{"name":"get_account","title":"Account and credits","description":"The CartViral account behind this API key: plan and how it is billed (monthly or yearly), credit balance, credit price of each clip type, the price of every plan on both billing intervals, the one-time credit packs with the credits each gives if bought now (a running promotion such as Black Friday x2 included), and the Earn (creator marketplace) profile if any. Call this first."},{"name":"import_products","title":"Import products from a link","description":"Import products into the account's catalog from a public link: a Shopify storefront link imports the whole published catalog (up to 750 products); a WooCommerce store link imports its catalog; a product page on Shopify, Amazon, TikTok Shop, Etsy or most other sites imports that product. Re-importing the same link updates products in place."},{"name":"list_products","title":"List catalog products","description":"Products in the account's catalog with their id, price, photo count and CartViral score (0-100; 'push' products are the best candidates for clips). Use the id with generate_clips."},{"name":"get_listing_copy","title":"Marketplace listing copy and SEO","description":"Marketplace-ready copy for one catalog product, written only from its real facts (never invented specs, claims or reviews) - the same claims as its clips. Amazon title/Item Highlights/5 bullets/backend search terms, a Shopify SEO title/meta description/image alt text/description, 13 Etsy tags, and GEO (AI search): FAQ pairs, an attributes table and Product + FAQPage JSON-LD. Cached per product until it changes: a first write costs 1 credit, calling it again for the same, unchanged product is free."},{"name":"get_copy","title":"Text & SEO: ad copy, social captions, a creator brief, a 30-day content plan","description":"One of Text & SEO's 4 more tools for a catalog product, written only from its real facts (never invented specs, claims, discounts or reviews). tool=ad_copy: 5 Meta primary texts, 5 headlines, 5 descriptions, 3 TikTok ad texts, following the paid-ad rules (no absolutes, no fake discounts or reviews). tool=social_captions: 3 captions, a hashtag set and alt text for each of TikTok, Instagram Reels, YouTube Shorts and Pinterest. tool=creator_brief: a one-page brief for a human UGC creator or a CartViral Earn generator - facts, audience, 3 key messages, 3 hooks, shots to get, do's/don'ts, the #ad disclosure rule. tool=content_plan: a 30-day content calendar built from CartViral's own Video/Photos/Carousels formats. Cached per product and per tool until the product changes: a first write costs 1 credit, calling it again for the same, unchanged product is free."},{"name":"generate_clips","title":"Generate video clips of a product","description":"Queue vertical 9:16 clips (TikTok, Reels, Shorts) of one catalog product. Types and credit cost: montage (1, fast photo montage, ready in a few minutes), ai_story (6, an AI story written and shot by CartViral's AI engine), avatar (12, a creator on camera talks about the product), ad (6, kept for older integrations: the same AI clip as ai_story, the engine makes native clips without price tags). AI clips take 10-15 minutes. Optional format: an exact engine format id instead of letting the brain pick one (e.g. ugc_dupe for a dupe-style creator clip); its family must match clip_type, ai_story and ad need a story format, avatar needs a creator/UGC format, montage has no formats. Credits are charged from the account; a failed render refunds automatically. Poll list_clips for download links."},{"name":"remake_from_reference","title":"Remake a viral video, with your product or without one","description":"Turn a proven video into a new clip with the same structure and format: CartViral's engine watches the reference end to end (its hook, story beats in order such as problem, versus, solution and payoff, timings and pacing), then writes and shoots new lines on that structure, never the reference's people or brand. With product_id the clip stars that catalog product. Without product_id it is a remake with no product: pass topic (what the video is about, e.g. 'my coffee shop' or 'a tip for sellers'), or leave it out to keep the reference's own topic in new words; nothing is sold in it and no product photo is used. The reference must be a direct https link to a video file, or a CartViral /u/... link (upload_media); TikTok, Instagram, YouTube and other social post pages cannot be read yet, so a plain post link is refused before anything is charged. Same price and refund-on-failure as an ai_story clip (see generate_clips), with or without a product. AI clips take 10-15 minutes. Poll list_clips for download links."},{"name":"list_clips","title":"List clips and download links","description":"Recent clips of the account's catalog, newest first, with render status and, when done, a download link and a stream link (both valid for 24 hours)."},{"name":"generate_photos","title":"Generate AI product photos","description":"Queue a set of AI photos for one catalog product. Formats and credit cost: photo_model (9, a photoshoot with an AI model wearing or using the product), photo_product (8, clean studio and lifestyle product shots), photo_infographic (7, a labelled infographic built only from the product's real facts, needs enough facts on the product page). A set renders in a few minutes; every image comes in a square (2000x2000) and a portrait (1080x1350) size, plus a zip of the whole set. Credits are charged from the account; a failed set refunds automatically. Poll list_photo_sets for download links."},{"name":"list_photo_sets","title":"List photo sets and download links","description":"Recent AI photo sets of the account's catalog, newest first, with render status and, when done, a zip download link and each image's view/download links (square 2000x2000 and portrait 1080x1350)."},{"name":"generate_carousel","title":"Generate a product carousel","description":"Queue a multi-slide carousel (Instagram and TikTok slides) for one catalog product, built only from its real facts: 3 credits per set, a few minutes to render. format picks the content idea (e.g. a save-this cheat sheet or a myth vs fact), style picks the visual look; leave either out and CartViral rotates to a format/style combo it hasn't tried recently for this account. Credits are charged from the account; a failed set refunds automatically. Poll list_carousels for download links."},{"name":"list_carousels","title":"List carousels and download links","description":"Recent carousels of the account's catalog, newest first, with render status, the hook and caption CartViral wrote and, when done, a zip download link and each slide's Instagram/TikTok image links."},{"name":"generate_static_ads","title":"Generate static ad images","description":"Queue a set of static ad images (Meta, TikTok) for one catalog product, built from its own photos with exact text, never an invented claim, fake discount or review: 4 credits per set no matter how many templates are picked, each template rendered at 3 sizes (1:1, 4:5, 9:16). Templates: price_offer (Leads with the real price - a discount only when you enter one.); benefit_callouts (Three benefits straight from your product facts, nothing invented.); us_vs_them (A side-by-side comparison - never names a competitor.); problem_solution (Names the buyer's problem, then the product as the fix.); sticky_note (A handwritten-style native note over your product photo.); feature_closeup (A zoomed-in detail with labelled pointers to what matters.). Leave templates out to get all 6 of them. Credits are charged from the account; a failed set refunds automatically. Poll list_static_ads for download links."},{"name":"list_static_ads","title":"List static ad sets and download links","description":"Recent static ad sets of the account's catalog, newest first, with render status, the ad copy CartViral wrote and, when done, a zip download link and each image's view/download link."},{"name":"list_offers","title":"Brand offers (CartViral Earn)","description":"For creators: live brand offers in the CartViral Earn marketplace, with commission, ships-to countries, the clip formats the brand prefers, whether the brand's deposit is funded, and your personal link for offers you joined. Requires an Earn profile (create it once at app.cartviral.com/earn/start)."},{"name":"join_offer","title":"Join a brand offer","description":"For creators: join a live brand offer and get your personal tracking link. Free."},{"name":"bring_a_brand","title":"Make a pitch for a brand","description":"Paste a brand's store or product link: CartViral imports it, makes 3 AI clips of its best product (18 credits) and returns a public page to send the brand, with a \"Launch your offer\" button that carries this account's referral code (30% of what the brand pays CartViral, for life). Max 10 a day. Offers track sales in Shopify, so pitch Shopify brands."},{"name":"list_pitches","title":"Brand pitches and their stats","description":"Pitches made with bring_a_brand: page link, render progress, how many times the brand opened it and clicked \"Launch your offer\"."},{"name":"get_create_options","title":"Create: models, formats and prices","description":"What the Create tools accept and cost: video models (our engine Gemini Omni Flash, plus premium models when switched on) with credits per length, image models for create_image, frames, camera moves, brand film moods, and the price of every Create tool. Free."},{"name":"upload_media","title":"Upload an image or video","description":"Store an image (JPG, PNG, WebP, up to 8 MB) or a video (MP4, MOV, WebM, up to 60 MB) in CartViral and get its /u/ link for the Create tools. Pass a public https file link or the file as base64. You rarely need this: every Create tool also takes a public link directly. Free."},{"name":"create_image","title":"Create images from a prompt","description":"Images from your own prompt, optionally guided by up to 3 reference photos (a face, a product, a style, a layout): covers and YouTube thumbnails (use 16:9), banners, product scenes, posters. Not tied to the catalog. 1 credit per image, 1, 2 or 4 images. Poll list_creations."},{"name":"create_video","title":"Create a video from a prompt","description":"A short video (4-10 s) from your own prompt, optionally starting from or guided by up to 3 reference photos, with a camera move (dolly_zoom, crane, orbit, push_in, whip_pan, low_angle) and sound. Our engine costs 2 credits per video; premium models cost more (see get_create_options). Poll list_creations."},{"name":"make_angles","title":"New angles of one photo","description":"New angles of the same shoot from one photo (three-quarter, side, top, macro, low, front, wide, detail): 4 angles 4 credits, 6 angles 6 credits, 8 angles 8 credits. Poll list_creations."},{"name":"make_talking_photo","title":"Make a photo talk","description":"A person's photo says your text on camera, in any language (up to 700 characters). 2 credits per take of up to 10 s (about 26 words); model avatar (Kling Avatar, when available) costs more. Needs consent=true for a real person. Poll list_creations."},{"name":"make_cinematic","title":"Make a brand film","description":"A 15 or 30 s image film of a product with a pro model, every frame usable as a banner: for a site, ads and banners. Pass a catalog product_id or up to 3 product photos. 12 credits for 15 s and 18 for 30 s on our engine; premium models cost more (get_create_options). Poll list_creations."},{"name":"reframe_video","title":"Change a video's frame","description":"Re-cut a video (up to 2 minutes) to another frame: 9:16, 4:5, 1:1 or 16:9, filling the frame or on a blurred background. 1 credit. Poll list_creations."},{"name":"remove_background","title":"Remove a photo's background","description":"A cut-out PNG with a transparent background plus a white-background JPG. 1 credit. Poll list_creations."},{"name":"copy_motion","title":"Copy a video's movement onto a character","description":"The person from a photo repeats the movement of a reference video (dance, gesture, walk), up to 15 s. Premium, priced by length; only when premium video is switched on. Needs consent=true for a real person. Poll list_creations."},{"name":"breakdown_video","title":"Break down a viral video","description":"Why a video works: hook and its mechanism, beats with timings, what is said and shown, on-screen text style, measured cuts. Free. To make the same structure with your product or without one, use remake_from_reference. Poll list_creations (the result is data)."},{"name":"create_character","title":"Create a brand character","description":"Two portraits of a recurring person for the brand (who, age, look, or from a real person's photo with consent), 2 credits. Then save_character with the portrait you like; generate_clips and remake_from_reference take its character_id so the same face stars in every clip."},{"name":"save_character","title":"Save a brand character","description":"Keep one of the create_character portraits (or any portrait link) as the brand's character. Returns its character_id. Free."},{"name":"list_characters","title":"List brand characters","description":"The brand's saved characters with their character_id, look and portrait. Free."},{"name":"list_creations","title":"Create jobs and their results","description":"Status and result links of Create jobs (images, videos, angles, talking photos, brand films, reframes, cut-outs, motion copies, breakdowns, character portraits). Pass job_id for one job. status: queued, rendering, done or error (a failed job refunds its credits). Free."}],"setup":{"claude":"Settings → Connectors → Add custom connector → paste https://app.cartviral.com/mcp → Connect","chatgpt":"Settings → Apps → Advanced settings → Developer mode → Create app with https://app.cartviral.com/mcp, OAuth","claudeCode":"claude mcp add --transport http cartviral https://app.cartviral.com/mcp"},"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=com.cartviral"}