tiktok_health_check
tiktok health check
Read-only health check for TikTok credentials, accessible advertisers, and advertiser info. Never returns tokens or secrets.
advertiserIdcom.getmcpadsPublished by getmcpads.comv2.1.1Updated Oct 26, 2026
TikTok Ads MCP server: 35 read tools, 30 opt-in preview-first writes.
The publisher's own server: Tiktokporn
Local MCP server for TikTok Ads: 35 read tools for campaigns, ads, audiences and reporting, plus 30 opt-in write tools that preview before applying.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Follow the launch instructions in the repository.
Explore campaign performance, inspect native assets and prepare changes from your MCP client.
[Release] [CI] [Smithery] [License: Apache 2.0] [Node]
Watch the film · What's new · Install · Tool reference · Try hosted getmcpads
[Watch the getmcpads film: every ad account in one conversation with your AI assistant]
The film shows hosted getmcpads with sample data. Its MCP Apps, from creative galleries and alerts to Google Sheets exports and bulk launches, belong to the hosted product. This repository provides the standalone native API tools.
35 read tools · 30 write tools, disabled by default.
Run locally with your own platform credentials and a client that supports stdio MCP, such as Claude Desktop, Claude Code or Cursor. Your requests go directly to the platform. For managed connections, including supported ChatGPT setups, use the hosted option.
v2.1.1: Zod 4 security update · October 26, 2026
zod to 4.6.7. Every Zod release before 4.6.6 is covered by the high-severity advisory GHSA-mrhx-c7xc-m3w5: validating an oversized constrained collection can exhaust memory, and no Zod 3 release carries the fix. npm audit --omit=dev reports no vulnerability again.server-card.json is regenerated with Zod 4's JSON Schema output, which spells some constraints differently.Earlier releases
Source synchronization: SOURCE_SYNC.md.
Requires Node.js 22.23.4, 24.22.1, 26.12.1 or a newer release. These carry the October 2026 security fixes, and the server prints a warning on stderr when it runs on an older one. CI covers Node 22, 24 and 26.
No breaking change. A 2.0 configuration keeps working. What to know:
TIKTOK_ADVERTISER_IDS is optional. Without it, every advertiser the token reaches stays accessible, and the server prints one line on stderr recommending it. Set it to the advertisers this server may use.TIKTOK_ENABLE_WRITES still reads 1, yes and on as true, and prints one deprecation line on stderr. Use TIKTOK_ENABLE_WRITES=true.TIKTOK_ENVIRONMENT=sandbox and sent every request to production. Version 2.1.0 sends them to sandbox-ads.tiktok.com, bound to one advertiser: the single ID in TIKTOK_ADVERTISER_IDS, or TIKTOK_ADVERTISER_ID. Without either, sandbox calls are refused.Announced for 3.0.0: TIKTOK_ADVERTISER_IDS becomes required, and only the exact value true enables writes.
Read the current tool schemas before reusing saved arguments. Writes remain optional and require explicit confirmation. Hosted creative integrations and MCP Apps UI are outside this release.
This is a GitHub source release. npm and MCP Registry versions are published separately. The commands below select this exact version; unpinned npx examples later in this document select the version currently available on npm.
Configure your MCP client to run node with the absolute path to dist/cli.js and the platform credentials documented below.
Prefer a managed connection? Use TikTok Ads with hosted getmcpads. Connect your account, select the data your assistant may access and use the hosted MCP connection. See the site for current features and plans.
TikTok rejects many metric and dimension combinations, and its error messages rarely say why. This server encodes the compatibility matrix, so it splits an impossible request into several valid API calls and merges the results instead of failing.
tiktok_validate_query lets the model check a combination before spending a call on it.
TikTok answers HTTP 200 even when the call failed. The applicative code field is what
decides. A client that trusts the HTTP status reports imaginary successes back to the model,
which then reasons on data that was never returned. Every call here checks code first.
TikTok needs two values, not one: an access token and the App ID it belongs to.
auth_code for an
access token. TikTok's long-lived tokens do not expire on a fixed schedule, but they
are revoked when the authorization is withdrawn.TIKTOK_ACCESS_TOKEN and the App ID in TIKTOK_APP_ID.📖 TikTok API for Business documentation
Run tiktok_health_check as your first call. It verifies the credentials, lists the
advertiser accounts you can actually reach, and reports what is missing, without printing
your token.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Restart Claude Desktop. Ask it: "list my TikTok advertiser accounts".
.cursor/mcp.json in your project, same shape as the Claude Desktop config above.
Check your setup at any time:
Write tools are disabled by default. Enable them with TIKTOK_ENABLE_WRITES=true.
When enabled, every write tool returns a preview and changes nothing:
Only a second call carrying confirm: true touches the live account.
This is deliberate. An assistant composes these calls, and it can pick the wrong advertiser, the wrong campaign, or the wrong order of magnitude on a budget. A mandatory preview makes the mistake visible before it costs money, and gives a human the stopping point the protocol does not guarantee on its own.
One further guardrail: tiktok_create_campaign always creates the campaign DISABLE.
There is no option to create it running.
Every tool is listed below. See server-card.json for complete parameter and output schemas.
Disabled by default. Calls preview unless explicitly confirmed. Check the configuration and exact schema before use.
The server holds a credential that can read, and optionally modify, live ad accounts. Concretely:
Access-Token: [redacted].business-api.tiktok.com, or to sandbox-ads.tiktok.com when
TIKTOK_ENVIRONMENT=sandbox, and only under /open_api/v1.3/.
Any other host or path is refused rather than called. Covered by tests.TIKTOK_ADVERTISER_IDS set, only those advertisers are reached. Any other advertiser
is refused before a request is sent, and discovery responses are filtered to the list.
Covered by tests.fetch.Full policy and reporting instructions: SECURITY.md.
Try hosted TikTok Ads if you want to use this source without operating a local server. getmcpads also connects advertising, Search Console and GA4 through one MCP URL. Source availability and plan limits are listed on the site; connecting an account is still required.
See the current hosted tool catalogue and pricing before choosing a paid plan. This Apache 2.0 adapter remains independently useful with your own credentials.
Issues and pull requests are welcome. See CONTRIBUTING.md. Please read SECURITY.md before reporting anything security-related.
Apache License 2.0. See also NOTICE.
TikTok and TikTok for Business are trademarks of ByteDance Ltd. and its affiliates. This project is not affiliated with, endorsed by, or sponsored by TikTok or ByteDance. It is an independent client of a public API.
Every tool declares read/write annotations, parameter descriptions and a structured output schema. Successful calls expose the payload as structuredContent.result; errors retain isError: true. The generated server card contains definitions only.
Run npm run bundle -- /path/to/output to build a .mcpb desktop bundle from the current catalog. Credentials are entered locally during installation. Write tools remain disabled unless explicitly enabled.
Meta Ads · Google Ads · Google Analytics 4 · Google Search Console · Pinterest Ads · X Ads
Maintained by Emmanuel at getmcpads. Questions: [email protected].
Source: README.md at commit f49ce4c
tiktok health check
Read-only health check for TikTok credentials, accessible advertisers, and advertiser info. Never returns tokens or secrets.
advertiserIdtiktok list advertisers
List the TikTok advertiser accounts accessible with the current token, limited to TIKTOK_ADVERTISER_IDS. Returns advertiser ID, name, and status.
Takes no parameters.
tiktok get advertiser info
Get detailed information for specific TikTok advertiser accounts: currency, timezone, status, balance.
advertiserIdsrequiredtiktok get campaigns
List campaigns for a TikTok advertiser account. Returns campaign ID, name, status, budget, and objective.
limitadvertiserIdrequiredstatusFiltertiktok get adgroups
Read full native ad group configuration including targeting, custom/lookalike audience references and exclusions, geo, language, age/gender, placements, interests/behaviors, budget and schedule. Set smartPlus:true for upgraded Smart+ targeting_spec. Missing fields are unknown, not unrestricted targeting. Paginated.
pagelimitsmartPlusadgroupIdscampaignIdadvertiserIdrequiredtiktok get targeting
Read configured ad group targeting and audience references: custom/lookalike inclusions/exclusions, geo, language, age/gender, placements, interests and behaviors. Supports classic and upgraded Smart+ (smartPlus:true), preserving targeting_spec and automatic targeting settings. Does not infer delivered audiences or hidden Smart+ signals. Use tiktok_get_audiences for audience names/types and tiktok_get_audience_report for delivered demographics.
pagelimitsmartPlusadgroupIdscampaignIdadvertiserIdrequiredtiktok get audience report
Read TikTok AUDIENCE performance reports by age or gender at advertiser, campaign, ad group or ad level, including delivery from eligible Smart+ campaigns. Multiple demographics return separate reports, not a joint distribution. Explicit pagination and native provider errors; no inference of configured targeting or Custom Audience membership.
pageadIdslimitendDaterequiredmetricsrequireddataLevelorderTypestartDaterequiredadgroupIdsdimensionsrequiredorderFieldcampaignIds+1 moretiktok get ads
List ads for a TikTok advertiser. Returns ad ID, name, operation status, and creative info.
limitadgroupIdadvertiserIdrequiredtiktok get insights
Query TikTok Ads performance insights using the current native/calculated metric catalog and query planning. Use tiktok://metrics resource to see available metrics. Use tiktok://dimensions for dimensions. Age/gender dimensions route automatically to AUDIENCE reports via tiktok_get_audience_report, including campaign/ad group levels. Other dimensions use the BASIC planner. Multiple audience breakdowns remain separate reports, never joined.
pageadIdslimitendDaterequiredmetricsrequireddataLevelorderTypestartDaterequiredadgroupIdsdimensionsorderFieldreportType+3 moretiktok get creatives
Get creative details (video, image, text) for specific ads in a TikTok advertiser account.
adIdslimitadvertiserIdrequiredtiktok get audiences
List custom and lookalike audiences for a TikTok advertiser account.
pagelimitadvertiserIdrequiredtiktok search keywords
Get keyword suggestions for TikTok Search Ads. Returns recommended keywords with search volume estimates.
limitkeywordsrequiredadvertiserIdrequiredtiktok validate query
Validate a TikTok metric/dimension combination BEFORE executing. Checks dimension grouping rules, lifetime compatibility, and metric/dimension compatibility.
metricsrequireddataLeveldimensionsreportTypequeryLifetimetiktok get pixels
List TikTok pixels and, when permissions allow it, pixel event metadata for an advertiser. Falls back with explicit warnings when endpoints are unavailable.
bcIdlimitpixelIdsadvertiserIdrequiredincludeEventstiktok get events
Discover pixel/app events or accessible tracking diagnostics for an advertiser. Uses best-effort endpoint checks plus reporting dimensions as fallback.
bcIdappIdlimitendDatepixelIdstartDateadvertiserIdrequiredtiktok get delivery status
Aggregate campaign, ad group, and ad delivery status/operation_status with simple diagnostics.
limitadgroupIdcampaignIdincludeAdsadvertiserIdrequiredtiktok get async report status
Check a TikTok async report task status by taskId when async report endpoints are available. No report creation or mutation is performed.
taskIdrequiredadvertiserIdrequiredtiktok get video assets
Return ad-linked TikTok video asset metadata from ad/get and video material endpoints when available.
adIdslimitvideoIdsadgroupIdadvertiserIdrequiredtiktok get spark ads
Return Spark Ads context from ad fields when available, with a conservative fallback if Spark-specific fields are not supported.
adIdslimitadgroupIdadvertiserIdrequiredtiktok get audience details
Get custom/lookalike/saved audience details where TikTok DMP endpoints are accessible. Read-only only.
limitaudienceIdsadvertiserIdrequiredincludeSavedAudiencestiktok get shop catalog diagnostics
Read-only TikTok Shop/catalog/e-commerce diagnostics. Tries catalog reporting first, then Shop auction metrics, and returns endpoint warnings when catalog permissions are unavailable.
bcIdlimitendDatecatalogIddimensionstartDateproductIdsadvertiserIdrequiredincludeDailytiktok get search ads maturity
Diagnose TikTok Search Ads maturity from keyword/search-term reporting and optional keyword recommendation endpoints. Read-only diagnostics only.
limitendDatedataLevelstartDateadvertiserIdrequiredseedKeywordstiktok get creative fatigue recipes
Find likely creative fatigue patterns from ad-level daily reporting and return read-only refresh recipes. Does not create, edit, or upload creatives.
limitendDatestartDateadvertiserIdrequiredminImpressionsdeclineThresholdPcttiktok get audience overlap
Read-only audience overlap diagnostics across ad groups, custom audiences, saved audiences, and targeting fields.
limitsmartPlusadgroupIdscampaignIdadvertiserIdrequiredoverlapThresholdincludeSavedAudiencestiktok get spark organic joins
Join accessible Spark Ads fields with paid page/post reporting and optional organic identity/post endpoints when permissions allow. Read-only only.
adIdslimitendDateadgroupIdstartDateadvertiserIdrequiredincludeOrganicEndpointsincludeExperimentalEndpointstiktok list ad videos
List the advertiser's whole video library (file/video/ad/search): file name, duration, dimensions, signature, and publicly served preview and cover URLs. Every TikTok URL is signed and expires after roughly six hours: re-resolve with tiktok_get_asset_urls before use.
pagepageSizeadvertiserIdrequiredtiktok list ad images
List the advertiser's whole image library (file/image/ad/search): file name, dimensions, signature, carousel usability, and a publicly served image URL signed for roughly thirty days (image_url_expires_at gives the exact instant).
pagepageSizeadvertiserIdrequiredtiktok get asset urls
Re-resolve fresh, publicly fetchable URLs for specific TikTok library assets (file/video/ad/info and file/image/ad/info). Call at display or download time: every TikTok media URL is signed and expires.
imageIdsvideoIdsadvertiserIdrequiredtiktok get entities raw
List TikTok campaigns, ad groups, or ads with caller-selected native fields, filtering, sorting, and pagination. This GET-only escape hatch exposes newly released entity fields without waiting for the MCP's curated schemas.
pagefieldsrequiredpageSizefilteringorderTypeentityTyperequiredorderFieldadvertiserIdrequiredtiktok get report raw
Run a native TikTok BASIC or AUDIENCE synchronous report with caller-selected dimensions and metrics. AUDIENCE supports demographics such as age/gender at campaign/adgroup levels; tiktok_get_audience_report provides a guided path. Use when a current API field is not yet in tiktok://metrics; unlike tiktok_get_insights, this tool does not calculate aliases or auto-split incompatible selections.
pageendDatemetricsrequiredpageSizedataLevelrequiredfilteringorderTypestartDatedimensionsrequiredorderFieldreportTypeserviceType+2 moretiktok get targeting catalog
Read TikTok targeting and planning catalogs: locations, languages, interests, behaviors, hashtags, Search Ads keyword ideas/health, devices, carriers, contextual tags, content exclusions, and time zones.
querycatalogrequiredparametersadvertiserIdtiktok get read endpoint
Advanced GET-only TikTok Business API escape hatch for documented JSON read endpoints not yet modeled by a specialized MCP tool. Relative v1.3 paths and JSON-compatible query parameters are validated; OAuth, mutations, downloads, and lead-record paths are blocked.
endpointrequiredparameterstiktok get carousel music
Get TikTok music recommendations for exactly the uploaded images in a standard, non-catalog image ad (one card) or carousel. Verifies each image is carousel-usable. Read-only; select a returned music_id in the approval preview and use the same images in the ad. Music is for use on TikTok only.
imageIdsrequiredadvertiserIdrequiredtiktok get uploaded video
Read one uploaded video from this advertiser’s media library. Returns ready only after its media information is available with positive duration and dimensions. Does not upload again.
videoIdrequiredadvertiserIdrequiredtiktok get write context
Read the exact TikTok entity, parent settings and advertiser currency/timezone before editing or building a new configuration. Read-only.
levelrequiredentityIdrequiredsmartPlusadvertiserIdrequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
porn.tik-tokOfficial publisher
A remote MCP server that lets an assistant search and browse an adult video site's public catalog of videos, creators and hashtags.

