Skip to main content
Glama
Snapchat Ads MCP Server

Snapchat Ads MCP Server

by get-mcp-ads

snapchat get creative elements

snapchat_get_creative_elements
Read-onlyIdempotent

Retrieve Snapchat creative elements for a selected ad account with native configuration and cursor-based pagination, so you can inspect and reuse ad creative data.

Instructions

List Snapchat creative elements in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "adAccountId": "<adAccountId>"
    },
    "name": "snapchat_get_creative_elements"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum entities per page, 1 to 1000.
cursorNoOpaque cursor from the previous response's next_cursor. Omit on the first request.
adAccountIdYesSnapchat ad account UUID listed in SNAPCHAT_ADS_ACCOUNT_IDS; never an organization ID.

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. Changed2 schema fields changedv1.0.1
    • addedInput schema / properties / adAccountId / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • changedOutput schema / properties / result / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": true,
      -    "properties": {},
      -    "type": "object"
      -  },
      -  {
      -    "items": {},
      -    "type": "array"
      -  },
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {},
      +    "type": "object"
      +  },
      +  {
      +    "items": {},
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observedv1.0.0

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already establish readOnly, idempotent, non-destructive behavior, so safety is covered. The description adds real value by saying results retain "full native configuration" (unmodified payload) and that pagination works via next_cursor, but it says nothing about ordering, page-size effects, or whether child elements are expanded.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is dense and front-loaded, covering scope, payload fidelity, and pagination efficiently. The second sentence ("An ad squad is an ad group/ad set") is unrelated to this tool's operation and dilutes focus without earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values, and it does cover the pagination contract and payload fidelity. However, for a list tool sitting alongside several similar creative/media listers, the missing differentiation and any hint about element types leaves the definition only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so limit, cursor, and adAccountId are already fully documented, making baseline 3 appropriate. The description only reinforces the next_cursor pagination loop, adding no format or constraint information beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It states a verb and resource ("List Snapchat creative elements") scoped to an account, but it never clarifies what a "creative element" is relative to the sibling tools snapchat_get_creatives, snapchat_list_ad_creatives, or snapchat_get_media. The trailing note about ad squads hints at the data model rather than the tool's own scope, so an agent cannot confidently tell this apart from its closest siblings.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: no mention of when to pick this over snapchat_get_creatives or snapchat_list_ad_creatives, and no prerequisites beyond the required adAccountId already in the schema. The only implicit hint is that it is paginated, which does not route the agent between alternatives.

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