Skip to main content
Glama

Edit ad set placements

ads_ad_set_placements

[writes · ads:manage scope] Changes where an existing ad set runs. excludeAudienceNetwork: true keeps Facebook, Instagram and Messenger and drops Audience Network; or pass an explicit publisherPlatforms list. id is the ad set id from ads_campaign_get. Pass agentName and reason. Audited in Ads > Agent activity. It cannot be undone from there: to change it back, call this tool again with the earlier settings. (Wraps POST /api/v2/ads/ad-sets/{id}/placements.)

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": {
      "id": "<id>",
      "agentName": "<agentName>",
      "reason": "<reason>"
    },
    "name": "ads_ad_set_placements"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
reasonYesWhy the agent is doing this. Shown to the owner and kept in the audit trail.
brandIdNoA brand id (GET /api/v2/brands) or "personal"; default: the key owner's active brand.
agentNameYesWhich agent is acting. Shown to the owner in Ads > Agent activity.
publisherPlatformsNo
excludeAudienceNetworkNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations it discloses the OAuth scope required (`ads:manage`), that the action is audited in Ads > Agent activity, and the reversal path: there is no undo in the activity view, so restoring prior settings requires another call. That is exactly the post-annotations context an agent needs before a mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded tag `[writes · ads:manage scope]`, then mutation semantics, then the two parameter modes, then audit/reversal, then the underlying endpoint. No filler sentences; each line adds operational 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 6-parameter mutation with no output schema, the description covers scope, required metadata, both parameter modes, audit trail and reversal behavior. An agent has everything needed to call it correctly and predict the consequences.

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

Parameters5/5

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

Schema coverage is only 50% and the two placement parameters have no schema descriptions, but the description compensates fully: `excludeAudienceNetwork: true` keeps Facebook, Instagram and Messenger and drops Audience Network, while `publisherPlatforms` takes explicit platforms. It also explains `id`'s origin and why agentName/reason are mandatory.

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?

The description opens with a specific verb+resource: "Changes where an existing ad set runs," which names the placements object precisely. It also states the reverse direction (id comes from ads_campaign_get), letting an agent place the tool relative to its siblings without inspecting the schema.

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?

It gives clear in-context guidance: either use `excludeAudienceNetwork: true` or pass an explicit `publisherPlatforms` list, plus practical preconditions (pass agentName and reason, id sourced from ads_campaign_get). There is no explicit "when not to use" or named alternative among the many sibling tools, which keeps it below 5.

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