← All posts
AI SearchCreative Strategy

How to Build an MCP Agent for Marketing Creative

A practical architecture guide for connecting brand context, creative tools, approvals, state, and delivery through an MCP-enabled agent without confusing protocol access with orchestration.

Saransh

Saransh

Cofounder at AdviblyUpdated

Pastel bridge connecting brand context, creative tools, durable state, and approval controls.

An “MCP agent” is useful shorthand, but MCP is not an agent. The Model Context Protocol gives an agent host a standard way to discover and call external tools or read external context. It does not decide what campaign to make, remember which concept was approved, prevent duplicate paid renders, or confirm that an asset reached its destination.

That distinction determines whether a creative workflow survives contact with production.

A reliable setup needs two layers:

  1. An MCP tool layer that connects the host to brand context, image and video generation, asset retrieval, and other services.
  2. An application control layer that owns the plan, state, permissions, approvals, retries, validation, and completion criteria.

The hard part is not connecting more tools. It is assigning every responsibility to the right layer so nothing important is left to “the agent will figure it out.”

Key Takeaways

  • MCP standardizes access to capabilities; the host application still owns orchestration, state, permissions, and recovery.
  • Discover the live tool surface and freeze stable brand, product, and source IDs before paid generation begins.
  • Require approval before spend or publication, then close the run only with validated assets and a real delivery receipt.

What an MCP agent actually is

MCP uses a host-client-server architecture. The host is the application in which the agent operates. It creates a client connection to each MCP server, and each server can expose tools, resources, and reusable instructions. The protocol documentation describes those boundaries explicitly; it does not define a complete autonomous agent application (Model Context Protocol architecture).

For a marketing-creative workflow, that can look like this:

Operator
   ↓ approves direction and consequential actions
Agent host
   ├── plan, instructions, permissions and orchestration
   ├── run state, approval state and retry policy
   └── MCP clients
         ├── brand and product context server
         ├── creative generation server
         ├── asset retrieval server
         └── publishing server, if one is actually available

An MCP agent host connected to separate context, generation, retrieval, and delivery appliances, with spend and publication keys plus a returned asset-proof cassette.

An MCP server makes capabilities available. The host decides how those capabilities become a controlled workflow.

That is more than a technical distinction. If a generation tool returns a job ID, the tool call may have succeeded while the creative is still pending. If the host treats the response as a finished campaign, the protocol worked and the business job failed.

The eight parts of a production-ready creative architecture

A useful architecture separates access, reasoning, state, and control. These eight parts cover the full job.

1. Host

The host is the agent environment: for example, Claude, Cursor, Codex, or another MCP-compatible application. It owns the conversation, model interaction, permissions, and orchestration.

The host should decide which servers are enabled for a run. Loading every available server may sound flexible, but it increases context noise and the chance of choosing the wrong tool. A carousel workflow does not need access to every analytics, publishing, and video capability in the company.

2. MCP client

The MCP client maintains the connection between the host and a server. It discovers the server’s current capabilities and sends structured tool calls.

Discovery matters because a marketing page, an old example, and the live server may not expose the same actions. The host should inspect the live tool list before planning a workflow around a capability.

3. Context layer

The context layer supplies the exact brand, product, audience, offer, visual rules, and source assets needed for the job. It may use MCP resources, read tools, or an application database; MCP does not require one storage pattern.

Resolve context to stable IDs rather than display names. “Summer campaign” or “Acme” can match more than one record. A production run should freeze the selected brand ID, product ID, context version, and source asset IDs before generation begins.

4. Creative tools

Creative tools perform bounded actions such as generating an image, starting a video render, checking credits, or retrieving an asset. Under the MCP specification, clients can discover and invoke tools with structured inputs, but returned content and tool annotations still need to be treated according to the provider’s trust level (MCP tools specification).

A shared verb does not imply a shared contract. Two servers can both offer generate_video while differing in accepted inputs, price, duration, asynchronous behavior, and what counts as success. Normalize those differences in the workflow instead of assuming the tools are interchangeable.

5. Skill or workflow