Published by GitHub account Nero-Engine
Best Time to Post: Instagram, TikTok & YouTube's hosted MCP server; credential required; Streamable HTTP.

Published by GitHub account heyitsgautham
YouTube & TikTok Transcripts's hosted MCP server; credential required; Streamable HTTP.

com.insightfulpipe
Hosted TikTok Pages MCP server that lets an assistant read a creator's profile and video metrics and start video or photo posts.

com.insightfulpipe
Hosted TikTok Ads MCP server that lets an AI assistant read TikTok advertising data and manage campaigns, ad groups, ads and audiences.
git clone --branch v2.1.1 --depth 1 https://github.com/get-mcp-ads/tiktok-ads-mcp-server.gitcd tiktok-ads-mcp-servernpm cinpm run build{ "mcpServers": { "tiktok-ads": { "command": "npx", "args": ["-y", "@getmcpads/tiktok-ads-mcp-server"], "env": { "TIKTOK_ACCESS_TOKEN": "your-token-here", "TIKTOK_APP_ID": "your-app-id-here", "TIKTOK_ADVERTISER_IDS": "your-advertiser-id" } } }}claude mcp add tiktok-ads --env TIKTOK_ACCESS_TOKEN=your-token --env TIKTOK_APP_ID=your-app-id --env TIKTOK_ADVERTISER_IDS=your-advertiser-id -- npx -y @getmcpads/tiktok-ads-mcp-servergit clone https://github.com/get-mcp-ads/tiktok-ads-mcp-server.gitcd tiktok-ads-mcp-servernpm install && npm run buildcp .env.example .env # then fill in your credentialsnpm startnpm run doctor// tiktok_update_adgroup_budget { advertiserId: "7...", adGroupId: "1...", budget: 50 }{ "applied": false, "action": "tiktok_update_adgroup_budget", "change": { "advertiser": "7...", "adGroup": "1...", "newBudget": 50, "budgetMode": "BUDGET_MODE_DAY" }, "message": "Preview only, nothing was changed. Repeat the same call with confirm: true to apply this change to the live account."}