Quarter4
Quarter4 (Quint AI) is an MCP server that plans and produces marketing campaigns for creators and sellers — from understanding a messy request through calendars, content plans, briefs, photos, landing pages, and publishing, plus account/billing.
Understand requests:
start_campaignparses free-text (niche, platforms, regions, offer, deadline), states assumptions, asks ≤3 non-blocking questions, ranks relevant events, and prefills next calls.Calendar & events:
event_calendarlists holidays, shopping days and observances for any date range/region with promotion timing, angles and hashtags.Live trends:
whats_onpulls Google Trends searches, upcoming public holidays (100+ countries) and Wikipedia reading, with safety flags for sensitive topics.Content planning:
content_planbuilds day-by-day, niche- and cadence-aware plans tied to campaign phases;export_planexports to CSV, ICS or Markdown.Asset briefs:
asset_briefproduces per-post specs, hooks, structure, image prompts, video beat sheets, shot lists and compliance checklists;platform_specsgives sizes, limits, safe zones and cadence for 10+ platforms.Photos:
find_imagesfinds free, commercially licensed photos with attribution and logo filtering.Landing pages:
landing_pagegenerates art-directed, scroll-linked single-file sales pages from copy, photos, turntable video or 3D models, with themes, countdowns, SEO and structured data — never inventing facts.Content kits:
content_kitmakes finished graphics with captions (post, spotlight, carousel, story, wide) on a shareable review page;studio_photocleans up phone photos locally.Publishing & analytics:
publish_pageputs pages online with a shareable link,page_statsshows views and WhatsApp order clicks per product,connect_domainenables custom domains with HTTPS.Account & billing:
cloud_accounthandles connect/status/pages/dashboard/upgrade links;brand_profilesaves voice, products, colours and logo for reuse.Brand & assets:
brand_profilepersists brand details,studio_photoand image tools support asset creation.
Exports campaign plans as CSV intended for import into Airtable.
Exports plans as ICS calendar files compatible with Apple Calendar.
Uses Google Trends for live top searches by country and supports exporting plans as CSV for Google Sheets or ICS for Google Calendar.
Exports campaign plans as CSV intended for import into Notion.
Searches Openverse for free, commercially usable photos with license and attribution information.
Uses a Pexels API key to fetch studio-quality stock photos for mood and backgrounds.
Uses an Unsplash access key to fetch studio-quality stock photos for mood and backgrounds.
Provides WhatsApp platform specs and cadence guidance, and tracks WhatsApp order clicks on published pages.
Sources free licensed photos from Wikimedia Commons when no stock photo API keys are configured.
Pulls what the world is reading from Wikipedia as a live trend and context signal.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Quarter4I sell sneakers in Lagos, need Black Friday content for IG and WhatsApp"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Quint AI
A marketing engine for creators and sellers, all year round. Tell your AI assistant what you sell in plain words ("i sell sneakers in lagos, need bf content for ig and whatsapp") and Quint AI gives it what it needs to do the job properly: the dates that matter in your country, what people are searching today, a content plan that fits your product, posts and video scripts, free licensed photos, and a cinematic sales page built around your product.
Works with Claude (Code and Desktop), ChatGPT and Codex, or any MCP client.
Docs and examples: https://phestplus.github.io/quint-ai-mcp/ (mirror: https://quint.erasstack.com/docs/)
What it does
Understands messy requests. start_campaign reads whatever the user typed: platforms like "ig, tik tok, status", places like "Lagos", "the Gulf" or "West Africa", offers like "30 percent off" or "N5k off", deadlines like "ends nov 30". It says what it assumed and asks at most three questions, each with the default it will use. It only waits for an answer when it cannot tell what you sell, because the plan, posts and page all depend on that.
Knows the calendar, all year. 60+ curated events (Valentine's, Lunar New Year, Ramadan and Eid, Mothering Sunday and Mother's Day, Easter, Father's Day, back to school, Diwali, Black Friday, Christmas and more), computed by rule (Easter, Thanksgiving, Super Saturday) or verified tables (lunar and religious dates, with a note where moon sighting can shift a day). Plus live official public holidays for 100+ countries.
Knows what is happening now. whats_on pulls today's top searches per country (Google Trends), upcoming public holidays (Nager.Date) and what the world is reading (Wikipedia), flags sensitive topics brands must not use, and marks trends that fit the niche.
Fits the business. 15 niche profiles (footwear, fashion, beauty, jewellery, electronics, cars, home, food, fitness, courses, software, digital products, services, kids, general) drive the angles, hooks, shot lists, compliance rules and which events matter. A sneaker shop in Lagos gets Black Friday, Cyber Monday, Christmas and Boxing Day, not Diwali.
Plans like a marketer. Every slot belongs to a campaign phase (tease, warm-up, early access, launch, last chance, thank you). Launch days always get a post. Email and WhatsApp are capped so subscribers do not leave. Remembrance days get no sales content.
Builds pages that do not look generated. An art director picks the structure from the product: cinematic full-bleed scenes for cars and gadgets, a split showcase for fashion and food, a product stage for shoes and beauty, editorial for courses and software. Motion is scroll-linked (pinned scenes, scrubbed zoom, horizontal galleries, text that fills as you scroll). Fonts, navigation, buttons and countdown style vary per brand. Drop in a 3D model (.glb) and the product spins as you scroll; drop in a phone turntable video and scrolling plays it.
Stays honest. No invented reviews, prices, stock counts or results. Real "was" prices only. Countdowns that end. Ad disclosure, AI-image labels, music licensing, finance APR for cars, no cure claims for beauty: built into every brief.
Related MCP server: SuperCMO Skills
Tools
Tool | What it does |
| Start here. Understands the request, ranks the events that matter, says what to post now, prefills the next calls. |
| Holidays, shopping days and observances for any dates and places. |
| Live: today's searches, public holidays (100+ countries), world reading, with safety flags. |
| Day-by-day plan per platform with phase, angle, hook, shot, format and size. |
| Brief for one post, image, carousel, story, video or email, with compliance checklist. |
| Sizes, limits, safe zones and cadence for 10 platforms including WhatsApp. |
| Free, commercially usable photos with licence and attribution; filters logos. |
| Cinematic sales page from your product, photos, video or 3D model. |
| CSV (Sheets, Notion, Airtable), ICS (Google, Apple, Outlook calendar) or Markdown. |
| Puts the page online at |
| Views and WhatsApp order clicks per product. |
| Pro: serve pages on your own domain with automatic HTTPS. |
| Connect in one step (browser approval), plan status, dashboard link, and Flutterwave upgrade links. |
| Finished graphics with captions (post, spotlights, carousel, Story/Status, X/LinkedIn) on a review page: share from the phone, copy captions, download PNGs. |
| Save voice, products, order link, logo and colours once; kits and pages reuse them. |
| The whole campaign in one go: brand, plan, illustrations to make, landing page, content kit, checks, private review links. |
| Read a brand's own website: palette, fonts, wordmark, logo, positioning and copy samples, with evidence. |
| On-brand illustrations of people without Figma. Pro and above: Quint AI generates them (quality-checked, transparent, saved to the brand). Every plan: style options and ready prompts for the AI's own image tool, then transparent cut-outs. |
| Short AI videos (4 or 8 seconds) animated from an approved illustration or photo (Studio and Business). |
| Host the brand's logo, wordmark, illustrations and fonts (every plan). |
| Change a shared kit at the same link: remove, reorder, replace or add posts. |
| Take a page or kit offline immediately. |
| File the seller's complaint ("off-brand", "wrong image") with context, so nobody writes a report. |
Skills for Claude Code and Codex: /quint-ai:campaign (does everything), /quint-ai:plan, /quint-ai:posts, /quint-ai:visuals, /quint-ai:landing, /quint-ai:trends.
Install
Claude Code
/plugin marketplace add phestplus/quint-ai-mcp
/plugin install quint-ai@phestplusThen type /quint-ai:campaign and describe your business.
Codex
codex plugin marketplace add phestplus/quint-ai-mcpThen install Quint AI from /plugins.
Claude Desktop, Cursor, Windsurf, any MCP client
{
"mcpServers": {
"quint-ai": { "command": "npx", "args": ["-y", "quint-ai-mcp"] }
}
}ChatGPT (remote MCP)
ChatGPT connects to MCP servers over HTTPS. Host the HTTP server on any Node host (Render, Railway, Fly.io, a VPS), then add it under Settings → Apps & Connectors → Developer mode → Create, with the URL https://your-host/mcp.
npx -y quint-ai-mcp --http --port 3000Health check: GET /health. In HTTP mode the server never writes files.
Publish and measure (Quint AI Cloud)
publish_page puts a page online in seconds and returns a link like https://quint-korakicks.erasstack.com/black-friday. page_stats shows views and WhatsApp order clicks per product.
Connect in one step. Say "connect my Quint AI account". Your assistant shows a link and a code; open the link, check the code matches, confirm your email and press Approve. The key is saved on your computer (~/.quint-ai/credentials.json), so there is nothing to paste and no restart. New emails get a free account.
Your dashboard at https://quint.erasstack.com/dashboard shows views, WhatsApp taps per product, visitor countries and your plan. Sign in with your email; no password.
Prefer setting a key yourself (CI, hosted connectors)? Create one in the dashboard and add it to your MCP config:
"env": { "QUINT_AI_API_KEY": "quint_..." }Plan | Price | Includes |
Free | ₦0 / $0 | 1 site, 3 live pages, 7-day analytics, small badge |
Pro | ₦9,900 a month in Nigeria, $9 elsewhere | Your own domain, no badge, 100 pages, 12-month analytics |
Business | ₦60,000 a month in Nigeria, $39 elsewhere | 10 brands, 10 custom domains |
Payments are handled by Flutterwave's secure checkout. Pricing: https://quint.erasstack.com
Better photos (optional, free)
Without keys, photos come from Wikimedia Commons and Openverse: free and licensed, but mixed quality. For studio-quality stock photos, get a free key and set it in your MCP config's env:
PEXELS_API_KEYfrom https://www.pexels.com/api/UNSPLASH_ACCESS_KEYfrom https://unsplash.com/developers
Stock photos are for mood and backgrounds. Show your own photos for the product you sell.
Accuracy and limits
Rule-based dates are tested across years. Lunar and religious dates use verified tables for 2026 to 2028; later years are left out, not guessed. Moon-sighted dates carry a note.
Live sources can be slow or down; every tool still answers and reports which source failed.
Platform specs carry a
lastRevieweddate; platforms change limits often.Shipping cutoffs are approximate. Compliance notes are guidance, not legal advice.
3D pages need WebGL2 (all current browsers); older devices see the product photo instead.
Development
npm install
npm test # 50 tests: dates, places, niches, plans, cadence, pages, MCP over stdio and HTTP
npm run build # bundles dist/server.mjs (used by the plugins, no install needed)
npm start # stdio
npm run start:httpLicense
MIT © phestplus
Available Tools
16 toolsasset_briefContent asset briefARead-only
Create a production brief for one post, image, carousel, story, video or email: exact specs, hook formulas, structure, image-generation prompt with the right size per tool (Midjourney, GPT Image, Imagen, Flux), video beat sheet and shot list, and a compliance checklist (ad disclosure, pricing, giveaways, AI labels, music).
| Name | Required | Description | Default |
|---|---|---|---|
| tone | No | ||
| brand | Yes | ||
| niche | No | What they sell, in their words; tailors hooks, shots and compliance | |
| offer | No | ||
| phase | No | ||
| format | No | Platform format id from platform_specs, e.g. "reel", "carousel" | |
| eventId | No | Event id or name, e.g. "black-friday", "valentines", "eid" | |
| product | No | ||
| giveaway | No | ||
| platform | Yes | Any spelling: instagram/ig, tiktok, whatsapp, email... | |
| assetType | Yes | ||
| sponsored | No | Paid partnership, gifted or affiliate | |
| aiGenerated | No | Asset will use AI-generated imagery/video | |
| videoSeconds | No |
brand_profileSaved brand profileA
Save or read the seller's brand profile in Quarter4 Cloud (needs connect): voice, products with real prices, order link, colours and logo. Saved details fill in content_kit and sales pages automatically, so the seller does not repeat them. Logo and colours on graphics are a Pro feature. Only save prices the seller gave you.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| profile | No |
cloud_accountQuarter4 account and plansA
Quarter4 Cloud account. "connect" links this AI app to the user account: it returns a link and code the user approves in their browser (new users get a free account); call it again to finish. "status" shows plan, limits and sites. "pages" lists published pages. "dashboard" returns the web dashboard link (views, WhatsApp orders per product, plan). "upgrade" returns a secure Flutterwave card checkout link for Pro or Business, priced in Naira for Nigeria and US Dollars elsewhere. "signup" (fallback) emails a key instead. Never ask for passwords or card details in chat; always send the link.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | ||
| No | |||
| action | Yes | ||
| currency | No |
connect_domainConnect your own domainA
Pro: serve published pages on the user's own domain (e.g. sale.korakicks.com) with automatic HTTPS. Returns the one DNS record to add. Call again with check: true to see if it is live.
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | Which brand site, if more than one | |
| check | No | ||
| hostname | Yes |
content_kitReady-to-post content kitA
Make finished social graphics with captions for a sale or launch: offer post (4:5), product spotlights (1:1), a carousel, Story/WhatsApp Status (9:16), a last-call story and an X/LinkedIn card (16:9). Returns a review page where the seller edits captions, then taps Share (phone share sheet: Instagram, TikTok, WhatsApp with the image attached), uses share links, copies captions or downloads PNGs. Nothing is posted automatically. Connected to Quarter4 Cloud: the kit is hosted at a link (Free: 7 days with a small mark; Pro: 90 days, no mark, own logo and colours). Not connected (local): an HTML file is written instead. Images: the seller's own photos are best (products[].image or images). If you can generate images yourself, generate them and pass their https URLs. Otherwise free licensed photos are found automatically (autoImages). Never invent prices or deadlines; leave them out if unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | ||
| kitId | No | Update an existing kit at the same link (e.g. after the seller sends new photos) | |
| niche | No | ||
| offer | No | e.g. "30% off" | |
| posts | No | Your own copy: replace a caption by id (offer, product-1, carousel, story, last-call, wide) or add extra posts with a headline | |
| price | No | ||
| theme | No | Event look: black-friday, cyber-monday, christmas, diwali, hanukkah, halloween, thanksgiving, boxing-day, new-year, default | |
| ctaUrl | No | Checkout, product page or https://wa.me/<number> | |
| images | No | ||
| logoUrl | No | Pro: brand logo (https) | |
| pageUrl | No | The live sales page link from publish_page, used in captions and share links | |
| product | No | What is on sale, e.g. "sneakers" | |
| deadline | No | ISO date-time the offer ends | |
| features | No | Up to 3 short facts shown as chips on the offer post, e.g. "Free delivery in Lagos", "Cancel anytime". Only real facts from the seller. | |
| products | No | ||
| timeZone | No | ||
| offerType | No | How it is bought; decides the verbs (shop, start your plan, enrol, book, get). Inferred when missing. | |
| autoImages | No | Find free photos when none are given (default true) | |
| brandColor | No | Pro: brand colour, e.g. "#e11d48" | |
| brandStyle | No | The brand's own look. It always wins over the event theme; the event only adds its label. Ask the seller for their colours and fonts (or read them from their site) rather than guessing. | |
| outputPath | No | Local mode: where to write the kit .html | |
| displayName | No | Short name used in copy, e.g. "Brightly Premium". Never pass long internal product phrases as headings. | |
| originalPrice | No | ||
| productPhotos | No | What the seller chose for products without photos: "own" (they are sending photos: pass them as products[].image), "representative" (closest real photo, tagged "Representative image"), "none" (text-led product posts). If you can generate images and the seller wants that, generate them and pass the URLs as products[].image. Ask the seller before choosing. | |
| discountPercent | No |
content_planBuild a content planARead-only
Generate a day-by-day content calendar per platform for the coming weeks. Niche-aware (angles, hooks and shots fit the product), audience-aware (events ranked by relevance to the regions) and cadence-aware (email and WhatsApp capped to avoid unsubscribes). Each slot is tied to a campaign phase (tease, warm-up, early-access, launch, last-chance, thank-you) for the most important upcoming event, or an evergreen pillar on quiet days. Observances like Remembrance Day get no-sales guidance. Returns slots you then fill with captions and assets.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | ||
| niche | Yes | What they sell, in their words, e.g. "sneakers in Lagos", "online fitness coaching" | |
| offer | No | Written any way: "30% off", "N5k off", "BOGO", "free delivery" | |
| format | No | Default json | |
| endDate | No | Default 60 days from start | |
| product | No | ||
| regions | No | Countries, cities or codes, e.g. "Nigeria", "Lagos", "US", "UK", "worldwide" | |
| featured | No | Products to push, best seller first. When connected to Quarter4 Cloud this is filled from real WhatsApp order taps. | |
| useStats | No | Use sales page stats to pick featured products (default true when connected) | |
| platforms | Yes | Platforms, any spelling: instagram, tiktok, youtube, linkedin, x, facebook, pinterest, threads, whatsapp, email (also "ig", "tik tok", "newsletter", "status") | |
| startDate | No | Default today | |
| focusEvents | No | Events to campaign around, ids or names ("black friday", "eid", "valentines") | |
| postsPerWeek | No | Per platform; default 4 | |
| sellsProducts | No | false for creators who only publish content; default true |
event_calendarHoliday, shopping and events calendarARead-only
List holidays, shopping days, religious and cultural events and observances for any date range and region, with exact dates, days until each, when to start promoting, content angles and hashtags. Defaults to the next 90 days. Use this before planning any campaign.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date inclusive; default 90 days from start | |
| from | No | Start date inclusive; default today | |
| year | No | Season year; default current year | |
| regions | No | Countries, cities or codes, e.g. "Nigeria", "Lagos", "US", "UK", "worldwide" | |
| minImpact | No | ||
| categories | No | ||
| includePast | No | Include events that already ended; default false |
export_planExport content planA
Export a content plan from content_plan as CSV (Google Sheets, Notion, Airtable), ICS (Google/Apple/Outlook calendar) or Markdown. Pass the same arguments you used for content_plan.
| Name | Required | Description | Default |
|---|---|---|---|
| as | Yes | ||
| brand | Yes | ||
| niche | Yes | ||
| offer | No | ||
| endDate | No | ||
| product | No | ||
| regions | No | Countries, cities or codes, e.g. "Nigeria", "Lagos", "US", "UK", "worldwide" | |
| platforms | Yes | Platforms, any spelling: instagram, tiktok, youtube, linkedin, x, facebook, pinterest, threads, whatsapp, email (also "ig", "tik tok", "newsletter", "status") | |
| startDate | No | ||
| outputPath | No | Local mode only: write the file here | |
| focusEvents | No | ||
| postsPerWeek | No | ||
| sellsProducts | No |
find_imagesFind free, licensed photosARead-only
Search commercially usable photos for pages and posts. Uses Pexels or Unsplash when PEXELS_API_KEY or UNSPLASH_ACCESS_KEY is set (best quality), otherwise Wikimedia Commons and Openverse. Each result has its licence, author and an attribution line. Photos that likely show other brands' logos are removed by default. Use stock photos for mood and backgrounds; the product itself should be the seller's own photo.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| query | Yes | Describe the scene, e.g. "sneakers on wet street at night" | |
| allowBrands | No | ||
| orientation | No |
landing_pageSales landing pageA
Generate a premium, ready-to-deploy sales page (one HTML file) built around what the user sells. Works from minimal input (brand + product): the copy is written from the facts given and never invents reviews, guarantees or prices. An art director picks the page structure from the niche: cinematic full-bleed scenes for cars, gadgets and fitness; a split showcase (sticky photos beside scrolling story) for fashion, home, food and services; a product stage (product spins and zooms with scroll, stickers pop) for shoes, beauty, jewellery and kids; editorial for courses, software and digital products. Motion is scroll-linked (pinned scenes, scrubbed zoom, horizontal galleries, text that fills as you scroll), not timed fades. Fonts, navigation, buttons and countdown style vary per brand (re-roll with variant). Media: pass the seller's own photos (images, productImage), a turntable video (videoUrl, scrubbed by scroll) or a 3D model (modelUrl, .glb, rotates with scroll and can be dragged). With no media, free mood photos are fetched automatically (autoImages). A holiday theme (black-friday, cyber-monday, christmas, diwali, hanukkah, halloween, thanksgiving, boxing-day, new-year, default) adds its palette and name; with layout "signature" and no product, the art-directed holiday scenes are used instead. Includes an honest countdown, sticky mobile CTA, SEO/Open Graph tags, Product/Offer structured data and photo credits. Deploy to Netlify Drop, Vercel, GitHub Pages or Cloudflare Pages.
| Name | Required | Description | Default |
|---|---|---|---|
| faq | No | ||
| brand | Yes | ||
| niche | No | Optional extra context about the business, in the user's words | |
| offer | No | e.g. "40% off everything" | |
| price | No | ||
| terms | No | ||
| theme | No | Holiday accent | |
| ctaUrl | No | Checkout, WhatsApp (https://wa.me/...) or product link. If omitted the button links to "#" | |
| images | No | Photos, best first. Use the seller's own product photos when possible | |
| layout | No | Default: director when the product is known; "signature" forces the holiday scene | |
| ctaText | No | ||
| effects | No | false turns off particles and 3D motion | |
| pageUrl | No | ||
| product | No | What is on sale, in plain words: "sneakers", "ankara dresses", "used cars", "online course" | |
| variant | No | Re-roll fonts, nav, buttons and countdown style | |
| currency | No | ||
| deadline | No | ISO 8601 with offset, e.g. 2026-11-30T23:59:00-05:00 | |
| features | No | ||
| headline | No | ||
| imageAlt | No | ||
| imageUrl | No | ||
| modelUrl | No | 3D model (.glb); rotates with scroll | |
| products | No | Items on sale; shown as a product grid. With a WhatsApp ctaUrl each card opens a prefilled order chat | |
| timeZone | No | IANA zone for the printed deadline, e.g. Africa/Lagos | |
| videoUrl | No | Short turntable/walkaround video (mp4); scroll scrubs through it | |
| archetype | No | Override the art director | |
| eventName | No | Event label when no theme fits, e.g. "Eid", "Mother's Day" | |
| offerType | No | How it is bought; decides the verbs (shop, start your plan, enrol, book, get). Inferred when missing. | |
| autoImages | No | Fetch free mood photos when no media is given (default true) | |
| brandColor | No | ||
| brandStyle | No | The brand's own look. It always wins over the event theme; the event only adds its label. Ask the seller for their colours and fonts (or read them from their site) rather than guessing. | |
| outputPath | No | Local mode only: write the HTML here (.html) | |
| displayName | No | Short name used in copy, e.g. "Brightly Premium". Never pass long internal product phrases as headings. | |
| subheadline | No | ||
| productImage | No | Product photo, ideally a cut-out PNG on transparent background | |
| testimonials | No | Real customer quotes only, with permission | |
| originalPrice | No | Only a price you actually charged recently | |
| discountPercent | No |
page_statsPage resultsARead-only
Views, WhatsApp order clicks and button clicks for published pages, broken down per product (e.g. "Runner One: 48 WhatsApp clicks"). Use it to tell the user what is selling and what to push next.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look-back window, default 30 (free plan keeps 7) |
platform_specsPlatform content specsARead-only
Image/video sizes, aspect ratios, length limits, caption limits, safe zones, posting cadence and tips for Instagram, TikTok, YouTube, LinkedIn, X, Facebook, Pinterest, Threads, WhatsApp and email.
| Name | Required | Description | Default |
|---|---|---|---|
| platforms | No | Default: all |
publish_pagePublish a page onlineA
Put a sales page online and get a shareable link, e.g. https://q4-korakicks.erasstack.com/black-friday. Pass the HTML from landing_page, a local file path (local mode), or "page" with landing_page arguments to build and publish in one step. Free plan: 1 site, 3 live pages, small badge. Pro adds the user's own domain and removes the badge. If not connected yet, call cloud_account with action "connect" first (free, one browser approval).
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Local mode: path to an .html file | |
| html | No | ||
| page | No | landing_page arguments to build and publish in one call | |
| path | No | Page path, e.g. "black-friday"; empty for the home page | |
| brand | Yes | Brand name; becomes the address q4-<brand>.erasstack.com | |
| title | No |
start_campaignStart here: understand the requestARead-only
Call this FIRST with whatever the user wrote, even if vague or misspelled ("i sell sneakers in lagos, need bf content for ig"). Returns what was understood (niche, product, platforms, regions, currency, offer, deadline), the assumptions made, at most 3 blocking questions, the events that matter for this audience ranked by relevance, what to post right now, compliance notes for the niche, the landing page direction, and prefilled arguments for the next tool calls. Questions are never blocking: ask them in one short message and continue with the defaults shown.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | ||
| offer | No | ||
| product | No | ||
| regions | No | Countries, cities or codes, e.g. "Nigeria", "Lagos", "US", "UK", "worldwide" | |
| deadline | No | Any form: "Nov 30", "30/11", "black friday" | |
| platforms | No | Platforms, any spelling: instagram, tiktok, youtube, linkedin, x, facebook, pinterest, threads, whatsapp, email (also "ig", "tik tok", "newsletter", "status") | |
| description | Yes | The user's request in their own words |
studio_photoStudio product photoA
Turn a seller's phone photo into a clean product shot on their own computer (free, nothing uploaded): fixes colour and sharpness, removes the background (when rembg is installed) and places the product on a studio backdrop in the brand colour or on a full scene photo, with a soft shadow. Use the result as products[].image in content_kit or landing_page. Local only.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | ||
| input | Yes | Path to the photo (or an https URL to download) | |
| scene | No | Path to a photo to use as the full background instead of a colour | |
| background | No | Backdrop colour, e.g. "#111111" (default warm light grey) | |
| outputPath | No | Where to save, .jpg or .png (default: next to the input, "-studio.jpg") | |
| keepBackground | No | Only enhance; do not remove the background |
whats_onWhat's happening nowARead-only
Live data for content ideas: today's top searches per country (Google Trends), official public holidays coming up (100+ countries), and what the world is reading (Wikipedia). Flags sensitive topics that brands must not use for promotion and marks trends that fit the niche. Use it to make posts timely, plan around public holidays, and spot trends worth a quick story or reel.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Holiday look-ahead in days (default 60) | |
| niche | No | What they sell, to mark trends that fit | |
| places | Yes | Countries, cities or continents, e.g. "Nigeria, UK", "West Africa", "Dubai" |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.6.0- Added
brand_profile - Changed
cloud_account1 field changed- changed
Input schema / properties / action / enumPrevious value: -[ - "signup", - "status", - "upgrade", - "pages" -]New value: +[ + "connect", + "status", + "pages", + "dashboard", + "upgrade", + "signup" +]
- Added
content_kit - Changed
content_plan2 fields changed- added
Input schema / properties / featuredAdded value: +{ + "description": "Products to push, best seller first. When connected to Quarter4 Cloud this is filled from real WhatsApp order taps.", + "items": { + "type": "string" + }, + "maxItems": 5, + "type": "array" +} - added
Input schema / properties / useStatsAdded value: +{ + "description": "Use sales page stats to pick featured products (default true when connected)", + "type": "boolean" +}
- Changed
landing_page3 fields changed- added
Input schema / properties / brandStyleAdded value: +{ + "description": "The brand's own look. It always wins over the event theme; the event only adds its label. Ask the seller for their colours and fonts (or read them from their site) rather than guessing.", + "properties": { + "fontBody": { + "description": "Google Fonts family for text", + "maxLength": 40, + "type": "string" + }, + "fontDisplay": { + "description": "Google Fonts family for headings, e.g. \"Inter\"", + "maxLength": 40, + "type": "string" + }, + "mode": { + "enum": [ + "light", + "dark" + ], + "type": "string" + }, + "palette": { + "properties": { + "accent": { + "pattern": "^#[0-9a-fA-F]{6}$", + "type": "string" + }, + "accent2": { + "pattern": "^#[0-9a-fA-F]{6}$", + "type": "string" + }, + "bg": { + "pattern": "^#[0-9a-fA-F]{6}$", + "type": "string" + }, + "muted": { + "pattern": "^#[0-9a-fA-F]{6}$", + "type": "string" + }, + "surface": { + "pattern": "^#[0-9a-fA-F]{6}$", + "type": "string" + }, + "text": { + "pattern": "^#[0-9a-fA-F]{6}$", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
Input schema / properties / displayNameAdded value: +{ + "description": "Short name used in copy, e.g. \"Brightly Premium\". Never pass long internal product phrases as headings.", + "maxLength": 40, + "type": "string" +} - added
Input schema / properties / offerTypeAdded value: +{ + "description": "How it is bought; decides the verbs (shop, start your plan, enrol, book, get). Inferred when missing.", + "enum": [ + "physical", + "subscription", + "course", + "service", + "digital" + ], + "type": "string" +}
- Added
studio_photo
13 tool updates
v0.3.0- First observed
asset_brief - First observed
cloud_account - First observed
connect_domain - First observed
content_plan - First observed
event_calendar - First observed
export_plan - First observed
find_images - First observed
landing_page - First observed
page_stats - First observed
platform_specs - First observed
publish_page - First observed
start_campaign - First observed
whats_on
TDQS
Scored across 16 tools
Most tools have clearly distinct resource+action targets (plan vs. kit vs. page vs. publish vs. analytics). The only real overlap is among the three intake/discovery tools (start_campaign, event_calendar, whats_on) and between content_kit (finished graphics) and asset_brief (prompt brief for external generators), but descriptions explicitly rank and route them, so misselection risk stays low.
All 16 names are uniformly snake_case and readable, with no casing or style collisions. The verb_noun pattern is not adhered to strictly — roughly half are noun-only (content_plan, brand_profile, page_stats, whats_on) and half are verb_noun (publish_page, connect_domain, find_images, start_campaign) — a minor deviation rather than a confusing one.
At 16 tools the set is on the heavier side, but the domain is a full campaign-to-landing-page pipeline and nearly every tool maps to a distinct stage (research, planning, assets, publishing, account, analytics). No tool looks like filler; it is only slightly over the comfortable range.
The surface covers the whole lifecycle: discovery (start_campaign, whats_on, event_calendar), planning and export (content_plan, asset_brief, export_plan), asset production (content_kit, studio_photo, find_images), web (landing_page, publish_page, connect_domain), account/brand (cloud_account, brand_profile) and measurement (page_stats). Deliberate omissions like auto-posting are documented as design choices, though there is no tool to edit or unpublish a live page.
Maintenance
Related MCP Connectors
On-brand AI image and video campaigns with persistent characters and products, from any MCP client.
Drive your AutoWhisper AI CMO to generate and publish marketing content from any MCP client.
An MCP for marketers that gives agents tools for SEO, AEO, socials and ads data. Generous free tier; works in Claude, ChatGPT, Cursor and other MCP clients.
Hosted MCP server for marketing agencies: connect Google Ads, GA4, Search Console, Meta, LinkedIn and more to Claude or ChatGPT. Pull reports and make changes via OAuth login, no setup.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI clients to compose and execute marketing campaigns by mapping free-form intent to a deterministic plan of over 1,000 production-tested skills, supporting multiple workflows across paid ads, SEO, content, and more.MIT

SuperCMO Skillsofficial
AlicenseAqualityBmaintenanceOpen-source skills that empower any AI agent (Claude, Cursor, Codex, Hermes, etc.) to generate end-to-end marketing campaigns — UGC videos, ad videos, product photography and more. From a product photo and a brief it casts AI actors, picks the best models, and edits finished assets of any length with consistent actor and product. It also researches competitors, publishes, and reviews performance.2287 npm206 PyPI290Apache 2.0- FlicenseNot gradedqualityDmaintenanceEnables to plan, write, illustrate, and voice a full marketing campaign through an MCP pipeline that generates copy, moodboards, voiceovers, and images with automated guardrails and budget controls.-

PaidSync MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI assistants to create, manage, and optimize advertising campaigns across 14 ad and measurement platforms through a single MCP endpoint, with over 530 executable tools.4MIT