Skip to main content
Glama
Pinterest Ads MCP Server

Pinterest Ads MCP Server

Request an ads report

pinterest_ads_create_report
Read-only

Request an ads report for a Pinterest ad account; Pinterest builds it in the background, returning a token to poll and download. Use it to generate performance reports without changing account data.

Instructions

Request an ads report. Pinterest builds it in the background: poll pinterest_ads_get_report with the returned token, then call pinterest_ads_download_report (or use pinterest_ads_run_report to do all three). Changes nothing in the account.

level: ADVERTISER, CAMPAIGN, AD_GROUP, PIN_PROMOTION (ads), KEYWORD, PRODUCT_GROUP, PRODUCT_ITEM, or a *_TARGETING level with targeting_types (up to 5, e.g. ['LOCATION']). Dates are YYYY-MM-DD; granularity TOTAL, DAY, WEEK, MONTH or HOUR. filters adds other request fields, e.g. {"campaign_ids": ["..."], "campaign_statuses": ["RUNNING"]} (campaign_objective_types should include SALES and LEADS, not only the retiring CATALOG_SALES and WEB_CONVERSION). report_format JSON (default) or CSV. To re-run a report saved in Ads Manager, pass template_id (see pinterest_ads_list_report_templates) with dates and granularity only.

Common columns: SPEND_IN_DOLLAR (account currency, despite the name), PAID_IMPRESSION, IMPRESSION_1, CLICKTHROUGH_1 (Pin clicks), OUTBOUND_CLICK_1, CTR, OUTBOUND_CTR_1, CPC_IN_MICRO_DOLLAR, CPM_IN_DOLLAR, TOTAL_ENGAGEMENT, TOTAL_CONVERSIONS, TOTAL_CHECKOUT, TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR, CHECKOUT_ROAS, TOTAL_ADD_TO_CART, TOTAL_LEAD, TOTAL_SIGNUP, CAMPAIGN_NAME, CAMPAIGN_ID. _1 metrics are paid, _2 earned (saves of ads). pinterest_ads_list_metrics lists every column with its definition. HOUR granularity no longer includes conversion metrics.

Input Schema

NameRequiredDescriptionDefault
levelNo
columnsNo
filtersNo
end_dateYes
start_dateYes
granularityNoDAY
template_idNo
ad_account_idNo
report_formatNoJSON
targeting_typesNo
view_window_daysNo
click_window_daysNo
reporting_timezoneNo
conversion_report_timeNo
engagement_window_daysNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Changes nothing in the account' while adding behavior annotations cannot express: the report is built in the background and requires polling plus a token handoff. It also discloses temporal quirks such as HOUR granularity no longer including conversion metrics, and warns that campaign_objective_types should include SALES and LEADS rather than the retiring values.

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?

The workflow and the 'changes nothing' reassurance are front-loaded, and the parameter guidance is grouped sensibly (level → dates → granularity → filters → format → template). The long column glossary is genuinely useful for choosing report columns, though it is dense enough to make the description read as a wall of text.

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 an async report-creation tool with 15 parameters and an output schema, the description covers the lifecycle, the sibling handoffs, the level/granularity/format choices, and common column semantics. Attribution-window parameters are the only notable omission, and the pointer to pinterest_ads_list_metrics for full column definitions closes the other documentation loop.

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 0%, so the description carries the full burden, and it does substantial work: valid level values, the ≤5 targeting_types link to *_TARGETING levels, date format YYYY-MM-DD, granularity enum, the shape of filters with concrete campaign_ids/campaign_statuses examples, report_format JSON/CSV, and template_id semantics. Six parameters remain unexplained — ad_account_id, view_window_days, click_window_days, engagement_window_days, reporting_timezone, and conversion_report_time — which is the main gap for a 15-parameter tool.

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?

Opens with a specific verb+resource ('Request an ads report') and immediately scopes it as an async job rather than an inline result. It distinguishes itself from pinterest_ads_get_report, pinterest_ads_download_report, and pinterest_ads_run_report by naming them and their roles, so an agent can place this tool in a workflow without opening 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 Guidelines5/5

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

Gives an explicit decision path: call this, poll pinterest_ads_get_report with the returned token, then pinterest_ads_download_report — or use pinterest_ads_run_report to collapse all three. It also names an alternative mode (template_id for saved Ads Manager reports, with a pointer to pinterest_ads_list_report_templates) and the constraints on that mode (dates and granularity only).

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