Snapchat Ads MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SNAPCHAT_ADS_CLIENT_ID | No | Client ID of your Snap Marketing API OAuth app. | |
| SNAPCHAT_ADS_ACCOUNT_IDS | Yes | Required. Comma-separated ad account UUIDs this server may use. Requests for any other account are refused before they leave your machine. Organization IDs are not ad account IDs. | |
| SNAPCHAT_ADS_ACCESS_TOKEN | No | Optional access token. Alone, it lasts until Snap expires it, after an hour. With the refresh credentials, it is used first. | |
| SNAPCHAT_ADS_CLIENT_SECRET | No | Client secret of your Snap Marketing API OAuth app. | |
| SNAPCHAT_ADS_ENABLE_WRITES | No | Defaults to false. Only the exact value true exposes the write tools. Any other value stops the server at startup. | false |
| SNAPCHAT_ADS_REFRESH_TOKEN | No | Refresh token from your own Snap Marketing API OAuth app. With the client ID and client secret, the server renews the access token in memory. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| snapchat_health_checkA | Read the selected Snapchat ad account, permissions-visible metadata, timezone, currency and test flag. Test accounts cannot serve ads. |
| snapchat_get_campaignsA | List Snapchat campaigns in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set. |
| snapchat_get_adsquadsA | List Snapchat adsquads in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set. |
| snapchat_get_adsA | List Snapchat ads in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set. |
| snapchat_get_creativesB | List Snapchat creatives in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set. |
| snapchat_get_mediaB | List Snapchat media in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set. |
| snapchat_get_segmentsC | List Snapchat segments in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set. |
| snapchat_get_creative_elementsC | 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. |
| snapchat_get_interaction_zonesB | List Snapchat interaction zones in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set. |
| snapchat_get_lead_generation_formsA | List Snapchat lead generation forms in the selected account, retaining full native configuration and pagination (next_cursor). An ad squad is an ad group/ad set. |
| snapchat_get_media_statusA | Read this account-owned media and its native processing state. Only ready:true permits creative creation; an accepted upload alone is insufficient. |
| snapchat_list_ad_creativesA | Resolve ad-linked Snapchat images/videos, Story children and Collection tiles with business names, native IDs and fresh media URLs. Incomplete formats/media are reported. No performance is inferred. Media URLs are short-lived links from Snap; this server does not download them. |
| snapchat_get_targetingA | Read configured ad squad targeting, audiences, exclusions, demographics, geo and placements. Missing fields are unknown, not proof of broad targeting. Performance breakdowns describe delivery, not configured targeting. |
| snapchat_get_entityA | Read a campaign, ad squad, ad, creative, media, segment, creative element, interaction zone or lead form with verified account ownership. |
| snapchat_get_write_schemaA | Discover implemented Snapchat creation/edit fields, required fields and preview rules. These are the fields this server accepts, not an exhaustive Snap API schema. |
| snapchat_get_insightsA | 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. |
| snapchat_get_mobile_appsA | Read Snap App IDs associated with the selected ad account before creating app promotion campaigns or mobile retargeting audiences. |
| snapchat_get_pixelsA | Read the pixels associated with the selected account before configuring conversion optimization or website audiences. |
| snapchat_get_targeting_specsA | Read separately stored targeting specs, including configurations exceeding 500 criteria. These can be omitted from the ordinary ad squad response. |
| snapchat_get_targeting_optionsB | Discover native targeting values before editing: countries, regions, languages, genders, interests and devices. Retains pagination; do not invent category IDs. |
| snapchat_get_setup_guideB | Read Snapchat campaign objectives, audience workflows, creative format prerequisites and explicit limitations. Implementation is not proof of account eligibility or live delivery. Use before claiming all features are available. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| snapchat-guide | Units, pagination, write safety, upload limits and rate limits for this server. |
| snapchat-reporting-fields | Curated stats fields and breakdowns for snapchat_get_insights. Not an exhaustive list of the Snap API. |
TDQS
Scored across 21 tools
Most tools map to a distinct resource (campaigns, adsquads, ads, media, segments, etc.), but several boundaries blur: three overlapping targeting tools (get_targeting, get_targeting_specs, get_targeting_options), the creatives pair (get_creatives vs list_ad_creatives), and a generic get_entity that duplicates every specific reader. Descriptions do help distinguish them, keeping it at a middling score rather than low.
All tools follow a consistent snapchat_<verb>_<noun> snake_case pattern, which is highly predictable. The only deviation is that most list operations use 'get' (get_campaigns, get_ads) while one uses 'list' (list_ad_creatives), a minor inconsistency.
21 tools sits at the high end but is justified by the genuinely broad ad-platform domain (campaigns, adsquads, ads, creatives, media, segments, targeting, insights, etc.). Each read tool maps to a distinct entity, so the count feels earned rather than padded, though the generic get_entity slightly adds redundancy.
The entire surface is read-only (get_/list_), with no create, update, delete, or status-toggle operations despite get_write_schema and guidance text referencing campaign/creative creation and editing. For an Ads management server this is a significant gap—agents cannot mutate anything, only inspect.