Skip to main content
Glama
aaronckj

tiktok-studio-mcp

by aaronckj

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TIKTOK_MCP_MODENoPosting mode: 'upload' (default) or 'publish'.upload
TIKTOK_MCP_SECRETSNoSecrets backend: 'file' (default), 'env', or 'vaultproxy'.file
TIKTOK_MCP_CLIENT_KEYYesYour TikTok app client key.
TIKTOK_MCP_CLIENT_SECRETYesYour TikTok app client secret.

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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
health_checkA

Credentials refresh, account reachable, and which posting mode is active.

Deliberately backed by /v2/user/info/ (user.info.basic) rather than creator_info: creator_info is a Direct Post endpoint gated on video.publish, so using it here made health_check fail on exactly the upload-only setup this server is built for.

creator_infoA

Nickname, allowed privacy levels, duration cap, interaction toggles.

Direct-Post-only. TikTok gates this endpoint on video.publish, so it is unavailable — and unnecessary — in upload mode, where the creator picks privacy in the TikTok app. Consulted automatically before a direct post, because TikTok rejects one whose privacy_level the account does not offer.

post_videoA

Upload a video to the authorized account. Returns a publish_id to poll.

In upload mode the video lands in the account's inbox/drafts. In publish mode it posts directly, which requires an audited app — until the audit passes TikTok forces all content from the client to private.

post_statusA

Poll a publish_id returned by post_video.

list_videosC

The account's videos, with their statistics.

video_statsB

View, like, comment and share counts for specific video ids.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 6 tools

Disambiguation4/5

Each tool has a clear role: health_check and creator_info cover account status/capabilities, post_video and post_status handle posting, list_videos and video_stats handle video data. The only mild overlap is list_videos already includes statistics, which could make video_stats seem redundant, but it's useful for targeted lookups.

Naming Consistency4/5

All names are lowercase snake_case and readable, but the pattern varies: verb_noun (post_video, post_status, list_videos), noun_noun (creator_info, video_stats), and noun_verb (health_check). This is a minor deviation from a uniform convention.

Tool Count5/5

Six tools is well-scoped for a TikTok studio MCP, covering account health, creator capabilities, video posting, status polling, and video analytics. No tool feels extraneous.

Completeness4/5

The core lifecycle (post, poll, list, stats) is complete. Missing update/delete video operations, but the server appears designed for posting and analytics, so these are not critical gaps. Account info and post-mode checks are included.

Maintenance

ActivitySlowing
ResponsivenessNo issues