TikTok Ads
TikTok campaigns, ad groups, ads and posts. 26 tools: 10 read, 16 write.
| Tool | Access | What it does |
|---|---|---|
nc_ |
write | List TikTok advertiser accounts the connected user has access to. |
nc_ |
read | List TikTok Instant Pages / Instant Forms / DM pages / storefront pages associated with an advertiser account. |
nc_ |
read | List TikTok identities (TikTok accounts) available for an advertiser. |
nc_ |
read | List organic TikTok posts available for Spark Ads Pull. |
nc_ |
write | Create a TikTok Ads campaign. |
nc_ |
write | Enable, disable, or delete a TikTok campaign. |
nc_ |
write | Update the daily or lifetime budget on an existing TikTok campaign. |
nc_ |
write | Rename a TikTok campaign. |
nc_ |
read | List TikTok campaigns for an advertiser. |
nc_ |
write | Create a TikTok ad group under an existing campaign. |
nc_ |
write | Low-level escape-hatch to update any ad group field. |
nc_ |
write | Enable, disable, or delete a TikTok ad group. |
nc_ |
write | Update the budget on an existing TikTok ad group. |
nc_ |
write | Rename a TikTok ad group. |
nc_ |
read | List TikTok ad groups for an advertiser, optionally filtered by campaign. |
nc_ |
write | Create a TikTok image ad (single image or carousel). |
nc_ |
write | Create a TikTok video ad (single video). |
nc_ |
write | Create a TikTok Spark Ad from an existing organic post (Spark Ads Pull). |
nc_ |
write | Low-level escape-hatch to update any ad field via the TikTok /ad/update/ endpoint. |
nc_ |
write | Enable, disable, or delete a TikTok ad. |
nc_ |
write | Rename a TikTok ad creative. |
nc_ |
read | Generate a preview URL for an existing TikTok ad. |
nc_ |
read | List TikTok ads for an advertiser. |
nc_ |
read | Search or list TikTok targeting options for ad groups: interests, behaviours, demographics, geo locations, hashtags. |
nc_ |
read | List TikTok Pixels for an advertiser account. |
nc_ |
read | Search TikTok music tracks for use in image (carousel) ads. |
nc_tiktok_select_accounts
Section titled “nc_tiktok_select_accounts”write Needs mcp:write on an OAuth or MCP-server token.
List TikTok advertiser accounts the connected user has access to. Returns advertiser_id + name for each account. Use to discover which advertiser_id to pass to other nc_tiktok_* tools. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | NexaCloser connections.id for the TikTok connection. |
nc_tiktok_list_pages
Section titled “nc_tiktok_list_pages”read Works with mcp:read.
List TikTok Instant Pages / Instant Forms / DM pages / storefront pages associated with an advertiser account. Returns page_id + name + type. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | TikTok advertiser id. |
page_size |
integer | Default: 50 · Min 1 · Max 100 |
nc_tiktok_list_identities
Section titled “nc_tiktok_list_identities”read Works with mcp:read.
List TikTok identities (TikTok accounts) available for an advertiser. Used for Spark Ads — identity_id is required when creating ads from organic posts. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
page_size |
integer | Default: 50 · Min 1 · Max 100 |
nc_tiktok_list_posts
Section titled “nc_tiktok_list_posts”read Works with mcp:read.
List organic TikTok posts available for Spark Ads Pull. Returns item_id + cover + create_time + video_id for each post. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
identity_id |
string | yes | TikTok identity id from nc_tiktok_list_identities. |
page_size |
integer | Default: 50 · Min 1 · Max 100 |
nc_tiktok_create_campaign
Section titled “nc_tiktok_create_campaign”write Needs mcp:write on an OAuth or MCP-server token.
Create a TikTok Ads campaign. Always created in DISABLE (paused) state — caller must approve before enabling. Use dry_run: true to preview. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
name |
string | yes | Max length 512 |
objective_type |
string | yes | TikTok campaign objective. · One of: TRAFFIC, LEAD_GENERATION, CONVERSIONS, APP_INSTALL, VIDEO_VIEWS, REACH, ENGAGEMENT, FOLLOWERS, CATALOG_SALES, SHOP_PURCHASES |
campaign_type |
string | Default REGULAR_CAMPAIGN. Use SMART_PERFORMANCE_CAMPAIGN for Smart+ automation. · One of: REGULAR_CAMPAIGN, IOS14_CAMPAIGN, SMART_PERFORMANCE_CAMPAIGN |
|
budget_mode |
string | One of: BUDGET_MODE_DAY, BUDGET_MODE_TOTAL, BUDGET_MODE_INFINITE |
|
budget |
number | Daily or total budget in account currency. Required unless budget_mode=BUDGET_MODE_INFINITE. | |
dry_run |
boolean |
nc_tiktok_update_campaign_status
Section titled “nc_tiktok_update_campaign_status”write Needs mcp:write on an OAuth or MCP-server token.
Enable, disable, or delete a TikTok campaign. ENABLE = live, DISABLE = paused, DELETE = soft-delete. Use dry_run: true to preview. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
campaign_id |
string | yes | |
operation_status |
string | yes | One of: ENABLE, DISABLE, DELETE |
dry_run |
boolean |
nc_tiktok_update_campaign_budget
Section titled “nc_tiktok_update_campaign_budget”write Needs mcp:write on an OAuth or MCP-server token.
Update the daily or lifetime budget on an existing TikTok campaign. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
campaign_id |
string | yes | |
budget |
number | yes | New budget in account currency. |
budget_mode |
string | One of: BUDGET_MODE_DAY, BUDGET_MODE_TOTAL |
|
dry_run |
boolean |
nc_tiktok_rename_campaign
Section titled “nc_tiktok_rename_campaign”write Needs mcp:write on an OAuth or MCP-server token.
Rename a TikTok campaign. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
campaign_id |
string | yes | |
new_name |
string | yes | Max length 512 |
dry_run |
boolean |
nc_tiktok_list_campaigns
Section titled “nc_tiktok_list_campaigns”read Works with mcp:read.
List TikTok campaigns for an advertiser. Supports status and objective_type filters. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
page_size |
integer | Default: 100 · Min 1 · Max 100 |
|
filtering |
object | Optional TikTok filter object, e.g. { “status”: “CAMPAIGN_STATUS_ENABLE” }. |
nc_tiktok_create_ad_group
Section titled “nc_tiktok_create_ad_group”write Needs mcp:write on an OAuth or MCP-server token.
Create a TikTok ad group under an existing campaign. Always created in DISABLE (paused) state. Supports standard, Search, and Smart+ campaign types. Use dry_run: true to preview. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
campaign_id |
string | yes | |
name |
string | yes | Max length 512 |
budget |
number | yes | Ad group budget in account currency. |
budget_mode |
string | One of: BUDGET_MODE_DAY, BUDGET_MODE_TOTAL · Default: "BUDGET_MODE_DAY" |
|
placement_type |
string | One of: PLACEMENT_TYPE_AUTOMATIC, PLACEMENT_TYPE_NORMAL · Default: "PLACEMENT_TYPE_AUTOMATIC" |
|
optimization_goal |
string | e.g. CLICK, REACH, CONVERSION, VIDEO_VIEW. | |
bid_price |
number | ||
billing_event |
string | e.g. CPC, CPM, oCPM. | |
audience |
object | Raw TikTok audience targeting object (age, gender, geo locations, etc.). | |
schedule_start_time |
integer | Unix timestamp (UTC). Defaults to now. | |
schedule_end_time |
integer | Unix timestamp (UTC). Omit for no end date. | |
dry_run |
boolean |
nc_tiktok_update_ad_group
Section titled “nc_tiktok_update_ad_group”write Needs mcp:write on an OAuth or MCP-server token.
Low-level escape-hatch to update any ad group field. Pass a raw TikTok ad group update payload in patch. The advertiser_id and adgroup_id are stamped automatically. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
adgroup_id |
string | yes | |
patch |
object | yes | Raw TikTok /adgroup/update/ fields (excluding advertiser_id and adgroup_id). |
dry_run |
boolean |
nc_tiktok_update_ad_group_status
Section titled “nc_tiktok_update_ad_group_status”write Needs mcp:write on an OAuth or MCP-server token.
Enable, disable, or delete a TikTok ad group. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
adgroup_id |
string | yes | |
operation_status |
string | yes | One of: ENABLE, DISABLE, DELETE |
dry_run |
boolean |
nc_tiktok_update_ad_group_budget
Section titled “nc_tiktok_update_ad_group_budget”write Needs mcp:write on an OAuth or MCP-server token.
Update the budget on an existing TikTok ad group. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
adgroup_id |
string | yes | |
budget |
number | yes | |
budget_mode |
string | One of: BUDGET_MODE_DAY, BUDGET_MODE_TOTAL |
|
dry_run |
boolean |
nc_tiktok_rename_ad_group
Section titled “nc_tiktok_rename_ad_group”write Needs mcp:write on an OAuth or MCP-server token.
Rename a TikTok ad group. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
adgroup_id |
string | yes | |
new_name |
string | yes | Max length 512 |
dry_run |
boolean |
nc_tiktok_list_ad_groups
Section titled “nc_tiktok_list_ad_groups”read Works with mcp:read.
List TikTok ad groups for an advertiser, optionally filtered by campaign. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
campaign_id |
string | Filter to a specific campaign. | |
page_size |
integer | Default: 100 · Min 1 · Max 100 |
nc_tiktok_create_image_ad
Section titled “nc_tiktok_create_image_ad”write Needs mcp:write on an OAuth or MCP-server token.
Create a TikTok image ad (single image or carousel). Pass one image_id for single, multiple for carousel. Forced DISABLE on create. Use dry_run: true to preview. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
adgroup_id |
string | yes | |
name |
string | yes | Max length 512 |
image_ids |
string[] | yes | TikTok image_id values from the creative library. 1 = single image, 2+ = carousel. · Min items 1 |
ad_text |
string | yes | Max length 100 |
call_to_action |
string | e.g. LEARN_MORE, SIGN_UP, SHOP_NOW, DOWNLOAD_NOW. | |
landing_page_url |
string | ||
display_name |
string | ||
identity_id |
string | TikTok identity id for Spark Ads identity. | |
tiktok_page_id |
string | TikTok page id (DM page, Instant Page, etc.). | |
dry_run |
boolean |
nc_tiktok_create_video_ad
Section titled “nc_tiktok_create_video_ad”write Needs mcp:write on an OAuth or MCP-server token.
Create a TikTok video ad (single video). Forced DISABLE on create. Use nc_tiktok_create_ad_from_post for Spark Ads from organic posts. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
adgroup_id |
string | yes | |
name |
string | yes | Max length 512 |
video_id |
string | yes | TikTok video_id from the creative library. |
ad_text |
string | yes | Max length 100 |
call_to_action |
string | ||
landing_page_url |
string | ||
display_name |
string | ||
identity_id |
string | ||
tiktok_page_id |
string | ||
image_id |
string | Cover image id for the video thumbnail. | |
dry_run |
boolean |
nc_tiktok_create_ad_from_post
Section titled “nc_tiktok_create_ad_from_post”write Needs mcp:write on an OAuth or MCP-server token.
Create a TikTok Spark Ad from an existing organic post (Spark Ads Pull). Requires the item_id from nc_tiktok_list_posts and an identity_id from nc_tiktok_list_identities. Forced DISABLE on create. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
adgroup_id |
string | yes | |
name |
string | yes | Max length 512 |
item_id |
string | yes | Organic post item_id from nc_tiktok_list_posts. |
identity_id |
string | yes | TikTok identity id from nc_tiktok_list_identities. |
call_to_action |
string | ||
landing_page_url |
string | ||
dry_run |
boolean |
nc_tiktok_update_ad
Section titled “nc_tiktok_update_ad”write Needs mcp:write on an OAuth or MCP-server token.
Low-level escape-hatch to update any ad field via the TikTok /ad/update/ endpoint. Pass raw creative fields in patch (excluding ad_id). Supports both standard and Smart+ ads. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
ad_id |
string | yes | |
patch |
object | yes | Raw TikTok /ad/update/ creative fields (excluding advertiser_id and ad_id). |
dry_run |
boolean |
nc_tiktok_update_ad_status
Section titled “nc_tiktok_update_ad_status”write Needs mcp:write on an OAuth or MCP-server token.
Enable, disable, or delete a TikTok ad. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
ad_id |
string | yes | |
operation_status |
string | yes | One of: ENABLE, DISABLE, DELETE |
dry_run |
boolean |
nc_tiktok_rename_ad
Section titled “nc_tiktok_rename_ad”write Needs mcp:write on an OAuth or MCP-server token.
Rename a TikTok ad creative. Requires marketing.edit.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
ad_id |
string | yes | |
new_name |
string | yes | Max length 512 |
dry_run |
boolean |
nc_tiktok_generate_ad_preview
Section titled “nc_tiktok_generate_ad_preview”read Works with mcp:read.
Generate a preview URL for an existing TikTok ad. Returns a preview_url valid for ~24 hours. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
ad_id |
string | yes |
nc_tiktok_list_ads
Section titled “nc_tiktok_list_ads”read Works with mcp:read.
List TikTok ads for an advertiser. Optionally filter by campaign_id or adgroup_id. Returns id, name, status, format, video_id, image_ids, ad_text, CTA, landing URL. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
campaign_id |
string | ||
adgroup_id |
string | ||
page_size |
integer | Default: 100 · Min 1 · Max 100 |
nc_tiktok_search_targeting
Section titled “nc_tiktok_search_targeting”read Works with mcp:read.
Search or list TikTok targeting options for ad groups: interests, behaviours, demographics, geo locations, hashtags. Use before creating ad groups to find valid targeting IDs. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
targeting_type |
string | Type of targeting to search/list. · One of: INTEREST, BEHAVIOR, GEO, HASHTAG, LANGUAGE |
|
keyword |
string | Optional search keyword to filter results. | |
page_size |
integer | Default: 50 · Min 1 · Max 200 |
nc_tiktok_list_pixels
Section titled “nc_tiktok_list_pixels”read Works with mcp:read.
List TikTok Pixels for an advertiser account. Returns pixel_code, pixel_id, name, status. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
page_size |
integer | Default: 100 · Min 1 · Max 100 |
nc_tiktok_search_music
Section titled “nc_tiktok_search_music”read Works with mcp:read.
Search TikTok music tracks for use in image (carousel) ads. Returns music_id, title, artist, duration_ms. Read-only.
| Argument | Type | Required | Description |
|---|---|---|---|
connection_id |
string | yes | |
advertiser_id |
string | yes | |
keyword |
string | Search keyword for track title or artist. | |
page_size |
integer | Default: 50 · Min 1 · Max 100 |
