Tiktok Ads MCP server
{
"mcpServers": {
"getmcpads-tiktok-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/tiktok-ads-mcp-server@latest"
],
"env": {
"TIKTOK_ACCESS_TOKEN": "<tiktok_access_token>",
"TIKTOK_APP_ID": "<tiktok_app_id>",
"TIKTOK_APP_SECRET": "<tiktok_app_secret>",
"TIKTOK_ADVERTISER_ID": "<tiktok_advertiser_id>",
"TIKTOK_BC_ID": "<tiktok_bc_id>"
}
}
}
}{
"mcpServers": {
"getmcpads-tiktok-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/tiktok-ads-mcp-server@latest"
],
"env": {
"TIKTOK_ACCESS_TOKEN": "<tiktok_access_token>",
"TIKTOK_APP_ID": "<tiktok_app_id>",
"TIKTOK_APP_SECRET": "<tiktok_app_secret>",
"TIKTOK_ADVERTISER_ID": "<tiktok_advertiser_id>",
"TIKTOK_BC_ID": "<tiktok_bc_id>"
}
}
}
}{
"mcpServers": {
"getmcpads-tiktok-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/tiktok-ads-mcp-server@latest"
],
"env": {
"TIKTOK_ACCESS_TOKEN": "<tiktok_access_token>",
"TIKTOK_APP_ID": "<tiktok_app_id>",
"TIKTOK_APP_SECRET": "<tiktok_app_secret>",
"TIKTOK_ADVERTISER_ID": "<tiktok_advertiser_id>",
"TIKTOK_BC_ID": "<tiktok_bc_id>"
}
}
}
}{
"servers": {
"getmcpads-tiktok-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/tiktok-ads-mcp-server@latest"
],
"env": {
"TIKTOK_ACCESS_TOKEN": "${input:tiktok_access_token}",
"TIKTOK_APP_ID": "${input:tiktok_app_id}",
"TIKTOK_APP_SECRET": "${input:tiktok_app_secret}",
"TIKTOK_ADVERTISER_ID": "${input:tiktok_advertiser_id}",
"TIKTOK_BC_ID": "${input:tiktok_bc_id}"
}
}
},
"inputs": [
{
"id": "tiktok_access_token",
"type": "promptString",
"description": "Tiktok access token",
"password": true
},
{
"id": "tiktok_app_id",
"type": "promptString",
"description": "Tiktok app id",
"password": true
},
{
"id": "tiktok_app_secret",
"type": "promptString",
"description": "Tiktok app secret",
"password": true
},
{
"id": "tiktok_advertiser_id",
"type": "promptString",
"description": "Tiktok advertiser id",
"password": true
},
{
"id": "tiktok_bc_id",
"type": "promptString",
"description": "Tiktok bc id",
"password": true
}
]
}{
"mcpServers": {
"getmcpads-tiktok-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/tiktok-ads-mcp-server@latest"
],
"env": {
"TIKTOK_ACCESS_TOKEN": "<tiktok_access_token>",
"TIKTOK_APP_ID": "<tiktok_app_id>",
"TIKTOK_APP_SECRET": "<tiktok_app_secret>",
"TIKTOK_ADVERTISER_ID": "<tiktok_advertiser_id>",
"TIKTOK_BC_ID": "<tiktok_bc_id>"
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y @getmcpads/tiktok-ads-mcp-serverversion 1.0.2
What it does
An MCP server that exposes TikTok's Business API for reading and modifying advertising data. It includes 27 read tools, 277 metrics, and 5 write tools with preview functionality, designed for developers who want to keep API credentials on their own infrastructure and audit the code.
- Query TikTok campaign performance metrics and dimensions across multiple advertiser accounts.
- Retrieve campaign structure, ad groups, creatives, audiences, and delivery diagnostics to analyse advertising setup.
- Modify campaign and ad group status, budgets, or create new campaigns with preview-before-apply safety.
Tools this server exposes
| Tool | Does |
|---|---|
| tiktok_health_check | Verifies credentials and lists advertiser accounts you can access. |
| tiktok_validate_query | Checks if a metric and dimension combination is valid before making an API call. |
| tiktok_search_keywords | Performs keyword research for TikTok Search Ads. |
| tiktok_get_search_ads_maturity | Gets maturity information for TikTok Search Ads. |
| tiktok_get_read_endpoint | Reaches TikTok API endpoints this server does not model yet for forward compatibility. |
| tiktok_get_entities_raw | Retrieves raw entity data from endpoints not yet modeled by the server. |
| tiktok_get_report_raw | Retrieves raw report data from endpoints not yet modeled by the server. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.