Skip to main content
Glama

Smart Campaign Ad Copy

dynamoi_smart_campaign_ad_copy
Destructive

Read ad copy for a Smart Campaign creation draft, or save copy by providing save with the revision read. Editor access required. Refuses submitted campaigns. Never launches, submits or publishes.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "artistId": "<artistId>",
      "campaignId": "<campaignId>"
    },
    "name": "dynamoi_smart_campaign_ad_copy"
  }
}

Input Schema

NameRequiredDescriptionDefault
saveNo
artistIdYes
campaignIdYes

Output Schema

NameRequiredDescriptionDefault
codeNo
dataNo
kindNo
fieldNo
statusYes
draftIdNo
messageNo
retryableNo
nextActionNo
failureStageNo
prerequisiteNo
screeningResultNo
retryAfterSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds auth requirements, the refusal of submitted campaigns, and the no-launch guarantee, but it never explains what the stated destructive behavior overwrites or what happens when expectedUpdatedAt is stale.

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?

Compact and front-loaded: read/save duality first, then constraints. The phrase 'by providing save with the revision read' is awkwardly constructed and slightly clouds an otherwise efficient sentence.

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

Completeness3/5

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

An output schema exists, so return values need no explanation. For a nested write tool with a required enum and optimistic-concurrency guard, though, the missing explanation of `mode` and of stale-revision conflict behavior leaves meaningful gaps.

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

Parameters3/5

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

With 0% schema description coverage the description must carry the load; it does convey the key gating semantics — presence of `save` flips to write mode, and the expected revision is what was read. However, the required `mode` enum ('assisted' vs 'preserve') is entirely unexplained despite materially changing behavior.

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?

States a concrete verb+resource pair and explicitly covers both modes (read ad copy, save copy), which distinguishes it from generic campaign tools. It does not name a sibling, but the dual read/save purpose is unambiguous.

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 real preconditions and exclusions: editor access required, submitted campaigns are refused, and it never launches/submits/publishes. The only gap is that it names no alternative tool (e.g. dynamoi_manage_smart_campaign_creative) for cases the tool declines.

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.