Skip to main content
Glama
Pinterest Ads MCP Server

Pinterest Ads MCP Server

Create campaigns

pinterest_ads_create_campaigns

Creates Pinterest Ads campaigns in a live ad account, with batch item submission, dry-run rehearsal, and confirmation for large or high-budget changes.

Instructions

Create campaigns (up to 500 per call, sent 30 at a time). Changes the live account.

items: one object per campaign, sent as-is. Example: {"name": "Spring sale", "objective_type": "SALES", "intended_promotion_type": "STANDARD_AD", "daily_spend_cap": 20000000, "is_campaign_budget_optimization": true}. objective_type is one of AWARENESS, CONSIDERATION, VIDEO_COMPLETION, SALES, LEADS, APP_INSTALL; SALES and CONSIDERATION take intended_promotion_type STANDARD_AD (ads from Pins) or CATALOG (product group promotions). start_time/end_time are Unix seconds. Money fields (daily_spend_cap, lifetime_spend_cap) are micro-units of the account currency (1.00 = 1000000). Items without a status are created PAUSED. Large batches and values over PINTEREST_ADS_MAX_BUDGET/PINTEREST_ADS_MAX_BID need confirm='APPLY'. Rehearse with dry-run first.

Input Schema

NameRequiredDescriptionDefault
itemsYes
confirmNo
ad_account_idNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Goes well past the annotations by disclosing that items without a status are created PAUSED, that changes hit the live account, that requests are throttled 30 at a time within a 500 cap, and that over-limit values require an explicit confirm token. These are exactly the side effects and guardrails an agent cannot derive from readOnlyHint=false / idempotentHint=false.

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?

Front-loads the batch limit and live-account warning, then moves into item semantics, units, and the confirm/dry-run guardrails — a sensible order with almost no filler. It reads as a dense paragraph rather than separated sections, which makes scanning slightly harder, but every sentence carries information.

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 a free-form item payload and an output schema present (so return values need no explanation), this covers limits, defaults, units, enums, and confirmation requirements. What's missing is the meaning/role of ad_account_id and any note on partial-failure behavior in a 500-item batch.

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 0% and items is a free-form object array, so the description carries the full burden — and it does: it gives an example item, enumerates objective_type values, states the SALES/CONSIDERATION → STANDARD_AD/CATALOG constraint, defines Unix-second timestamps, and defines micro-unit money fields. It also explains the confirm value required. Only ad_account_id is left uninterpreted, which is a minor residual 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?

States a specific verb and resource (create campaigns) plus the batch scope (up to 500 per call, sent 30 at a time) and the effect on the live account. The verb makes the split from pinterest_ads_update_campaigns and pinterest_ads_archive_campaigns obvious without needing to open any 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?

Gives concrete operating conditions: rehearse with dry-run first, and confirm='APPLY' is needed for large batches and values above PINTEREST_ADS_MAX_BUDGET/PINTEREST_ADS_MAX_BID. It stops short of explicitly naming an alternative tool (e.g. bulk_upsert or request) or stating when not to use it, so the agent must infer routing from names alone.

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