tiktok-studio-mcp
MCP server for TikTok that publishes videos to your own TikTok account and retrieves video performance metrics through TikTok's official Content Posting and Display APIs.
README
tiktok-studio-mcp
MCP server for TikTok. Publishes videos to your own TikTok account and reads back how they performed, through TikTok's official Content Posting and Display APIs.
Built as the TikTok counterpart to
yt-studio-mcp.
What it can and cannot do
TikTok's creator APIs are narrower than YouTube's. Rather than advertise tools that cannot work, this server exposes only what the platform actually supports:
| capability | supported |
|---|---|
| Upload video (drafts or direct post) | yes |
| View / like / comment / share counts | yes |
| List your videos | yes |
| List or moderate comments | no — TikTok offers this only through the Research API, which is gated to academic institutions |
| Playlists, captions, thumbnails | no — no API surface |
Posting modes
TikTok gates direct publishing behind an app audit, so there are two modes,
selected with TIKTOK_MCP_MODE:
upload(default) — the video lands in your TikTok inbox/drafts and you finish posting it in the app. Works without an audit.publish— posts directly. Requires thevideo.publishscope, which needs TikTok's full app audit (2–4 weeks, demo video, privacy policy, domain verification).
Until the app is audited, TikTok forces everything an unaudited client posts
to private, whatever privacy_level you ask for. post_video says so in its
result rather than letting you assume something published.
Install
claude mcp add tiktok -s user -- uvx tiktok-studio-mcp
Authenticate
Register an app at developers.tiktok.com with
Login Kit, Content Posting API and Display API, requesting the scopes
user.info.basic, video.upload, video.list, video.publish. Set the
Desktop redirect URI to http://localhost:8902/.
export TIKTOK_MCP_CLIENT_KEY=...
export TIKTOK_MCP_CLIENT_SECRET=...
tiktok-studio-mcp auth
Prefer the environment over --client-key / --client-secret: command-line
arguments are visible to any user on the box via ps and land in shell history.
The flags still work as a fallback.
The flow is headless-friendly: it binds a fixed port and prints the consent URL rather than launching a browser. On a machine with a browser:
ssh -N -L 8902:localhost:8902 user@your-host
then open the printed URL.
Tools
| tool | purpose |
|---|---|
health_check |
credentials refresh, account reachable, granted scopes, active mode |
creator_info |
nickname, allowed privacy levels, duration cap, interaction toggles |
post_video |
upload a file; returns publish_id. Supports dry_run |
post_status |
poll a publish_id |
list_videos |
your videos, with statistics |
video_stats |
counts for specific video ids |
post_video calls creator_info first and validates privacy_level against
what the account actually allows, because TikTok rejects mismatches with an
unhelpful error.
Secrets
TIKTOK_MCP_SECRETS selects the backend: file (default,
~/.config/tiktok-studio-mcp/credentials.json, mode 600), env, or vaultproxy.
TikTok rotates refresh tokens — every refresh returns a new one and invalidates the old. This server writes the new token back on every refresh; if it did not, authentication would work for 24 hours and then fail with no obvious cause.
Limits
Enforced by TikTok, surfaced by this server:
- 6 requests per minute per access token on the init endpoints
- 5 pending shares per 24 hours
- chunked upload: files under 5 MB go whole; otherwise chunks are 5–64 MB, the final chunk may reach 128 MB, 1–1000 chunks, 4 GB maximum
Development
pip install -e '.[dev]'
ruff check src tests
pytest
Tests use an injected transport and need no TikTok credentials.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.