Skip to main content
Glama

Trillboards Campaign Planner

Save campaign draft

save_campaign_draft
DestructiveIdempotent

Save or update an agency-owned campaign and selected inventory in the advertiser portal. The agency remains the owner and payer; clientName labels the client brief.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourceNomixed
endTimeNo23:59
quoteIdNo
quoteIdsNo
timezoneNoIANA timezone for the local flight.
budgetUsdNo
flightEndYesLocal calendar date, YYYY-MM-DD.
screenIdsNo
startTimeNo00:00
clientNameNo
landingUrlNoClient business or campaign landing page URL.
flightStartYesLocal calendar date, YYYY-MM-DD.
impressionsNo
campaignNameNo
providerPlanNo
ownedBudgetUsdNo
advertisementIdNo
idempotency_keyYesStable unique key for this action. Reuse this key and unchanged arguments when retrying.
ownedImpressionsNo
partnerBudgetUsdNo
partnerImpressionsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
checkoutUrlNo
advertisementIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=true; the description's "save or update" is consistent with an upsert and adds the useful ownership/payer rule. However, a tool marked destructive that reads as a benign "draft save" deserves an explanation of what an update overwrites or deletes, and none is given.

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?

Two tight sentences with the action front-loaded and no filler. It is efficient, though the second sentence drifts into ownership policy rather than the operational constraints an agent most needs.

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

Completeness2/5

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

For a destructive, idempotent, 21-parameter upsert with deep nested targeting and an output schema, the description covers almost none of the decision-relevant surface: no note on partial vs full replacement, on required flight dates, on idempotency_key reuse, or on how owned vs partner inventory is selected.

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

Parameters2/5

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

With 21 parameters and only 24% schema description coverage, the description must compensate, yet it explains only clientName (client brief label) and vaguely gestures at partner/owned split via "agency remains the owner and payer." Flight windows, quoteId/quoteIds, screenIds, providerPlan, and the owned/partner budget and impression fields are left entirely to the schema.

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

Purpose4/5

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

"Save or update an agency-owned campaign and selected inventory" gives a specific verb (upsert) and resource (campaign + inventory) plus the owning entity. It is clear but never contrasts itself with near-siblings such as prepare_campaign_booking or create_campaign_checkout, so an agent still has to guess which write path applies.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus the sibling booking/checkout/preview tools, nor any prerequisite (e.g., must a quote exist first, does this require prepare_campaign_booking). The only context given — agency owns and pays, clientName labels the brief — is ownership semantics, not usage routing.

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