Skip to main content
Glama
get-mcp-ads

Snapchat Ads MCP Server

snapchat get insights

snapchat_get_insights
Read-onlyIdempotent

Read native Snapchat Ads performance stats by explicit time interval and granularity, with optional entity, audience, or delivery breakdowns for reporting.

Instructions

Read native Snapchat stats with explicit time interval (end exclusive), granularity and optional entity breakdown. Spend and monetary conversion values are micro currency. Empty test-account results are not live performance evidence. partial:true means Snap returned another page of rows.

Input Schema

NameRequiredDescriptionDefault
levelNoReporting level. Any level other than adaccounts needs entityId.adaccounts
fieldsNoNative stats fields, such as spend, impressions or swipes. See snapchat://reporting-fields.
endTimeYesInterval end, exclusive, ISO timestamp with offset.
entityIdNoCampaign, ad squad or ad UUID for that reporting level.
breakdownNoOptional entity breakdown below the reporting level.
startTimeYesInterval start, ISO timestamp with offset. Align DAY intervals to midnight in the account timezone.
adAccountIdYesSnapchat ad account UUID listed in SNAPCHAT_ADS_ACCOUNT_IDS; never an organization ID.
granularityNoTime bucketing of the returned stats.TOTAL
reportDimensionNoOptional delivery audience pivot. Describes delivery, not configured targeting.

Output Schema

NameRequiredDescriptionDefault
resultYesOriginal tool result: parsed JSON when the text is JSON, otherwise the text or multiple MCP content blocks. Provider fields depend on the selected query.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and non-destructiveness, so safety is covered; the description goes further by disclosing that monetary values are micro-currency, that 'partial:true' signals a further page of rows, and that empty test-account results should not be read as live performance. These are genuinely useful behavioral facts not present in the annotations, though auth/rate-limit context is absent.

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 tight sentences, front-loaded with the core operation, then the caveats. No filler, no restatement of the tool name, and every sentence carries a distinct fact (semantics, currency, test-account pitfall, pagination).

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 9-parameter read tool with full schema coverage and an output schema, the definition supplies exactly the missing context: interval boundaries, currency units, pagination signal, and a false-negative warning about test accounts. Return-value structure is delegated to the output schema, so nothing an agent needs to call this correctly is missing.

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 100%, so the baseline would be 3; the description earns more by surfacing two things the schema does not spell out clearly — that the end of the interval is exclusive and that spend/monetary conversions come back in micro currency. It also flags entity breakdown and granularity up front, tying them to the reporting concept.

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 ('Read native Snapchat stats') plus the shape of the operation: an explicit interval with exclusive end, granularity, and optional entity breakdown. Among the siblings (which are entity listers like get_campaigns/get_ads and spec/reference tools), this is the only reporting-stats reader, and the description makes that scope unmistakable.

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

Usage Guidelines3/5

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

Usage is implied — it is obviously the tool for pulling performance metrics over a time range — but there is no explicit 'use this when… / use X instead' routing, nor any stated prerequisites (e.g. resolving campaign UUIDs via get_campaigns first, or account ID availability). No exclusions or alternatives are named.

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