Skip to main content
Glama
Ads MCP for Snapchat

Ads MCP for Snapchat

by Usame794

snap_create_product_set

Create a product set in a Snapchat catalog by defining filter rules to group products for catalog ads; preview the request, then confirm with the approval token to apply.

Instructions

Create a product set in a catalog: a group of products chosen by a filter, for catalog ads. The filter uses Snap's rules, e.g. {"AVAILABILITY": {"EQ": "IN_STOCK"}} or {"AND": [{"PRICE_AMOUNT": {"GT": "15.50"}}, {"BRAND": {"IS_ANY": ["a", "b"]}}]}. Each attribute once, one AND/OR, up to 10 rules; ID lists up to 1000, other lists up to 15. At most 50 sets per catalog. Delivers nothing by itself. Previews unless confirm=true. Two steps: confirm=false returns a preview and an approval_token; to apply, repeat the same arguments with confirm=true and that approval_token.

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": {
      "catalog_id": "<catalog_id>",
      "name": "<name>",
      "filter": "<filter>"
    },
    "name": "snap_create_product_set"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYes
filterYesSnap product set filter
confirmNofalse = preview only (nothing sent). true = apply; needs approval_token from the preview.
catalog_idYes
approval_tokenNoThe approval_token returned by the preview of this exact request. Required with confirm=true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.1

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare the mutation profile (readOnly=false, destructive=false, idempotent=false, openWorld=true). The description adds behavior the agent could not otherwise know: the default is a no-op preview, nothing is sent without confirm=true, an approval_token from the preview must be replayed with identical arguments, and there is a hard cap of 50 sets per catalog.

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?

The purpose is stated first, followed by filter grammar, limits, and the confirm/approval workflow in that order. Every clause carries a constraint or a behavior; the inline filter examples are dense but replace several sentences of prose.

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 5-parameter nested-object mutation with no output schema, the description supplies what the agent needs: what the resource is, how to express the filter, the validation limits, and what the response contains (a preview plus approval_token). Nothing material for a correct invocation is left unstated.

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?

The schema covers confirm and approval_token but describes filter only as "Snap product set filter" with no structure, so the description carries that burden: it gives two concrete filter examples, the once-per-attribute rule, the single AND/OR restriction, and list-size limits (10 rules, 1000 IDs, 15 other values). catalog_id and name receive no added meaning, which is a minor gap given they are constrained by schema patterns.

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

Purpose4/5

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

The description pairs a specific verb and resource ("Create a product set in a catalog") with a functional definition: "a group of products chosen by a filter, for catalog ads." That definition alone separates it from snap_list_product_sets, but no sibling is named explicitly, so differentiation is inferred rather than stated.

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?

Clear operating context is given: "Delivers nothing by itself" and "Previews unless confirm=true," followed by an explicit two-step procedure for moving from preview to apply. It does not state when to prefer this over alternatives such as snap_list_product_sets or when building a set is unnecessary, so it stops short of full when/when-not guidance.

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