Skip to main content
Glama

Meta ads: Set ad status

meta_set_ad_status
DestructiveIdempotent

Pause, turn on or archive one Meta ad set or ad (give adset_id or ad_id). Call without confirm first to see its current state. Turning one on spends within minutes if its campaign is on.

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": {
      "status": "<status>"
    },
    "name": "meta_set_ad_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
ad_idNo
statusYes
confirmNoLeave false to preview: nothing changes and the preview shows exactly what would happen. Set true only after the user has agreed to this exact change.
adset_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is largely covered. The description adds genuinely useful context beyond that: the two-step preview pattern and the immediate-spend consequence of activation. However, it does not warn that ARCHIVED is effectively irreversible or what happens to the other field when both ids are supplied.

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?

Three short sentences, zero filler, with the action and its target front-loaded and the risk warning placed last where it lands with impact. Every clause carries information an agent needs.

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?

For a destructive, open-world mutation with no output schema, the description covers the preview workflow and spend risk, which is the core need. Gaps remain around irreversibility of archiving, required permissions, and confirmation that the preview response describes the projected change.

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?

Schema description coverage is only 25%, with ad_id and adset_id undocumented in the schema, and the description does partially compensate by telling the agent to supply 'adset_id or ad_id' depending on the target. The status enum is self-documenting in the schema. It still leaves ambiguous whether both ids may be passed and what the precedence is.

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 names three concrete verbs (pause, turn on, archive) and a precise resource scope ('one Meta ad set or ad'), and clarifies the ad-vs-adset distinction via the id parameter. It stops short of naming the sibling meta_set_campaign_status, which an agent could confuse with this tool given the near-identical title.

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 an explicit operating sequence: call without confirm first to inspect current state, then act. It also flags the condition under which the action has real-world cost ('spends within minutes if its campaign is on'). What's missing is an explicit statement that campaign-level toggling belongs to a different tool.

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.