MCP tools

Generate ad copy

Generate ad copy (headlines, primary text, descriptions) and store it as a copyGenerationId.

Tool name: generate-copy.

Generate ad copy (headlines, primary text, descriptions) and store it as a copyGenerationId. The id is what the user later approves and attaches via updateNode, generation alone does not change any ad. Brand context (name, URL, business type, voice) is auto-loaded server-side, never ask the user for any of that.

When to use

Generate ad copy. Returns a copyGenerationId, call this freely to produce candidates; nothing is attached to any ad until you call updateNode(copyGenerationId=…). Brand context is auto-applied; never ask the user for product/service description. When creatives are attached, always pass their IDs via creativeIds.

Access

PropertyValue
Required scopewrite
PublishesNo
Read-onlyNo
DestructiveNo
IdempotentNo
Open worldYes

Input

FieldTypeRequiredDescription
platformstringYesTarget platform. Only facebook and instagram are supported, the value is stored as the copy's platform label. One of facebook, instagram.
tonestringNoTone: professional, casual, urgent, friendly. Optional, defaults to brand voice.
anglestringNoMarketing angle. Optional, only pass if the user requested a specific framing.
productDescriptionstringNoOptional override. Backend auto-fills product context from brand (name, URL, business type, voice). Only pass this if the user gave specifics that should take precedence over brand defaults.
creativeIdsnumber[]NoIDs of creatives attached to this chat. When present, the backend pulls each creative's name + stored visual analysis and feeds it to the copy LLM so the copy matches what the ad actually shows. Pass whenever creatives are listed in the ## Attachments block. Never call readDocument on image MIME types, use this param instead.

Output

The tool catalog does not declare an output schema for this tool.

REST equivalent

POST /v1/brands/{brandId}/copies, Generate ad copy. CLI: koast generate-copy.

On this page