Skip to main content
Glama

ChatGPT Ads: changes

openai_ads_changes
Destructive

ChatGPT Ads, change operations: propose_budget, propose_campaign_status, propose_ad_set_status, propose_ad_status, propose_launch, propose_ad_final_url, create_campaign, create_ad_set, create_ad, propose_openai_bidding, propose_openai_creative, propose_openai_targeting, propose_openai_schedule, propose_openai_context_hints. A change to an existing object is a proposal: it is applied only after a person approves it, or when the client's auto policy allows a reversible change within limits. New campaigns, ad sets and ads are created paused, with no spend. Parameters of an operation: get_tool_schema.

Input Schema

NameRequiredDescriptionDefault
paramsNo
operationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / operation / enum
      Previous value: -[
      -  "propose_budget",
      -  "propose_campaign_status",
      -  "propose_ad_set_status",
      -  "propose_ad_status",
      -  "propose_ad_final_url",
      -  "create_campaign",
      -  "create_ad_set",
      -  "create_ad",
      -  "propose_openai_bidding",
      -  "propose_openai_creative",
      -  "propose_openai_targeting",
      -  "propose_openai_schedule",
      -  "propose_openai_context_hints"
      -]New value: +[
      +  "propose_budget",
      +  "propose_campaign_status",
      +  "propose_ad_set_status",
      +  "propose_ad_status",
      +  "propose_launch",
      +  "propose_ad_final_url",
      +  "create_campaign",
      +  "create_ad_set",
      +  "create_ad",
      +  "propose_openai_bidding",
      +  "propose_openai_creative",
      +  "propose_openai_targeting",
      +  "propose_openai_schedule",
      +  "propose_openai_context_hints"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / operation / enum
      Previous value: -[
      -  "propose_budget",
      -  "propose_campaign_status"
      -]New value: +[
      +  "propose_budget",
      +  "propose_campaign_status",
      +  "propose_ad_set_status",
      +  "propose_ad_status",
      +  "propose_ad_final_url",
      +  "create_campaign",
      +  "create_ad_set",
      +  "create_ad",
      +  "propose_openai_bidding",
      +  "propose_openai_creative",
      +  "propose_openai_targeting",
      +  "propose_openai_schedule",
      +  "propose_openai_context_hints"
      +]
  3. Added

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare destructive, open-world, non-idempotent behavior. The description adds meaningful context beyond that: existing-object changes are proposals requiring human approval or auto-policy allowance, and new campaigns/ad sets/ads are created paused with no spend. It does not cover rollback, permissions, or return behavior, but the safety model is substantially clarified.

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 description is front-loaded with purpose and includes important behavioral notes, but the long operation enumeration duplicates the input schema's enum and consumes substantial space. Structure is clear, but some content does not earn its place.

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 complex 14-operation mutation router with 0% schema description coverage, no output schema, and nested parameters, the description covers the approval and paused-creation safety model well. However, it leaves per-operation parameter semantics and return behavior entirely to get_tool_schema, so it is not fully complete for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needs to compensate for opaque parameters, but it only says to use get_tool_schema for an operation's parameters. It does not define the `params` object or explain what fields each operation requires; the operation list largely duplicates the enum.

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 states a specific domain and resource: ChatGPT Ads change operations, and enumerates the supported operations. It is clear this is a mutation tool, though it does not explicitly say how it differs from sibling read tool openai_ads or the generic propose_change.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The operation list implies what each operation does, but there is no explicit guidance on when to use this tool versus openai_ads, propose_change, create_campaign, or other sibling tools. The approval/auto-policy sentence describes behavior, not selection criteria.

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