Skip to main content
Glama
filippofinke

reddit-ads-mcp

by filippofinke

Update campaign

reddit_ads_update_campaign

Modify a Reddit Ads campaign by passing only the fields to change, including status changes to pause, archive, or delete it.

Instructions

Update a campaign. Pass only the fields to change. To delete set configured_status to DELETED, to archive set ARCHIVED. Deleting follows Reddit's rules: a campaign must be ARCHIVED first, and campaigns and ad groups can only be DELETED three hours after their last change (archive now, delete later). All money values are micro-currency (1 USD = 1000000).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesSent as {"data": {...}}. Fields: name, configured_status (ACTIVE|PAUSED|ARCHIVED|DELETED), goal_value, funding_instrument_id, spend_cap, bid_strategy, bid_type, bid_value, start_time, end_time, schedule, invoice_label, objective, use_catalog.
campaign_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare the mutation/open-world profile, but the description adds substantial undisclosed behavior: partial update semantics, the destructive two-step archive-then-delete workflow with a timing gate, and micro-currency units. It does not mention auth/permission needs, and the delete capability sits in some tension with destructiveHint=false, which keeps it from a 5.

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?

Four short sentences, front-loaded with the core action and partial-update rule, then the delete/archive workflow, then the currency footnote. Each sentence carries operational information; the '(archive now, delete later)' parenthetical reinforces rather than pads.

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 mutation tool with no output schema and a free-form nested data object, the description covers the essentials an agent needs (what to pass, how to delete/archive, currency units). It leaves some gaps around field-level constraints and immutability, but no return-value explanation is required since no output schema exists.

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?

Schema coverage is only 50% (campaign_id is undocumented), so the description must compensate, and it does so usefully: it explains configured_status values and their delete/archive effect, and clarifies that money fields use micro-currency (1 USD = 1000000). It does not address the other data fields (funding_instrument_id, schedule, bid_strategy, objective, etc.).

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 specific verb+resource ('Update a campaign') and immediately adds the partial-update rule ('Pass only the fields to change'), which is a real scoping statement. It does not explicitly name a sibling (e.g., how it differs from reddit_ads_set_status or reddit_ads_create_campaign), so it falls short of full sibling 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?

Gives concrete usage conditions: only pass changed fields, and to delete/archive set configured_status to DELETED/ARCHIVED. It also spells out Reddit's prerequisite ordering (archive first, 3-hour wait). It stops short of naming alternative tools (e.g., set_status) or stating when-not to use this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools