# TikTok Ads

Connect an AI client to TikTok Ads to inspect campaign performance and ad assets, then prepare account changes. Write tools are off by default.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: get-mcp-ads
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/get-mcp-ads/tiktok-ads-mcp-server
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/tiktok-ads

## What it does

The server exposes 35 tools for reading TikTok Ads data and 30 tools for writes. An AI client can review campaign performance, inspect native ad assets, and prepare changes to an account. It connects over stdio MCP, with requests sent directly to TikTok Ads.

Writes are disabled by default and need explicit confirmation. Setup requires `TIKTOK_ACCESS_TOKEN`, `TIKTOK_APP_ID`, and `TIKTOK_APP_SECRET`; `TIKTOK_ADVERTISER_IDS` can restrict which ad accounts the server may access. Run it with Node.js 22.23.4, 24.22.1, 26.12.1, or a newer release. Older Node.js releases trigger a warning at startup.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `TIKTOK_ACCESS_TOKEN`, `TIKTOK_APP_ID`, `TIKTOK_ADVERTISER_IDS`, `TIKTOK_APP_SECRET`, `TIKTOK_ADVERTISER_ID`, `TIKTOK_BC_ID`, `TIKTOK_BUSINESS_CENTER_ID`, `TIKTOK_ENABLE_WRITES`, `TIKTOK_ENVIRONMENT`, `LOG_LEVEL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env TIKTOK_ACCESS_TOKEN=<TIKTOK_ACCESS_TOKEN> --env TIKTOK_APP_ID=<TIKTOK_APP_ID> --env TIKTOK_ADVERTISER_IDS=<TIKTOK_ADVERTISER_IDS> --env TIKTOK_APP_SECRET=<TIKTOK_APP_SECRET> --env TIKTOK_ADVERTISER_ID=<TIKTOK_ADVERTISER_ID> --transport stdio tiktok-ads -- npx -y @getmcpads/tiktok-ads-mcp-server
```
Replace <…> with your own values. 5 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add tiktok-ads --env TIKTOK_ACCESS_TOKEN=<TIKTOK_ACCESS_TOKEN> --env TIKTOK_APP_ID=<TIKTOK_APP_ID> --env TIKTOK_ADVERTISER_IDS=<TIKTOK_ADVERTISER_IDS> --env TIKTOK_APP_SECRET=<TIKTOK_APP_SECRET> --env TIKTOK_ADVERTISER_ID=<TIKTOK_ADVERTISER_ID> -- npx -y @getmcpads/tiktok-ads-mcp-server
```
Replace <…> with your own values. 5 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "tiktok-ads": {
            "command": "npx",
            "args": [
                "-y",
                "@getmcpads/tiktok-ads-mcp-server"
            ],
            "env": {
                "TIKTOK_ACCESS_TOKEN": "<TIKTOK_ACCESS_TOKEN>",
                "TIKTOK_APP_ID": "<TIKTOK_APP_ID>",
                "TIKTOK_ADVERTISER_IDS": "<TIKTOK_ADVERTISER_IDS>",
                "TIKTOK_APP_SECRET": "<TIKTOK_APP_SECRET>",
                "TIKTOK_ADVERTISER_ID": "<TIKTOK_ADVERTISER_ID>"
            }
        }
    }
}
```
Replace <…> with your own values. 5 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "tiktok-ads": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@getmcpads/tiktok-ads-mcp-server"
            ],
            "env": {
                "TIKTOK_ACCESS_TOKEN": "<TIKTOK_ACCESS_TOKEN>",
                "TIKTOK_APP_ID": "<TIKTOK_APP_ID>",
                "TIKTOK_ADVERTISER_IDS": "<TIKTOK_ADVERTISER_IDS>",
                "TIKTOK_APP_SECRET": "<TIKTOK_APP_SECRET>",
                "TIKTOK_ADVERTISER_ID": "<TIKTOK_ADVERTISER_ID>"
            }
        }
    }
}
```
Replace <…> with your own values. 5 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e TIKTOK_ACCESS_TOKEN=<TIKTOK_ACCESS_TOKEN> -e TIKTOK_APP_ID=<TIKTOK_APP_ID> -e TIKTOK_ADVERTISER_IDS=<TIKTOK_ADVERTISER_IDS> -e TIKTOK_APP_SECRET=<TIKTOK_APP_SECRET> -e TIKTOK_ADVERTISER_ID=<TIKTOK_ADVERTISER_ID> tiktok-ads npx -y @getmcpads/tiktok-ads-mcp-server
```
Replace <…> with your own values. 5 more environment variables are in the server README

## When to use it
- Review TikTok Ads campaign performance
- Inspect ad assets in an account
- Prepare changes to advertising settings
- Restrict server access to selected ad accounts

## Example prompts
- Review campaign performance for my TikTok Ads account.
- Show me the ad assets available in my TikTok Ads account.
- Prepare account changes and show me what would be written.

## Similar
- [Ads Manager by AdKit: Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads](https://affpapa.org/en/nevibecode/mcp/ads-manager-by-adkit-google-ads-meta-ads-tiktok-ads-linkedin-ads.md) — MCP server · ★ 18
- [adspirer-ads-agent](https://affpapa.org/en/nevibecode/plugins/adspirer-ads-agent.md) — plugin · ★ 8
- [ads](https://affpapa.org/en/nevibecode/plugins/ads.md) — plugin · ★ 18
- [Spytrend](https://affpapa.org/en/nevibecode/mcp/spytrend.md) — MCP server · ★ 30
- [paid-creative-ai](https://affpapa.org/en/nevibecode/skills/paid-creative-ai.md) — skill · ★ 85
- [creative-engine](https://affpapa.org/en/nevibecode/skills/creative-engine.md) — skill · ★ 111

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
