Skip to content

TikTok Ads

TikTok campaigns, ad groups, ads and posts. 26 tools: 10 read, 16 write.

Tool Access What it does
nc_tiktok_select_accounts write List TikTok advertiser accounts the connected user has access to.
nc_tiktok_list_pages read List TikTok Instant Pages / Instant Forms / DM pages / storefront pages associated with an advertiser account.
nc_tiktok_list_identities read List TikTok identities (TikTok accounts) available for an advertiser.
nc_tiktok_list_posts read List organic TikTok posts available for Spark Ads Pull.
nc_tiktok_create_campaign write Create a TikTok Ads campaign.
nc_tiktok_update_campaign_status write Enable, disable, or delete a TikTok campaign.
nc_tiktok_update_campaign_budget write Update the daily or lifetime budget on an existing TikTok campaign.
nc_tiktok_rename_campaign write Rename a TikTok campaign.
nc_tiktok_list_campaigns read List TikTok campaigns for an advertiser.
nc_tiktok_create_ad_group write Create a TikTok ad group under an existing campaign.
nc_tiktok_update_ad_group write Low-level escape-hatch to update any ad group field.
nc_tiktok_update_ad_group_status write Enable, disable, or delete a TikTok ad group.
nc_tiktok_update_ad_group_budget write Update the budget on an existing TikTok ad group.
nc_tiktok_rename_ad_group write Rename a TikTok ad group.
nc_tiktok_list_ad_groups read List TikTok ad groups for an advertiser, optionally filtered by campaign.
nc_tiktok_create_image_ad write Create a TikTok image ad (single image or carousel).
nc_tiktok_create_video_ad write Create a TikTok video ad (single video).
nc_tiktok_create_ad_from_post write Create a TikTok Spark Ad from an existing organic post (Spark Ads Pull).
nc_tiktok_update_ad write Low-level escape-hatch to update any ad field via the TikTok /ad/update/ endpoint.
nc_tiktok_update_ad_status write Enable, disable, or delete a TikTok ad.
nc_tiktok_rename_ad write Rename a TikTok ad creative.
nc_tiktok_generate_ad_preview read Generate a preview URL for an existing TikTok ad.
nc_tiktok_list_ads read List TikTok ads for an advertiser.
nc_tiktok_search_targeting read Search or list TikTok targeting options for ad groups: interests, behaviours, demographics, geo locations, hashtags.
nc_tiktok_list_pixels read List TikTok Pixels for an advertiser account.
nc_tiktok_search_music read Search TikTok music tracks for use in image (carousel) ads.

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.

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

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

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

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

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

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

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

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” }.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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