A skill packages the sequence above individual calls: gather context, form a concept, draft a script, create a storyboard, request approval, render scenes, retrieve outputs, and prepare delivery.

This layer is reusable operational knowledge. It is not part of MCP itself. That is why installing a server with ten generation tools does not automatically produce a dependable campaign workflow.

6. State store

The state store records what happened outside the chat transcript. At minimum, keep:

  • run and campaign IDs;
  • selected brand, product, and source IDs;
  • approved concept and claims;
  • expected credit use and approval status;
  • generation IDs and their current states;
  • retrieved asset locations and validation results;
  • delivery destination and final receipt.

Without durable state, a disconnected server or compressed conversation can erase the only record of a paid render. Retries then become guesswork.

7. Control plane

The control plane applies the rules that make tool access safe and economical. It should define:

  • which brands, destinations, and actions the run may access;
  • which actions require human approval;
  • a credit ceiling and render fan-out limit;
  • timeout and retry behavior for each tool;
  • how duplicate requests are detected;
  • what content and product claims require review;
  • when a failed child asset may be retried;
  • whether publishing is allowed at all.

The MCP specification places consent, authorization, and data protection responsibilities on implementations rather than promising that the protocol will make every tool use safe (MCP specification principles). Human approval is especially important before spend, persistent changes, and external publication.

8. Delivery and verification

Generation is not delivery. A workflow is complete only when the final asset can be retrieved, passes the required checks, and has either been delivered to an approved destination or packaged for a person to do so.

If no live publishing tool exists, stop at an export package. Do not turn a product’s general publishing capability into an imaginary MCP action.

The responsibility matrix that prevents the gaps

The following matrix is the central design decision. It separates what the protocol provides from what the server, host, and operator must provide.

Responsibility

MCP standardizes

Server or provider owns

Host or application owns

Human owns

Capability discovery

Server capability exchange

Accurate tool definitions

Enable only relevant, trusted servers

Approve provider access

Brand and product context

Transport for resources or tool results

Available records and schemas

Resolve stable IDs; freeze run context

Confirm the right brand and claims

Creative direction

Nothing specific

Optional generation or reference tools

Brief, sequence, constraints, and decision logic

Approve the concept

Generation

Structured tool invocation and results

Model behavior, pricing, job execution, outputs

Inputs, job tracking, polling, validation

Approve paid fan-out where required

Memory and state

Nothing automatic

Provider-side job and asset records

Durable run, approval, and delivery state

Resolve material ambiguity

Retries and idempotency

Nothing automatic

Any provider guarantees it documents

Retry policy and duplicate protection

Approve exceptional re-spend

Safety and permissions

Protocol-level authorization mechanisms

Server scopes and data handling

Least privilege, consent, limits, and sanitization

Grant access and approve high-risk actions

Publishing

Only if a server exposes a real action

Destination integration and receipt

Timing, target, approval gate, and verification

Final publication approval

Completion

A tool response

Truthful job status and retrievable result

Business-level completion rule

Accept the final output when needed

Use the matrix during design reviews. For each row, name the actual component and owner in your system. A blank cell is not future flexibility. It is an unowned failure mode.

A worked campaign: branded carousel plus video

Consider an operator asking an agent to create a product-launch carousel and short video, then prepare both for publishing.

Step 1: Preflight the live surface

The host authenticates each required server and discovers the current tools. It confirms that it can read the intended brand, inspect credits, generate the required formats, and retrieve completed assets.

If publishing is part of the request, the host checks for a live, authorized publishing action now. It does not infer one from a website example.

Step 2: Freeze context

The agent lists available brands, resolves the selected brand to its stable ID, and reads the relevant product context. It stores the selected IDs and context version with the run.

The operator confirms any consequential product claim, offer, or date. The workflow now has a known source of truth rather than loose directions assembled from memory.

Step 3: Plan before spending

A skill or explicit plan turns the campaign goal into a concept, carousel sequence, video direction, output specifications, and expected render fan-out. The agent checks credits but does not buy or spend them yet.

The operator approves the concept, claims, and maximum generation scope. This approval should be attached to the run, not left as an ambiguous “looks good” several messages earlier.

