# Ads MCP

Snapchat Ads MCP Server enables supported agents to connect directly to the [Snapchat Ads API](/marketing-api/Ads-API/introduction.md). It gives agents a structured way to work with your authorized Snapchat Ads data through natural-language instructions, so they can help you review campaign setup and performance and plan next steps.

This release is **read-only**: an agent can read your Snapchat Ads data but cannot create, update, or delete anything.

## Use of Snap MCP Server[​**](#use-of-snap-mcp-server "Copy to clipboard")

When you access or use a Snap MCP server, both you and any agent acting on your behalf accept and are bound by the [Snap Developer Terms](https://www.snap.com/en-US/terms/developer). Those terms incorporate the [Snap Business Services Terms](https://www.snap.com/en-US/terms/business-services) and [Snap Business Tools Terms](https://www.snap.com/en-US/terms/snap-business-tools), and together they set the rules for how any data returned through Snap APIs may be stored, processed, shared, and displayed.

Compliance is your responsibility. If an agent or any other third party consumes your use of Snap MCP data, you must ensure it meets every obligation under these terms, including limits on how long data may be retained and when it must be deleted, and restrictions on how it may be used.

## Disclaimer - A Note on AI Agents[​**](#disclaimer---a-note-on-ai-agents "Copy to clipboard")

AI agents operate on your behalf. Whatever an agent can access under the scope you have granted, it can access directly and it may do so even if acting on instructions concealed within tool outputs (a technique known as prompt injection). Such instructions do not originate from the Snap MCP server; they come from untrusted sources the agent encounters and processes, such as webhook payloads, documents, or web pages. For that reason, you should treat any MCP server the way you would treat any other third-party integration.

## Onboarding[​**](#onboarding "Copy to clipboard")

Access is self-service. No Snap allowlist or Account Manager setup is required for read-only access. For each agent, an **Admin** or **Business Admin** approves it for the organization during sign-in. Each member then authorizes their own access. Organization approval and member authorization are **per agent**.

### Step 1: an organization admin approves the agent[​**](#step-1-an-organization-admin-approves-the-agent "Copy to clipboard")

1. Sign in from the agent using the connection steps below. You are redirected to Snapchat to sign in with the same business login you use for Ads Manager.
2. After signing in, you see the organizations you belong to. For organizations where the agent is not yet approved, you see an approval option.
3. Choose the organization and confirm. This approves the agent for the organization and connects your own access.

You must hold the **Admin** or **Business Admin** role to complete this step.

If the agent is not yet approved for your organization and you are not an **Admin** or **Business Admin**, that organization does not appear. Ask an organization admin to complete Step 1.

### Step 2: each member authorizes their own access[​**](#step-2-each-member-authorizes-their-own-access "Copy to clipboard")

Every other member then connects the same way and authorizes their own access. Authorization is per member and is never shared.

A member only ever reaches the organizations and ad accounts their existing Snapchat Ads permissions already allow. Connecting an agent grants no permission the member does not already have.

### Revoking access[​**](#revoking-access "Copy to clipboard")

* **A member** can revoke their own access at [accounts.snapchat.com/v2/manage-apps](https://accounts.snapchat.com/v2/manage-apps) by removing the Ads MCP entry, and access stops within a few minutes. That entry covers Ads MCP as a whole rather than one agent, so removing it revokes every agent that member has connected. The [Support Team](https://businesshelp.snapchat.com/) can also do it on request.
* **An organization admin** can select **Revoke** on the consent screen to remove the agent's access for everyone in the organization.

## Supported agents[​**](#supported-agents "Copy to clipboard")

Each supported agent uses a client id registered by Snap. Advertisers do not need to request or register a client id. Use the value shown below.

| Agent       | Where you set it up                                                                                                                                                              | Client id              |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------- |
| Claude      | [Claude Code](/marketing-api/Ads-MCP/connect-an-agent.md#claude-code); [Claude Desktop and Claude web](/marketing-api/Ads-MCP/connect-an-agent.md#claude-desktop-and-claude-web) | `claude-snap-ads`      |
| Codex       | [Codex CLI](/marketing-api/Ads-MCP/connect-an-agent.md#codex-cli), also usable in the ChatGPT desktop app                                                                        | `codex-snap-ads`       |
| ChatGPT     | [A connector you add in the ChatGPT web app](/marketing-api/Ads-MCP/connect-an-agent.md#chatgpt)                                                                                 | `chatgpt-snap-ads`     |
| Antigravity | [Antigravity](/marketing-api/Ads-MCP/connect-an-agent.md#antigravity)                                                                                                            | `antigravity-snap-ads` |
| Gemini      | [Gemini CLI](/marketing-api/Ads-MCP/connect-an-agent.md#gemini-cli)                                                                                                              | `gemini-snap-ads`      |

**How you add the server decides which agent you authorized, not the app you use it in.** A server added with the Codex CLI stays `codex-snap-ads` even inside the ChatGPT desktop app.

Agents from the same company are still separate: each one requires its own organization approval.

## Before you connect[​**](#before-you-connect "Copy to clipboard")

Every agent connects to the same server URL:

```
https://mcp.snapchat.com/ads
```

The agent must use the client id shown above. Other client ids and dynamic registration are not supported.

Snapchat Ads MCP currently supports read-only access. Write access is planned for a future release.

When those are in place, follow [Connect an agent](/marketing-api/Ads-MCP/connect-an-agent.md) for your agent's setup steps.
