Skip to main content
Glama

Honeyfield Marketing MCP

Meta Ads: Update campaign

meta_update_campaign
Destructive

Meta-Kampagne ändern: Name, Status und/oder Tages- bzw. Laufzeitbudget. status: ACTIVE = starten, PAUSED = pausieren (zum Stoppen PAUSED nehmen — jederzeit umkehrbar), ARCHIVED = gestoppt und nur noch lesbar (Berichte bleiben, keine Auslieferung mehr), DELETED = endgültig gelöscht, NICHT umkehrbar (wie meta_delete_campaign). daily_budget / lifetime_budget: EUR, nur bei CBO-Kampagnen und nie beides (error=budget_conflict). Ohne CBO bricht das Tool mit error=budget_not_on_campaign ab — dann Budget je Adset via meta_update_adset ändern (Adsets via meta_list_adsets). Ein Wechsel Tages-↔Laufzeitbudget ist bei Meta nicht erlaubt (Meta lehnt ab, nichts wird geändert) — dafür ein neues Adset bzw. eine neue Kampagne anlegen. Enddatum: gibt es an der Kampagne nicht — Meta leitet Start/Ende aus den Adsets ab; end_time je Adset via meta_update_adset setzen. validate_only: True lässt Meta den Aufruf prüfen, ohne etwas zu ändern. Ein Erfolg heißt: Meta würde die Änderung annehmen. IDs muessen zum Werbekonto des Workspace gehoeren — IDs eines anderen Kontos (auch wenn die Meta-Verbindung es sieht) → {'error': 'foreign_object'}. workspace: Slug des Kunden-Workspace (optional bei nur einem Workspace).

Input Schema

NameRequiredDescriptionDefault
nameNo
statusNo
workspaceNo
campaign_idYes
daily_budgetNo
validate_onlyNo
lifetime_budgetNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the destructiveHint/openWorldHint annotations by spelling out reversibility per status (PAUSED reversible, ARCHIVED read-only with reports retained, DELETED permanent), the exact error contracts (budget_conflict, budget_not_on_campaign, foreign_object), and the cross-account ID restriction. It also documents validate_only as a true dry-run whose success means Meta would accept the change.

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 is front-loaded, then parameters are treated in labeled blocks (status:, daily_budget/lifetime_budget:, validate_only:) which makes skimming easy. Dense but nearly every clause carries a constraint or failure mode; a few parentheticals could be trimmed.

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 7-parameter destructive mutation tool this covers the decision-relevant surface: what can be changed, what cannot, which errors arise, how to preview safely, and where the fallback tools live. An output schema exists, so return values need not be described.

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 description coverage is 0%, so the description carries the burden and mostly succeeds: status values, budget currency/constraint rules, validate_only semantics, and optional workspace are all explained. Only campaign_id and name receive no semantic treatment beyond being named, leaving a small gap.

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 opening line names a specific verb and resource plus the exact fields it mutates ('Meta-Kampagne ändern: Name, Status und/oder Tages- bzw. Laufzeitbudget'). It is immediately distinguishable from sibling mutation tools such as meta_delete_campaign or meta_update_adset, and those siblings are named later where relevant.

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

Usage Guidelines5/5

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

Explicit routing rules: to stop temporarily use PAUSED, to delete irreversibly use DELETED/meta_delete_campaign, and if the campaign has no CBO budget, change budget per adset via meta_update_adset (with meta_list_adsets to find them). It also states what is not possible (switching daily↔lifetime budget; end dates on campaigns) and gives the required workaround.

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