Campaign Pack

ai.campaignpackPublished by campaignpack.aiOfficial publisherv0.1.1Updated Nov 7, 2026

Turn a product photo and a brief into a full ad campaign: scripts, stills, client-ready PDF.

Overview

AI-generated overview

Campaign Pack turns a product photo and a brief into a full ad campaign — plan, scripts, stills and a client-ready PDF — on its own GPUs.

What you can do
  • Start and follow campaign runs: launch a pack from a brief, poll status, queue position and pending approvals, then collect the finished folder, overview and PDF
  • Manage workspace files: list folders and files, read text files such as scripts and briefs, and get time-limited download links for PDFs, images and video
  • Upload a product photo so stills are edited from the real product
  • Collaborate on a campaign: share a live or finished run with a teammate by email, list who has access, and revoke access
  • Control runs: answer approval prompts before data leaves the service, and abort a running campaign
  • Browse past campaigns on the account, newest first
When to use it
Use it when you want an assistant to draft and produce a complete marketing campaign — plan, ad and social scripts, creator brief, product stills and a PDF — from a product description and photo, and to hand it to teammates while it runs.
Requirements
A remote hosted endpoint; nothing to install. A Campaign Pack account is required. Claude clients connect via OAuth sign-in; Cursor uses a bearer token generated in the account panel. A real product photo is needed for image sizes, since the server refuses without one.
Before you install
Runs write campaign folders and files into your account workspace and can be shared with teammates by email, who can then answer approvals, abort the run or take the next turn. Runs that want to send data outside Campaign Pack pause for a human approval; ask the person rather than deciding. Runs serialise on one GPU, so avoid starting a second campaign while one is going. Download links expire within the hour.

Installation

In SourceWeft

  1. Open Campaign Pack in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.campaignpack%2Fcampaignpack/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "campaign-pack": {
      "type": "http",
      "url": "https://tools.campaignpack.ai/mcp"
    }
  }
}

README

Campaign Pack MCP server

[mcptry]

Turn a product photo and a couple of sentences into a finished ad campaign — without leaving Claude, Claude Code or Cursor.

You get a campaign plan, campaign ideas, ad and social scripts, a creator brief, product stills, and a client-ready PDF you could send to a customer.

Everything runs on Campaign Pack's own GPUs. No third-party model provider is in the path, which is why an unreleased product photo can go into it.

Hosted server — there is nothing to install or self-host. This repository is the connection details and the tool reference.

Connect

Claude Desktop / Claude.ai

Settings → Connectors → Add custom connector, and give it:

https://tools.campaignpack.ai/mcp

A browser window asks you to sign in to Campaign Pack and confirm. That is all — no token to copy.

Claude Code

bash
claude mcp add --transport http campaignpack https://tools.campaignpack.ai/mcp

Cursor

~/.cursor/mcp.json:

json
{  "mcpServers": {    "campaignpack": {      "url": "https://tools.campaignpack.ai/mcp",      "headers": { "Authorization": "Bearer YOUR_TOKEN" }    }  }}

Get a token from the account panel at tools.campaignpack.ai → 🔌 Connect → Generate token. Name it after the machine you are putting it on, so you can disconnect that one later without touching the others.

You need a Campaign Pack account either way. Sign up free.

How to use it

Describe the product to your assistant the way you would to a person, then ask for a campaign. Your assistant writes the brief — that is the point of this being an MCP server rather than a form. The more specific the brief, the better the pack.

I sell a stainless steel water bottle, direct to consumers, keeps drinks cold for 24 hours. The buyer is a city commuter who already owns a bottle and wants a better one. Here's the product photo — make me a campaign.

Runs take minutes, not seconds. The assistant starts the job, gets an id back, and polls. You can watch the same run in a browser while it works.

Tools

ToolWhat it does
start_campaignStart a pack. Returns a job id and a URL to watch it
check_campaignStatus, recent steps, queue position
get_packThe finished folder, the written overview, the PDF
upload_product_photoPut a real product photo in your workspace first
share_campaignGive a teammate access while the run is still going
list_campaign_accessWho can see a campaign
unshare_campaignTake access back
answer_approvalApprove or refuse anything the run wants to send outward
abort_campaignStop a run

Sizes

SizeTimeWhat you get
text~1 minPlan, ideas, scripts, creator brief, PDF
lite~10 minThe above plus two product stills

The image size edits your photo rather than inventing a product, so upload a real one. Without a photo it refuses, which is deliberate: generated-from-nothing product images are not usable in an ad.

Sharing a live run

A campaign you start from your own assistant can be followed by a teammate from theirs, while it is still running. From their own account they can watch its progress, answer the approval prompts it raises, stop it, and read the finished pack. It is the same campaign in the same folder, not a copy.

Continuing a finished campaign with another turn is a browser job today — the tools here start a campaign and follow it, they do not add turns to one that has already run.

share_campaign(session_id, "[email protected]")

They need their own Campaign Pack account — sharing grants access, it does not create one.

Privacy

  • No third-party AI API is in the product path. Not OpenAI, not Anthropic, not Midjourney, not ElevenLabs. The models run on hardware Campaign Pack owns.
  • A run that wants to send your data anywhere outside pauses and asks a human first, through answer_approval.
  • Your assistant never sees your Campaign Pack password. Claude connects by OAuth; Cursor uses a token you issue and can revoke.
  • Disconnect any client from the account panel at any time.

Limits worth knowing

  • Runs serialise. There is one GPU, so one campaign per account at a time.
  • A finished pack stays in your workspace; download the PDF from the website.

Links

Source: README.md at commit ed63b68

Tools

13

start_campaign

Start a campaign

Start a marketing campaign pack on Campaign Pack's own GPUs. Produces a campaign plan, ideas, ad and social scripts, a creator brief, and a client-ready PDF — plus product stills on the image sizes. Returns immediately with a job id; the run itself takes minutes, so poll check_campaign rather than waiting. Write the brief yourself from what the user told you: the richer and more specific it is, the better the pack. Nothing is sent to any third-party model provider.

Parameterssizebrandrequiredbriefrequiredphoto

check_campaign

Check campaign progress

Progress of a running campaign: status, the tools it has just called, queue position, and whether it is waiting for a human approval. Poll about every 20 seconds.

Parametersjob_idrequired

get_pack

Get the finished pack

Collect a finished campaign: the folder, its files, the written overview, and the path to the PDF.

Parametersjob_idrequired

list_campaigns

List past campaigns

Campaigns on this account, newest first, including ones shared with it. Start here when you do not already have an id — the ids from start_campaign only exist in the conversation that made them, so this is how you find a campaign from last week.

Parameterslimit

list_workspace_files

List workspace files

List files and folders in the account's workspace — campaign folders, scripts, product stills, PDFs, uploads. Directories end in '/'.

Parameterspathsession_id

read_workspace_file

Read a workspace file

Contents of a text file in the workspace — a script, the plan, the creator brief, a transcript. Large files are truncated. For a PDF, image or video call get_download_url instead.

Parameterspathrequiredsession_id

get_download_url

Get a download link

A link the person can open to get one file — the campaign PDF, a product still, a video. Works for any file in the workspace, including ones too big or too binary to read as text. The link expires within the hour.

Parameterspathrequiredsession_id

upload_product_photo

Upload a product photo

Put a product photo into the user's workspace so a campaign can edit stills from the real thing. Base64 of the image bytes.

Parametersfilenamerequireddata_base64required

share_campaign

Share a campaign

Give a teammate access to a campaign by email address — including while it is still running. They see the same live run from their own AI client or the website, can abort it, answer its approval prompts, and take the next turn. They must already have a Campaign Pack account; sharing does not create one.

Parametersemailrequiredsession_idrequired

list_campaign_access

List who can see a campaign

Who owns a campaign and who it is shared with.

Parameterssession_idrequired

unshare_campaign

Remove someone's access

Revoke a collaborator's access. Takes effect on their next request.

Parametersemailrequiredsession_idrequired

answer_approval

Answer an approval prompt

Answer a paused run that wants to send the user's data somewhere outside Campaign Pack. Ask the person; never decide for them.

Parametersjob_idrequireddecisionrequired

abort_campaign

Stop a campaign

Stop a running campaign.

Parametersjob_idrequired

Version history

1
  1. v0.1.1LatestNov 7, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts