Skip to main content
Glama

Make a campaign landing page

spawn_campaign_landing_page

Have our AI write a campaign landing page for one strategy cell whose headline is the cell's hook, subhead its promise and first proof point its proof — so the page says exactly what the ad said — and save it as a DRAFT page at /lp/{slug}. The cell needs a messaging brief first. Pass campaign_id to link it to a campaign of this site. Nothing goes live and no build starts. Counts toward the hourly AI limit. ON A SITE THAT STILL HOLDS SEVERAL DESIGNS this builds the site: Mondovo copies the chosen design into the working site (or reuses the copy made earlier), adds to that, and the response carries its new site_id and a build_transition — relay its tell_user and use the new site_id from then on. Pass variation_id for the design the user picked; omitted, Mondovo uses the design already built or the only one edited, and otherwise answers choose_design so you can ask the user.

Input Schema

NameRequiredDescriptionDefault
goalNoWhat the page asks the visitor to do
slugNolowercase-with-hyphens; default derived from the cell
titleNo
site_idYesThe site, from list_sites
cell_keyYesA strategy cell: "persona_id:stage_id:pain_id" or "persona_id:stage_id:pain_id:competitor_id", ids from get_marketing_strategy
user_goalNoOptional: the user's goal behind this call, in one short sentence of plain words (e.g. "add a page so customers can book tables"). No names, emails or other personal details.
campaign_idNoA campaign of this site, from list_marketing_campaigns
variation_idNoOn a site that still holds several designs: the design to build the site from (from list_variations). Mondovo copies it into the working site and adds to that. Omit on a site that is already built.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / user_goal
      Added value: +{
      +  "description": "Optional: the user's goal behind this call, in one short sentence of plain words (e.g. \"add a page so customers can book tables\"). No names, emails or other personal details.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / variation_id
      Added value: +{
      +  "description": "On a site that still holds several designs: the design to build the site from (from list_variations). Mondovo copies it into the working site and adds to that. Omit on a site that is already built.",
      +  "maxLength": 200,
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: nothing goes live, no build starts, it counts toward the hourly AI limit, and on multi-design sites it copies a design, mutates the site, and returns a new `site_id` plus `build_transition` whose `tell_user` must be relayed. That is exactly the kind of side-effect disclosure annotations cannot carry (destructiveHint=false alone would understate the site-copy behavior). A small deduction for not clarifying what happens to existing pages or whether the call fails or partially succeeds on error.

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

Conciseness3/5

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

The opening sentence is a long run-on with em-dashes that delays the core statement, and the ALL-CAPS block 'ON A SITE THAT STILL HOLDS SEVERAL DESIGNS' is an awkward structural device. Content is dense with little filler, but the front-loading and sentence hygiene are weak for a definition this long.

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

Completeness4/5

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

For an 8-parameter, no-output-schema mutation tool, the description covers the critical unknowns: draft-only behavior, rate-limit cost, and the response fields (`site_id`, `build_transition`, `choose_design`) the agent must react to. Gaps remain around the goal enum, title, and user_goal, and around failure/partial-success handling.

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 already 88%, so the baseline is 3; the description adds meaning by explaining that campaign_id links the page to a campaign of this site, that slug becomes the /lp/{slug} path, and by elaborating the omit-vs-supply semantics of variation_id. It does not mention goal, title, or user_goal at all, but those are well documented in the schema.

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 and resource ('Have our AI write a campaign landing page for one strategy cell') plus the exact output artifact (a DRAFT page at /lp/{slug}), which separates it from generic page creators like add_page or create_page_draft in the sibling list. The mapping of headline/subhead/proof point to the cell's hook/promise/proof is a concrete, distinguishing scope statement.

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

Usage Guidelines4/5

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

Gives a hard prerequisite ('The cell needs a messaging brief first'), explains when to pass campaign_id, and explicitly covers the variation_id decision including the fallback that Mondovo answers `choose_design` so the agent can ask the user. It stops short of naming when to prefer add_page/create_page_draft instead, so it lacks a full when-not statement.

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.

Resources