TikTok is one of the strictest major platforms to automate, and it is not shy about it. Video uploads go through a dedicated Content Posting API with its own approval flow, privacy rules differ per account depending on what TikTok has enabled for you, and the rules shift more often than on most other networks. A scheduling approach that ignores those constraints breaks quietly: the post fails at publish time, hours after everyone stopped watching.
That is why the useful question is not "can an agent post to TikTok" but "can an agent check the rules before committing to a path." With SocialRobot's MCP server, that check is a tool call like any other, and the answer decides between two publishing modes. The full walkthrough of the SocialRobot MCP setup covers the generic connection flow for every platform.
Setup
Link your TikTok account in SocialRobot first. Then add the server to your client:
{
"mcpServers": {
"socialrobot": {
"type": "http",
"url": "https://socialrobot.io/api/mcp"
}
}
}
The first connection opens SocialRobot login plus one consent screen. Publishing and media upload are separate OAuth scopes from analytics, so you can grant read-only access while you evaluate. It works in Claude, ChatGPT, Cursor, VS Code, Windsurf, Zed, or any client with remote MCP support. No Docker, no local process, no API key rotation.
The two paths: DIRECT_POST vs UPLOAD
Every scheduled TikTok takes one of two routes, and the creator info check tells you which ones are even available:
| Mode | What happens |
|---|---|
DIRECT_POST | The video publishes automatically at schedule time. Fully hands-off. |
UPLOAD | The video lands in your TikTok inbox as a draft. You approve caption, cover, and privacy in the app, then post manually. |
DIRECT_POST requires your account to allow it, and TikTok decides that per creator. Before promising anyone a hands-off launch, ask:
Check my TikTok account and tell me which privacy levels are allowed for direct posting.
tiktok_get_creator_info returns exactly this: whether direct post is enabled and which privacy options (public, followers, private) your account supports. If direct post is available, the agent can commit to full automation. If it is not, everything becomes an inbox draft, and you should know that before Thursday, not after the post silently failed.
A real launch, both ways
Say you are releasing a product demo video on Wednesday:
Upload demo-final.mp4 to TikTok. Check my creator info first. If direct post is allowed, schedule it public for Wednesday 6pm with this caption: "We rebuilt our onboarding from scratch. Here is the 40-second version." If not, send it to my inbox as a draft and tell me.
The agent calls tiktok_get_creator_info, uploads media through a presigned URL (get_media_upload_url), and picks the mode based on the actual answer. With direct post enabled, the video publishes itself at 6pm Wednesday. Without it, the same video sits in your TikTok inbox by lunchtime, caption pre-filled, waiting for your thumb.
The inbox route is not a downgrade. Many teams prefer it for launch content anyway, because the last look happens where the video will actually live.
Check before you promise
A common TikTok automation failure is assuming direct post works on your account. It is a per-creator setting TikTok controls. One call to tiktok_get_creator_info answers it definitively, which turns an unpleasant surprise into a planning input.
Prompts and the tools behind them
| You say | The agent calls |
|---|---|
| "Can my account post directly?" | tiktok_get_creator_info |
| "Schedule this video for Friday 7pm" | get_media_upload_url, create_post (DIRECT_POST) |
| "Send this to my TikTok inbox instead" | get_media_upload_url, create_post (UPLOAD) |
| "Move the launch video to Saturday" | reschedule_post |
| "Scrap the draft about the old pricing" | delete_post |
Because TikTok changes its API surface more often than other platforms do, keeping these tools server-side matters: when TikTok adjusts a rule, the server updates and your prompts keep working. You are not maintaining an integration, you are using one.
Getting started
- Create a SocialRobot account (MCP included free).
- Connect your TikTok account.
- Add
https://socialrobot.io/api/mcpto your client. - Ask: "What privacy levels does my TikTok account allow?"
- Queue your first video, review it in the calendar, ship it.
- Or compare all MCP schedulers in the roundup.
Connect your accounts and let your agent publish.
SocialRobot MCP is free on every plan. Add socialrobot.io/api/mcp to Claude, ChatGPT, or Cursor and start scheduling from chat.
Read the MCP guide