Skip to main content
Glama

Put library creatives into running campaigns

place_creatives

Put the business's library pictures and videos into its EXISTING running campaigns, as cards to approve: a new ad in a running Meta ad set, more pictures and videos in a running Google Performance Max asset group, a new video ad in a running Google Demand Gen ad group, or a new video ad in a running TikTok ad group (made off; the approval switches it on once TikTok passes it), wherever each fits best. Fits requests to put creatives (new uploads, 'everything new', 'what isn't on Google yet', specific ones) into what already runs, or 'in the best place'. Without creative_ids it takes the library's uploads that aren't running in any ad, aren't in a card waiting for approval and weren't placed before, newest first, up to 20 per call (the answer says how many remain). Google takes library videos with no links: once the owner approves, Taseli uploads them to the business's own YouTube channel when the owner added one (Settings › Ad accounts & access › YouTube channel for video ads), else unlisted to the channel Google keeps for the ad account; a channel problem never holds the ad. It is the owner's own ask: Taseli's reasons to wait (an ad set still learning, a campaign changed this week) are advice on the card, never a refusal; only what the platform can't take stays in the library (wrong shape or length, a full asset group, a read-only account), each with its reason. Every card waits for the owner's approval; nothing changes before. Not for new campaigns.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "place_creatives"
  }
}

Input Schema

NameRequiredDescriptionDefault
languageNoAnswer language.
creative_idsNoLibrary creative ids (creative ids, as listed in Taseli) when the owner named specific ones; omit for every new upload not running yet.

Output Schema

NameRequiredDescriptionDefault
keptNo
errorNo
filedNo
placedNo
remainingNo
proposalIdsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only flag it as a non-destructive write, so the description carries real weight: it discloses that every action materialises as a card awaiting owner approval, that nothing changes before that, the 20-item per-call default selection with newest-first ordering, and the YouTube upload path with an unlisted fallback. It also explains asymmetry between Taseli's advisory reasons versus genuine platform rejections. It stops short of describing the response payload, but an output schema covers that.

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 action and its destinations are correctly front-loaded, but the remainder is a single dense paragraph mixing eligibility rules, YouTube upload policy, approval semantics and failure modes. Nearly every sentence earns its place, yet the lack of any structural break makes it harder to scan than it needs to be for this much 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 two-parameter write tool with an output schema, the description covers the prerequisites (existing running campaigns, YouTube channel configured in settings), the side effects (approval cards, channel uploads), the volume limit, and the per-item failure reporting. Nothing an agent needs in order to call it correctly is absent.

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 baseline is 3, but the description adds genuine meaning beyond the schema: it specifies the selection semantics for omitting creative_ids (not running anywhere, not already carded, not previously placed, newest first, cap of 20) and what a partial result means ('the answer says how many remain'). The language parameter is left entirely to 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 (put) plus resource (library pictures and videos) and the exact destination class (existing running campaigns, as approval cards), enumerating the four per-platform placements. It clearly separates itself from campaign-creation siblings with the closing 'Not for new campaigns.'

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?

Gives explicit triggering request shapes ('everything new', 'what isn't on Google yet', 'in the best place'), an explicit exclusion ('Not for new campaigns'), and defines the default behaviour when creative_ids is omitted. The agent knows both when to call it and what happens on a bare call.

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