TikTok Ads MCP Server
TikTok Ads API data access for campaigns, performance metrics, and audiences in MCP clients.
Data last scanned today · Reviewed yesterday
Overview
This server integrates the TikTok Ads API with Model Context Protocol clients, allowing users to inspect account data, campaign structures, and ad performance directly within their interface. It supports listing campaigns, ad groups, and ads, as well as retrieving analytics and audience breakdowns for specific date ranges. Designed for local execution using Python and the uv package manager, it enables developers to authenticate via a TikTok Business app. The implementation focuses on read-only operations, preventing the creation or modification of ads, campaigns, or creative assets.
Our verdict
With a security score of 18/100, this server is classified as high risk. The primary concern is the total lack of authentication mechanisms, meaning any entity with access to the configuration file can potentially utilize the server's capabilities. Additionally, it is a community-maintained project rather than an official tool from TikTok. Given the security posture and potential for unauthorized API access, this server should be used with extreme caution and is not recommended for production environments where access control is critical.
- Supports read-only access for campaign and performance inspection
- Zero direct dependencies reduce potential supply-chain vulnerabilities
- Provides real documentation for local setup and integration
- No authentication method implemented for local configurations
- Community-maintained project lacking official vendor support
- High risk score due to missing access controls
Tools
| Tool | Description | Risk |
|---|---|---|
| tiktok_ads_login | Start TikTok Ads OAuth authentication. | low |
| tiktok_ads_complete_auth | Complete OAuth using the authorization code. | medium |
| tiktok_ads_auth_status | Check current authentication status. | low |
| tiktok_ads_switch_ad_account | Switch to a different advertiser account. | medium |
| tiktok_ads_get_campaigns | Retrieve campaigns for the advertiser account. | low |
| tiktok_ads_get_campaign_details | Get details for a specific campaign. | low |
| tiktok_ads_get_adgroups | Retrieve ad groups for a campaign. | low |
| tiktok_ads_get_adgroup_details | Get details for a specific ad group. | low |
| tiktok_ads_get_ads | Retrieve ads by campaign, ad group, ad ID, or status. | low |
| tiktok_ads_get_ad_details | Get details for a specific ad. | low |
| tiktok_ads_get_campaign_performance | Get campaign-level metrics. | low |
| tiktok_ads_get_adgroup_performance | Get ad group-level metrics. | low |
| tiktok_ads_get_ad_performance | Get ad-level metrics. | low |
| tiktok_ads_get_audience_breakdown | Break down campaign, ad group, or ad performance by audience dimension. | low |
| tiktok_ads_wasted_spend_audit | Run a read-only audit for spend and clicks without conversion signal. | low |
| tiktok_ads_get_custom_audiences | List custom audiences. | low |
| tiktok_ads_get_advertiser_info | Get account-level advertiser details such as currency, timezone, status, industry, country, and creation time. | low |
| tiktok_ads_get_location_info | Resolve TikTok targeting location IDs. | low |
| tiktok_ads_get_pixel_list | List pixels attached to the advertiser account. | low |
| tiktok_ads_get_pixel_event_stats | Get pixel event activity for a date range. | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›Can I use this server to create new ads or campaigns?
No, this server is strictly read-only. It does not support write operations such as campaign creation, ad group creation, or creative uploads.
›What are the core technical prerequisites to run this locally?
You need Python 3.10 or newer, the uv dependency manager, a TikTok Business account with Marketing API access, and a configured TikTok developer app.
›Why must I use 'uv run' to start the server instead of standard Python?
Using 'uv run' ensures the MCP client utilizes the project's specific dependency environment, preventing errors caused by missing packages in your system's default Python environment.
›How do I configure my TikTok developer app for this server?
You must create a developer app in the TikTok For Business portal and use its App ID and App Secret in your MCP configuration. You must also ensure the app's redirect URI is set to 'https://adsmcp.com'.
›What should I do if my MCP client cannot locate the uv command?
If your client cannot find 'uv' by name, you should provide the absolute path to the 'uv' or 'uv.exe' executable in your configuration file's command field.
Alternatives
Badge
Maintain this server? Add the live badge to your README.