Snapchat Ads MCP server: setup in Claude Code and Desktop
Add the Snapchat Ads MCP server to Claude with the claude-snap-ads client id, sign in, and know that this release is read-only. Commands from Snap's docs.

To connect Claude Code to the Snapchat Ads MCP server, run claude mcp add --transport http --client-id claude-snap-ads snap-ads https://mcp.snapchat.com/ads, then claude mcp login snap-ads and sign in with Snapchat. Those two commands, and the Claude Desktop steps below, are from Snap's own pages.
Snap says this release is read-only, so the connection lets Claude read your ad data and nothing else. The commands come from Snap's connect an agent page, read 2026-09-29.
What are the exact commands for Claude Code?
Snap gives the server name snap-ads, the endpoint https://mcp.snapchat.com/ads and the Claude client id claude-snap-ads. The --client-id flag matters: it is how Claude presents the id Snap registered for it.
claude mcp add --transport http --client-id claude-snap-ads snap-ads https://mcp.snapchat.com/ads
claude mcp login snap-adsHow do I add it to Claude Desktop or Claude on the web?
Snap lists three routes for Claude. For Claude Desktop or web, open Settings, then Connectors, then Add custom connector. Enter the URL https://mcp.snapchat.com/ads, set the OAuth client id to claude-snap-ads, leave the secret empty, and finish the Snapchat sign-in.
A third route, for Claude Desktop with a local bridge, edits claude_desktop_config.json to run npx -y mcp-remote@0.1.38 against the same URL with a static OAuth client of claude-snap-ads and scope snapads.read. Copy that JSON from Snap's page rather than retyping it.
What can Claude do once it is connected?
Read your Snapchat Ads data, and that is all. Snap's introduction says an agent cannot create, update or delete anything in this release, so a prompt such as "pause that campaign" cannot succeed through this server. Use it for questions that only need data: what is running, how it is performing, how accounts are organized. The scope Snap lists for every agent is snapads.read, which matches that read-only description. What the server exposes beyond that is best discovered by asking Claude to list the tools it sees after you sign in.
If you later want the agent to do more than read, that is a change on Snap's side, not a setting in Claude. See what the read-only server lets an agent do.
Who has to approve before I can sign in?
Your organization first. Snap says an Admin or Business Admin must approve the agent by signing in and confirming the organization; every other member then connects the same way and authorizes their own access. Members only reach ad accounts their existing Snapchat permissions allow. The full flow is in [the org admin approval guide.
How does this compare with connecting Sume's MCP server?
Sume's MCP quickstart does not pass a client id for Claude Code. To run both in one session, see two MCP servers in one agent.
| Snapchat Ads MCP | Sume MCP | |
|---|---|---|
| Endpoint | https://mcp.snapchat.com/ads | https://mcp.sume.com/mcp |
| Claude Code add | --client-id claude-snap-ads and name snap-ads | claude mcp add --transport http sume https://mcp.sume.com/mcp |
| Then | claude mcp login snap-ads | claude mcp login sume |
Sources
Related posts
More in Integrations
- Spring Retry and @Retryable for a paid API call in Spring 7
Spring Retry is archived; Spring Framework 7 has @Retryable in core. For a paid API call, narrow the exceptions, back off, and pass one idempotency key in.
- Stripe checkout webhook: start a paid job once per payment
Listen for checkout.session.completed, verify the signature on the raw body, answer 2xx fast, then start the job keyed by the Checkout Session id.
- Suno MCP: making music from Claude, and what Sume's MCP has
No Suno MCP server is in Sume's docs. Sume's hosted MCP does expose a music_create tool for Lyria-based music, and paid calls need an idempotency_key.
- Tenacity retry in Python: safe settings for a paid API POST
Bare @retry in tenacity retries forever with no wait. For a paid POST, cap attempts, add jittered backoff, retry only transient errors, and reuse one key.
Written by Sume