Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TIKTOK_ACCOUNTSNoOptional. Comma-separated list of account name:refresh_token pairs for multiple accounts, e.g. personal:refresh_token_one,brand:refresh_token_two.
TIKTOK_AUDIT_LOGNoOptional. Path to a file where each attempted write is logged as one JSON line.
TIKTOK_READ_ONLYNoOptional. Set to 1 to remove all write tools from the server.
TIKTOK_CLIENT_KEYYesYour TikTok app's client key.
TIKTOK_HTTP_TOKENNoOptional. Token required when running over HTTP to allow connections from hosts other than 127.0.0.1.
TIKTOK_CLIENT_SECRETYesYour TikTok app's client secret.
TIKTOK_REFRESH_TOKENYesThe refresh token obtained by running `npx -y @thenavidm/tiktok-mcp auth`. Valid for about 365 days.
TIKTOK_ALLOW_DESTRUCTIVENoOptional. Set to 0 to keep drafts but remove publishing tools.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_accountsA

Every TikTok account this server can act as, with the name to pass as account on any other tool. Does not call TikTok, so it works even when a token has expired.

get_profileA

Profile and audience for a connected account: username, display name, bio, verified flag, follower and following counts, total likes across all videos, and how many videos are public. This is the only account it can see; TikTok's official API cannot read anybody else's profile.

revoke_accessA

Hands the token back to TikTok and removes your app from the account's connected-apps list. The refresh token in your config stops working immediately and only re-running tiktok-mcp auth will restore access.

list_videosA

Your public TikTok posts, newest first, with views, likes, comments, shares and a computed engagement rate. Pages past TikTok's 20-per-page limit automatically. Only public posts appear: TikTok's API cannot see private or draft videos.

get_videosA

Fetch up to 20 of your videos by id, with full stats. Also the way to refresh a cover_image_url: those links expire 6 hours after they are issued, so a cover that 404s needs this call rather than a cached URL.

top_videosA

Your best posts, ranked. TikTok has no ranked endpoint, so this pages recent videos and sorts them locally: scan is how far back it looks, and anything older than that cannot win. Use this rather than calling list_videos and sorting in context, which spends the whole window on videos you discard.

search_my_videosA

Find your posts whose title or description matches a query. TikTok has no search over your own library, so this pages recent videos and filters locally. A miss means it is not in the last scan videos, not that it does not exist.

stats_summaryA

Aggregate stats over your recent posts: total and mean views, the median and 90th percentile, mean engagement rate, and how many days apart you post. Reach for this instead of listing videos and adding them up, and read the median rather than the mean: one viral post drags a mean far away from what a typical post of yours actually does.

get_creator_infoA

What this account is allowed to post: which privacy levels are available, whether comments, duet or stitch are switched off, and the longest video it may upload. Call this before post_video or post_photos. TikTok requires the privacy level to come from the list this returns, and it changes when the creator flips their account private.

post_videoA

Publish a video straight to the account from a public URL. Returns a publish_id; poll get_post_status with it, because the call returns as soon as TikTok accepts the job, long before the post is live. While your app is unaudited every post lands private no matter which privacy_level you pass.

post_photosA

Publish a photo carousel of up to 35 images from public URLs. Returns a publish_id; poll get_post_status with it. Same domain-verification and audit rules as post_video.

send_video_to_draftsA

Send a video to the account's TikTok inbox instead of publishing it. The creator gets a notification and finishes the post in the app, so nothing goes public without them. Needs only video.upload, which makes this the path that works before your app passes the Content Posting audit. TikTok allows at most 5 unpublished drafts from the API in any 24 hours.

send_photos_to_draftsA

Send photos to the account's TikTok inbox for the creator to finish in the app. Needs only video.upload. The creator's TikTok app must be version 31.8 or newer or TikTok rejects it.

get_post_statusA

Track a post created by post_video, post_photos or either drafts tool. Statuses: PROCESSING_DOWNLOAD while TikTok fetches the file, SEND_TO_USER_INBOX for a draft that arrived, PUBLISH_COMPLETE when it is posted, FAILED with a fail_reason. A public post only reports its post_id after moderation clears it, which is usually a minute but can be hours, so an empty post_id on a PUBLISH_COMPLETE is normal rather than an error.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 14 tools

Disambiguation5/5

Each tool targets a distinct action or resource: account listing, profile, auth, video retrieval, ranking, search, aggregation, posting, drafts, and status polling. Even the video-reading tools are clearly separated by purpose, with descriptions that explicitly steer agents away from using list_videos when top_videos or stats_summary is more appropriate.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern like list_videos, get_profile, post_video, and send_video_to_drafts. Minor deviations such as top_videos and stats_summary break the strict verb-first convention, but the overall naming is predictable and readable.

Tool Count5/5

With 14 tools, the server is well-scoped for a TikTok management integration. Each tool covers a meaningful part of the workflow—authentication, profile, content retrieval, analytics, posting, drafts, and status tracking—without excessive fragmentation.

Completeness4/5

The tool surface covers the main account, content, posting, and draft workflows well, including status polling and fallback paths for unaudited apps. Obvious gaps like video update/delete or comment management are absent, but these may be platform API limitations rather than server oversights.

Maintenance

ActivityMaintained
ResponsivenessNo issues