Skip to main content
Glama

Save an exact audience-change draft with the current revision

native.genads_save_audience_plan
DestructiveIdempotent

Save an exact audience-change draft with the current revision. Supported changes create an empty customer list, website audience, lookalike or engagement audience, rename a provider-managed audience, or delete a whole managed audience. Sources use exact saved advertiser inventory, measurement or engagement source operations. Engagement requires the source kind, exact source ID and 1–365 day retention; Meta determines eligibility. Each source kind needs separate qualification. A customer append accepts only the batchId and batchFingerprint of a protected human upload, with that batch’s exact target. No customer records are accepted. This never approves or submits the change.

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": {
      "work_id": "<work_id>",
      "arguments": "<arguments>",
      "expected_catalog_version": "<expected_catalog_version>",
      "read_skills": "<read_skills>",
      "request_key": "<request_key>"
    },
    "name": "native.genads_save_audience_plan"
  }
}

Input Schema

NameRequiredDescriptionDefault
work_idYes
argumentsYes
read_skillsYesExact required native skills and their dependencies, copied from the accepted session bootstrap's skills array. Include only entries in that array. General mcp.* guides and native.{studio}.instructions are guidance, not native skill proofs.
request_keyYes
publication_proposal_idNoFor native Social scheduling, the exact server-approved publication proposal. This identifier cannot confer approval by itself.
expected_catalog_versionYesFor a new session, read a studios/{studio}/native/{pack} child toolset and copy invocation.catalog_version from a native tool descriptor. Do not use the top-level library version. For calls in an existing session, use that session proposal's catalog_version.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare this is a destructive, idempotent, open-world write, so the description's job is to add nuance — and it does: it clarifies the write only produces a draft that 'never approves or submits the change,' and that eligibility is determined externally by Meta rather than locally. It does not restate idempotency or explain how a delete draft behaves relative to the live audience, leaving some behavioral surface uncovered.

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?

Purpose and revision scoping are front-loaded in sentence one, followed by the supported-change inventory and then constraints — a logical order with no filler sentences. The sentence 'Each source kind needs separate qualification.' is terse to the point of mild ambiguity, but overall the density is justified by the tool's branching change model.

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 a six-parameter, nested, open-world mutation with an output schema (so return values need no explanation), the description covers what an agent must know: allowed change kinds, required source artifacts, the 1–365 retention bound, and that saving does not submit. Remaining gaps — how to obtain a batch fingerprint before calling, and how work_id/session context is sourced — are handled only partially by sibling tools and schema text.

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?

With only 50% schema description coverage and deeply nested anyOf bodies, the description carries real weight: it attaches meaning to retentionDays (1–365 for engagement), sourceId/source kind, operationId targets, batchId/batchFingerprint pairing, and expected revision. It does not explain work_id, request_key, operation_id, or accountId, and those gaps remain since the schema is silent on them too.

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?

The description opens with a specific verb+resource+scope: 'Save an exact audience-change draft with the current revision.' It then enumerates exactly what kinds of drafts are supported (create empty customer list, website, lookalike, engagement, rename, delete), which clearly separates it from read-side siblings like genads_read_audiences or genads_audience_review. It never names a sibling tool explicitly, so it falls short of a 5 on differentiation.

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?

The description gives strong in-scope guidance: the supported change kinds, the fact that each source kind needs separate qualification, engagement requires source kind + source ID + 1–365 day retention, and customer append requires exact batchId/batchFingerprint. It also sets a hard boundary: 'No customer records are accepted' and 'This never approves or submits the change.' What is missing is explicit routing against alternatives (e.g., when to use genads_audience_change or genads_audience_review instead).

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