Step 4: Generate and track every child job

The agent submits the approved carousel and video jobs. It records the provider’s generation ID before moving on.

Asynchronous jobs remain pending until retrieval proves otherwise. The host polls or retrieves each result, applies timeouts, and retries only the failed child job. It does not restart the entire campaign because one scene failed.

Step 5: Validate the actual outputs

The workflow checks the retrieved files against the brief:

  • correct dimensions and format;
  • correct product and brand;
  • no unsupported claims;
  • required text is legible;
  • no missing or duplicated carousel slides;
  • video duration, composition, and audio meet the specification;
  • every expected asset has a stable location.

A successful generation response is evidence that a job was accepted or completed according to that tool’s contract. It is not evidence that the output is accurate or usable.

Step 6: Deliver without overclaiming

If an authorized publishing tool exists, the host requests approval for the exact destination and timing, performs the action, and stores the returned receipt. If it does not, the workflow exports the final assets and publishing instructions.

The run closes only when the state store contains the final assets, validation results, and either a publishing receipt or an explicit handoff receipt.

Design for the failures that cost money or trust

The useful failure modes are not exotic. They sit at the boundaries between layers.

A tool is missing after connection. The likely causes include a scope, version, grant, or server mismatch. Fail preflight rather than rewriting the campaign around a guessed capability.

The agent chooses the wrong brand. Require stable identifiers and display the resolved brand before generation. Names are for people; IDs are for runs.

A pending render is treated as complete. Model job states explicitly. “Tool call succeeded,” “generation completed,” “asset retrieved,” and “asset validated” are separate states.

A retry creates a second paid render. Store the original request and generation ID. Query status before resubmitting. Where a provider does not document idempotency, require a stricter retry policy.

Tool output tries to redirect the agent. Treat external content and untrusted annotations as data, not instructions. Tool responses should not be allowed to expand scope, change approval rules, or authorize another tool.

The workflow claims it published. Require a destination-specific receipt and verify the resulting object when the integration supports it. No receipt means no publication claim.

When MCP is not the best interface

MCP is strongest when people use several agent hosts, the work varies from run to run, and conversational orchestration benefits from a shared discoverable tool surface.

A direct API integration is usually stronger for a fixed, high-volume production pipeline. It gives the application tighter control over schemas, idempotency, queues, observability, and performance. The trade-off is more implementation work and less portability across agent hosts.

A dashboard is often stronger for occasional manual creation. A person can inspect context, choose settings, review outputs, and correct mistakes without building a state machine. The trade-off is that repeatable multi-tool operations stay manual.

Choose

Best fit

Main trade-off

MCP

Variable, interactive workflows across compatible agent hosts

The host still needs orchestration, state, and controls

Direct API

Fixed, high-volume workflows with strict application behavior

More engineering and provider-specific integration

Dashboard

Occasional work with hands-on human review

Less automation and portability

Do not choose MCP because it sounds more agentic. Choose it when interoperability and interactive tool use are worth the control layer you still have to build.

Where Advibly fits in the stack

Advibly is a brand-context-first AI creative generator that can serve as the creative-production layer inside an MCP-enabled workflow. Its current product context covers saved brand and product information, brand reads and updates, image and video generation, asset retrieval, and credit checks. Its creative skills package multi-step formats such as storyboarding and rendering above those tool calls.

That makes Advibly the server-side creative service and reusable workflow layer, not the agent host, state store, control plane, or universal publisher.

Before using it in production, discover the live tool inventory, inspect the account and brand scope, and verify the actions required for the campaign. Advibly supports planning and publishing in its broader product, but the named MCP tool inventory in the current product context does not establish a live MCP publishing action. An MCP workflow should therefore verify publishing separately or finish with an export package.

The practical starting point is to take one bounded campaign and fill in the responsibility matrix. Connect only the context and creative tools it needs. Add approval before spend, persist every generation ID, and define completion as a verified asset plus a real delivery receipt. Once that run survives failure, expand the workflow, not the other way around.

Sources

Connect tools with control

Standardize access, own the workflow

Discover the live capabilities, persist every job, and require approval before spend or external delivery.