Skip to main content
Glama

Generate campaign

generate_campaign

Creates a new marketing campaign for a brand and generates its first batch of draft posts (copy + image briefs per channel). Posts land as drafts awaiting human approval in the Rebbel dashboard — this tool never publishes or schedules anything. If the brand already has a campaign with exactly this objective and angle, that campaign comes back instead (with a choice: open it, or generate anyway) and nothing new is created — pass generateAnyway:true only after the user asks for a second one. meta_facebook (Facebook) and meta_instagram (Instagram) are available to every brand; linkedin/linkedin_personal/threads/x only generate posts for brands specifically enabled for them (not yet open to everyone) — any other requested channel is dropped and noted in the response, not an error, unless none of the requested channels are eligible.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
angleYesThe creative angle or hook the campaign should take.
brandIdYesThe brand's id, from list_brands.
channelsYesChannels to generate content for — meta_facebook is Facebook, meta_instagram is Instagram.
objectiveYesWhat this campaign is for, in plain English. For organic campaigns, phrase the objective as what the audience should know or feel after the campaign (e.g. 'people starting Sober October know HALT before October 1'); the business result (signups, follows) is tracked, not written into posts. For a promotional/launch campaign, name the thing being promoted (e.g. 'promote the fall product launch').
campaignTypeNo'launch' for an introduction/who-we-are campaign (recommended when the brand's marketing-presence audit shows a thin footprint), 'standard' otherwise. Defaults to 'standard'.
generateAnywayNoDefault false: if this brand already has a campaign with exactly this objective and angle, the existing one is returned instead of a copy being created. Pass true only after the user has seen that and explicitly wants a second campaign on the same brief.
referenceLinksNoExisting pages on the brand's own site worth linking to when a concept's angle genuinely calls for it (a blog post, a guide, a product page) — e.g. {url: 'https://example.com/guides/x', label: 'the X guide'}. Optional; omit if none apply. Not forced into every post.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the generic safety profile (readOnlyHint false, destructiveHint false, idempotentHint false). The description adds substantial context beyond that: posts land as drafts awaiting approval, this tool never publishes or schedules, an existing campaign may be returned instead of creating a new one, and ineligible channels are silently dropped with a note rather than erroring unless none qualify.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then layered with dedup and channel rules. It is a dense single paragraph, so slightly heavy, but each clause (draft-only, dedup, generateAnyway, channel gating) carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-param mutation tool with no output schema, the description covers the essential behavior an agent needs: no publishing/scheduling side effects, draft output, dedup handling, and channel fallback semantics. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: the dedup/return behavior tied to objective+angle, the concrete channel-eligibility rules (meta_facebook/meta_instagram always available; linkedin/threads/x gated), and confirmation that unmatched channels are dropped not errored.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (creates a campaign and generates a first batch of draft posts) with explicit scope detail (copy + image briefs per channel). It clearly separates itself from siblings like create_post, create_adhoc_post, and draft_first_post by describing the campaign-level bundle it produces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to pass generateAnyway:true (only after the user asks for a second campaign on the same brief), explains the dedup path (existing campaign with same objective+angle returns instead), and details channel eligibility. The agent has clear when-to and when-not-to guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.