TikTok Ads

TikTok Marketing API for short-form video advertising

17 tools available

Installation

Claude Desktop

{
  "mcpServers": {
    "hopkin-tiktok-ads": {
      "url": "https://mcp.hopkin.ai/tiktok-ads/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

CLI

npm install -g @hopkin/cli
hopkin auth set-key hpk_live_...
hopkin tiktok ping

Platform Overview

The TikTok Ads MCP server enables AI assistants to read and analyze TikTok short-form video advertising campaigns, creatives, and performance data. It integrates with TikTok's Marketing API to help users monitor campaign performance, explore audience demographics, review creative metrics, and manage their advertising hierarchy across multiple advertiser accounts.

Your prompt → Claude + Hopkin → TikTok Marketing API v1.3
                                    ↓
                              Advertiser Accounts
                              Campaign Data
                              Ad Groups & Ads
                              Video Performance
                              Audience Demographics
                              Creative Metrics

Common Workflows

Performance Reporting

"Show me how my TikTok campaigns performed over the last 7 days."

Uses tiktok_ads_get_performance_report with date preset "last_7d" and level "campaign". Returns spend, impressions, clicks, conversions, and engagement metrics aggregated by campaign and day.

"Break down my ad group performance by age group and country to see which demographics convert best."

Uses tiktok_ads_get_insights with data_level "AUCTION_ADGROUP", report_type "AUDIENCE", and dimensions ["age_group", "country"]. Returns demographic breakdowns with conversion and cost metrics.

"What are the video completion rates for my ads over the past 30 days?"

Uses tiktok_ads_get_creative_report with date preset "last_30d". Returns video watch metrics including p25/p50/p75/p100 completion rates, video views, and average watch time per creative.

Campaign Management

"List all my TikTok advertiser accounts."

Uses tiktok_ads_list_advertisers to fetch all accessible advertiser accounts with status, currency, and timezone info. Returns cached results with sync timestamp.

"Show me all active campaigns for advertiser ID 12345."

Uses tiktok_ads_list_campaigns with advertiser_id "12345" and status filter ["STATUS_ON"]. Returns campaign names, objectives, budgets, and budget modes.

"Get the details of a specific ad group and its associated ads."

Uses tiktok_ads_get_ad_group to fetch ad group details, then tiktok_ads_list_ads with the ad_group_id filter to list all ads in that group. Shows targeting, budget, optimization goal, and ad-level status.

Video & Creative Analysis

"Which videos in my campaigns are getting the most engagement?"

Uses tiktok_ads_get_creative_report to fetch ad-level metrics including video_play_actions, impressions, and spend. Returns per-creative breakdowns sorted by engagement.

"Show me a preview of the creatives in my top-performing campaign with their engagement metrics overlaid."

Uses tiktok_ads_preview_ads with ad IDs and custom metrics (e.g., impressions, clicks) to render visual previews of TikTok ads with configurable metric labels in an interactive UI.

"What's the audience split for my ad group by placement (Feed vs Explore)?"

Uses tiktok_ads_get_insights with dimensions ["placement"] and data_level "AUCTION_ADGROUP" to break down performance by where ads appear on TikTok.

Recipes

"I need a comprehensive performance summary of my TikTok account. List all my campaigns, show overall metrics for the last 14 days, and break down spend by ad group."

Calls tiktok_ads_list_campaigns to enumerate campaigns, then tiktok_ads_get_performance_report with level "adgroup" and date_preset "last_14d" to fetch granular spend, impressions, and conversion metrics for each ad group across all campaigns.

"Compare the video completion rates of my three best campaigns to identify which creative style resonates most with viewers."

Uses tiktok_ads_list_campaigns to fetch all campaigns, then calls tiktok_ads_get_creative_report with each campaign_id filtered to get ad-level video metrics (p25/p50/p75/p100 completion rates). Compares average completion rates across the three campaigns to find the pattern.

"I want to audit which audiences are delivering the best ROI. Show me a demographic breakdown (age, gender, country) of spend and conversions for my ad groups."

Uses tiktok_ads_list_ad_groups to get ad group IDs, then calls tiktok_ads_get_insights with data_level "AUCTION_ADGROUP", report_type "AUDIENCE", and dimensions ["age_group", "gender", "country"] to return spend, conversion, and cost_per_conversion for each demographic segment.

"Create a visual report of my top-performing ads with their video metrics embedded as overlays."

Uses tiktok_ads_get_creative_report to fetch ad IDs and their video metrics (impressions, video_play_actions, completion rates), then calls tiktok_ads_preview_ads with those ad IDs and metrics to render interactive previews showing creative content with performance data.

"I need to investigate why one of my campaigns underperformed. Show me the campaign details, all ad groups within it, and the daily performance trend for the past 30 days."

Uses tiktok_ads_get_campaign to fetch campaign metadata, tiktok_ads_list_ad_groups with campaign_ids filter to list ad groups, then tiktok_ads_get_performance_report with level "campaign", the campaign_id, date range for 30 days, and dimensions ["stat_time_day"] to show daily spend/impressions/conversions trends.

"I want to check my auth status and verify I have access to all my TikTok advertiser accounts."

Uses tiktok_ads_check_auth_status to verify the connection and auth method, then tiktok_ads_get_user_info to see the authenticated user's profile (email, role), and finally tiktok_ads_list_advertisers to confirm all accessible advertiser accounts are visible.

Tips

  • Always provide advertiser_id for most operations: TikTok requires an advertiser ID (equivalent to Meta's ad account or Google's customer ID) for nearly every API call. Use tiktok_ads_list_advertisers first if you don't know the ID, or ask the user for it.
  • Video-specific metrics are in the creative report: If you need completion rates, video play actions, or watch-time metrics, use tiktok_ads_get_creative_report instead of tiktok_ads_get_performance_report. The creative report returns TikTok-specific video engagement data with p25/p50/p75/p100 watch percentages.
  • Use insights with dimensions for flexible analysis: tiktok_ads_get_insights accepts custom dimension arrays (age_group, gender, country, placement, stat_time_day) and report types (BASIC vs AUDIENCE), making it ideal for demographic breakdowns and flexible pivoting. Performance reports are fixed to campaign/adgroup/ad levels and standard metrics.
  • Cached data refreshes in the background: List operations (campaigns, ad groups, ads, audiences) return cached data with a cached: true flag and synced_at timestamp. Pass refresh: true if you need a synchronous fetch, but background refresh is automatic for non-refresh calls—results update without blocking.

Tools

ad-groups

tiktok_ads_list_ad_groups List TikTok Ad Groups

Read-onlyIdempotentOpen-world

List TikTok ad groups for an advertiser. Shows name, status, targeting, and budget.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
reason requiredstringWhy this tool call is needed
8 optional parameters
ParameterTypeDescription
limitintegerMaximum number of results to return (1–100). Default: 20.
cursorstringOpaque pagination cursor from a previous response.
refreshbooleanForce a fresh fetch bypassing the cache.
adgroup_idstringFetch a single ad group by ID.
adgroup_idsarrayFetch specific ad groups by IDs.
campaign_idsarrayFilter by parent campaign IDs.
statusarrayFilter by primary status.
searchstringSearch ad groups by name (case-insensitive).
View full documentation →

ad-group

tiktok_ads_get_ad_group Get TikTok Ad Group

Read-onlyIdempotentOpen-world

Get details for a single TikTok ad group by ID.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
adgroup_id requiredstringAd group ID.
reason requiredstringWhy this tool call is needed
View full documentation →

ads

tiktok_ads_list_ads List TikTok Ads

Read-onlyIdempotentOpen-world

List TikTok ads for an advertiser. Shows name, status, creative, and ad group association.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
reason requiredstringWhy this tool call is needed
9 optional parameters
ParameterTypeDescription
limitintegerMaximum number of results to return (1–100). Default: 20.
cursorstringOpaque pagination cursor from a previous response.
refreshbooleanForce a fresh fetch bypassing the cache.
ad_idstringFetch a single ad by ID.
ad_idsarrayFetch specific ads by IDs.
campaign_idsarrayFilter by parent campaign IDs.
adgroup_idsarrayFilter by parent ad group IDs.
statusarrayFilter by primary status.
searchstringSearch ads by name (case-insensitive).
View full documentation →

ad

tiktok_ads_get_ad Get TikTok Ad

Read-onlyIdempotentOpen-world

Get details for a single TikTok ad by ID.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
ad_id requiredstringAd ID.
reason requiredstringWhy this tool call is needed
View full documentation →

advertisers

tiktok_ads_list_advertisers List TikTok Advertisers

Read-onlyIdempotentOpen-world

List TikTok advertiser accounts accessible to the authenticated user. Shows name, ID, status, currency, and timezone.

ParameterTypeDescription
reason requiredstringWhy this tool call is needed
4 optional parameters
ParameterTypeDescription
limitintegerMaximum number of results to return (1–100). Default: 20.
cursorstringOpaque pagination cursor from a previous response.
refreshbooleanForce a fresh fetch bypassing the cache.
advertiser_idstringFetch a single advertiser by ID.
View full documentation →

advertiser

tiktok_ads_get_advertiser Get TikTok Advertiser

Read-onlyIdempotentOpen-world

Get details for a single TikTok advertiser by ID.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
reason requiredstringWhy this tool call is needed
View full documentation →

audiences

tiktok_ads_list_audiences List TikTok Audiences

Read-onlyIdempotentOpen-world

List custom and lookalike audiences for a TikTok advertiser.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
reason requiredstringWhy this tool call is needed
3 optional parameters
ParameterTypeDescription
limitintegerMaximum number of results to return (1–100). Default: 20.
cursorstringOpaque pagination cursor from a previous response.
refreshbooleanForce a fresh fetch bypassing the cache.
View full documentation →

auth

tiktok_ads_check_auth_status Check TikTok Ads Authentication Status

Read-onlyIdempotentOpen-world

Check whether the user's TikTok Ads account is authenticated. Returns auth method and email. Use ONLY when the user asks about auth status or connectivity — to get advertiser accounts, use tiktok_ads_list_advertisers instead.

ParameterTypeDescription
reason requiredstringWhy this tool call is needed
View full documentation →

tiktok_ads_ping Ping TikTok Ads MCP Server

Read-onlyIdempotent

Health check for the TikTok Ads MCP server.

ParameterTypeDescription
reason requiredstringWhy this tool call is needed
1 optional parameter
ParameterTypeDescription
messagestringOptional message to echo back
View full documentation →

login-url

tiktok_ads_get_login_url Get TikTok Ads Login URL

Read-onlyIdempotent

Get the URL to connect a TikTok Ads account via OAuth.

ParameterTypeDescription
reason requiredstringWhy this tool call is needed
View full documentation →

user-info

tiktok_ads_get_user_info Get TikTok Ads User Info

Read-onlyIdempotentOpen-world

Get detailed profile information about the authenticated TikTok Ads user (email, display name, role). Use this for user profile details — for checking auth status or listing advertiser IDs, use tiktok_ads_check_auth_status instead.

ParameterTypeDescription
reason requiredstringWhy this tool call is needed
View full documentation →

campaigns

tiktok_ads_list_campaigns List TikTok Campaigns

Read-onlyIdempotentOpen-world

List TikTok ad campaigns for an advertiser. Shows name, status, objective, and budget.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
reason requiredstringWhy this tool call is needed
7 optional parameters
ParameterTypeDescription
limitintegerMaximum number of results to return (1–100). Default: 20.
cursorstringOpaque pagination cursor from a previous response.
refreshbooleanForce a fresh fetch bypassing the cache.
campaign_idstringFetch a single campaign by ID.
campaign_idsarrayFetch specific campaigns by IDs.
statusarrayFilter by primary status.
searchstringSearch campaigns by name (case-insensitive).
View full documentation →

campaign

tiktok_ads_get_campaign Get TikTok Campaign

Read-onlyIdempotentOpen-world

Get details for a single TikTok campaign by ID.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
campaign_id requiredstringCampaign ID.
reason requiredstringWhy this tool call is needed
View full documentation →

feedback

tiktok_ads_developer_feedback Submit Developer Feedback

IdempotentOpen-world

Submit feedback about missing tools, improvements, bugs, or workflow gaps in the TikTok Ads MCP toolset. Not for user-facing issues like auth or API errors.

ParameterTypeDescription
feedback_type requiredstringFeedback category: new_tool (request new capability), improvement (enhance existing tool), bug (report issue), workflow_gap (missing workflow)
title requiredstringConcise title summarizing the feedback
description requiredstringWhat is needed and why
reason requiredstringWhy this tool call is needed
3 optional parameters
ParameterTypeDescription
current_workaroundstringCurrent workaround, if any
prioritystringImpact level: low (nice-to-have), medium (improves workflow), high (blocking issue)
interfacestringInterface the feedback originated from: MCP (default) or CLI
View full documentation →

reporting

tiktok_ads_get_performance_report Get TikTok Ads Performance Report

Read-onlyIdempotentOpen-world

Get a performance report for a TikTok advertiser over a date range, with optional breakdowns and entity filters.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
level requiredstringReporting level — mapped to data_level internally.
reason requiredstringWhy this tool call is needed
7 optional parameters
ParameterTypeDescription
date_presetstringShortcut date range. Overridden by explicit start_date/end_date.
start_datestringStart date in YYYY-MM-DD format.
end_datestringEnd date in YYYY-MM-DD format.
campaign_idstringFilter to a specific campaign.
adgroup_idstringFilter to a specific ad group.
pageintegerPage number (1-indexed). Default: 1.
page_sizeintegerResults per page. Default: 20.
View full documentation →

insights

tiktok_ads_get_insights Get TikTok Ads Insights

Read-onlyIdempotentOpen-world

Get aggregated insights and analytics for TikTok ad entities with custom dimensions (age, gender, country, placement). Use this for audience demographic breakdowns and flexible dimension-based analysis — for video/creative metrics, use tiktok_ads_get_creative_report instead.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
data_level requiredstringGranularity level for the report.
dimensions requiredarrayGrouping dimensions, e.g. ["campaign_id", "stat_time_day"].
reason requiredstringWhy this tool call is needed
7 optional parameters
ParameterTypeDescription
report_typestringType of report. AUDIENCE for demographic breakdowns (age, gender, country). Default: BASIC.
metricsarrayMetrics to retrieve. Defaults to standard funnel metrics if omitted.
start_datestringStart date in YYYY-MM-DD format.
end_datestringEnd date in YYYY-MM-DD format.
lifetimebooleanIf true, return lifetime metrics instead of date-ranged.
pageintegerPage number (1-indexed). Default: 1.
page_sizeintegerResults per page. Default: 20.
View full documentation →

creative-report

tiktok_ads_get_creative_report Get TikTok Ads Creative Report

Read-onlyIdempotentOpen-world

Get video creative performance metrics for TikTok ads — video views, watch time, completion rates (p25/p50/p75/p100), engagement, and per-creative breakdowns. Supports filtering by campaign_id or adgroup_id to narrow results. Use this tool for video-specific metrics and creative-level analysis.

ParameterTypeDescription
advertiser_id requiredstringTikTok advertiser ID.
reason requiredstringWhy this tool call is needed
6 optional parameters
ParameterTypeDescription
campaign_idstringFilter to a specific campaign.
adgroup_idstringFilter to a specific ad group.
start_datestringStart date in YYYY-MM-DD format.
end_datestringEnd date in YYYY-MM-DD format.
pageintegerPage number (1-indexed). Default: 1.
page_sizeintegerResults per page. Default: 20.
View full documentation →