An MCP server for posting to Instagram and TikTok at once gives your AI app a single tool call that fans out to both networks. You describe the post once, name both platforms, and the server applies each platform’s rules on the way out. Creator OS ships a hosted MCP server at https://mcp.creatoros.ca/mcp that does exactly this, and there is nothing to install.
Claude / Cursor / ChatGPT
|
create_post tool call
|
+--------+--------+
| |
Instagram TikTok
Reels rules consent flags
cover, tags privacy_level
| |
+--------+--------+
|
post_ ids, statusWhat an MCP Server for Instagram and TikTok Actually Does
MCP stands for Model Context Protocol. It is the layer that lets an AI app call tools outside its own sandbox. A social media MCP server exposes tools with names like create_post, list_posts, get_post_analytics and reply_to_comment. Your AI app decides when to call them, the server talks to the networks.
The important part is what happens between the tool call and the network. Instagram and TikTok do not accept the same payload. TikTok wants explicit consent flags before it will publish anything. Instagram wants a media type, and it handles covers differently. A good MCP server hides that split. You write one caption and one video, and the server fills in the rest.
Creator OS supports Instagram, TikTok, YouTube, X, LinkedIn, Facebook and Threads from the same connection, along with Skool communities, a WordPress blog and paid ads as an add-on. The MCP server is included in every plan. The full tool list lives in the MCP docs.
Why Cross-Posting From One MCP Server Beats Native Tools and Schedulers
A social media scheduling dashboard is built around a calendar. You open a tab, upload a file, pick times, and a human does the assembly. That works, and plenty of people run their accounts that way for years.
Creator OS is built around the tool call. The web app, the iOS app, a REST API, a CLI and a hosted MCP server all sit on top of the same posting engine. So the thing your AI agent does once can also be done by hand later, or by a cron job, without re-teaching anyone a new interface.
That matters most for the second and third post. The first cross-post is a novelty. The twentieth is where schedules slip, and where an agent that can also read comments and reply starts to save real time. If you want the reply side first, the pattern is covered in reply to comments with AI and in automating Instagram and TikTok replies through the API.
What the Instagram and TikTok APIs Allow (and Where They Differ)
You cannot skip this part, because both networks refuse posts that ignore their rules.
Instagram. Reels, feed images, carousels and Stories all publish through the API. You need a Business or Creator account. You can set a Reel cover with a media asset or pick a frame by timestamp. You can add up to three collaborators, user tags, a location and an AI-generated label. The API cannot attach trending audio, so sound has to be baked into the file. Captions have no clickable links, which is why the first comment field exists.
TikTok. Videos and photo carousels both work. TikTok requires privacy_level, allow_comment, allow_duet, allow_stitch, plus content_preview_confirmed and express_consent_given set to true. The simple post form fills those for you. Photo posts take a description up to 4,000 characters and an auto_add_music flag. You can send a post to the TikTok Creator Inbox as a draft instead of publishing it.
The hard difference. Creator OS can reply to comments on Instagram. On TikTok, replying to comments is not supported through the API, though hiding and deleting work on TikTok for Business accounts. TikTok has no DMs at all. If your workflow assumes one inbox across both, check the engagement matrix in the post options docs before you build on it.
How the Creator OS MCP Server Posts to Both Platforms at Once
Inside your AI app, one call looks roughly like this:
create_post(
content: "New build is live. Full walkthrough in the comments.",
platforms: ["instagram", "tiktok"],
media: ["https://cdn.example.com/reel.mp4"],
post_type: "reel"
)
The server uploads the media once, applies Reels handling to Instagram and the required consent flags to TikTok, then publishes. If one of the named networks is not connected, that name comes back in missing_platforms and the rest still go out. You do not lose the whole post because TikTok was never linked.
Two safeguards are worth knowing. First, connections can be read only. A read-only connection sees read tools only, and the API refuses writes from it, so an agent set up to inspect analytics cannot publish by accident. Second, destructive tools such as deleting a post or disconnecting an account are marked as destructive, so the AI app asks you before running them.
Analytics come back through the same server. get_post_analytics and get_daily_metrics mean the agent that posted can also report, and get_best_time_to_post means it can pick the next slot from your own data rather than a generic table.
Step-by-Step: Connect Claude or Cursor to Your Creator OS MCP Server
- Create a Creator OS account and connect your Instagram and TikTok accounts.
- In Claude, open Settings, then Connectors, then Add custom connector.
- Paste
https://mcp.creatoros.ca/mcp. - Sign in to Creator OS and pick the workspace the connection should use.
- Choose read only or read and write, based on what you want the agent to do.
ChatGPT takes the same URL as a connector in developer mode. For Claude Code, the command is:
claude mcp add --transport http creatoros \
https://mcp.creatoros.ca/mcp \
--header "Authorization: Bearer cos_live_..."
Cursor, Windsurf and VS Code use an mcpServers entry with type http, the URL and the same Authorization header. The client setup steps for each editor are in the Windsurf MCP setup guide, and there is a general walkthrough on the KevBuildsApps YouTube channel.
One connection maps to one workspace, and one workspace maps to one set of socials. An API key or MCP connection bound to workspace A cannot post to workspace B. If you run several brands, that separation is the feature.
Formatting One Video for Two Feeds: Captions, Hashtags and Aspect Ratios
Both feeds want vertical video, so a 9:16 file usually clears the bar for Reels and TikTok at the same time. The caption is where they part.
TikTok descriptions run up to 4,000 characters and tolerate hashtag blocks. Instagram captions have no clickable links, so a link belongs in the first comment. If your caption is written for TikTok length, it will still publish to Instagram, but the first comment is where the click comes from.
A practical pattern: keep one short hook line that works on both, put the long explanation in the TikTok description, and let the first comment carry the link on Instagram. Creator OS has a check_caption_length tool and a creatoros validate:post-length --text "..." CLI command so you can test a caption before you schedule it.
For covers, Instagram accepts a custom Reel cover or a frame offset, and TikTok accepts a cover image URL or a timestamp. One thumbnail file can serve both. If you want the background on how each network actually receives video, read the TikTok content posting API explained and the Instagram MCP server guide.
Scheduling, Retries and Error Handling Across Two Platforms
Schedule the post for a future time and the publish step happens server side, not inside your AI session. You do not need to leave Claude or Cursor open. The server handles the timing, and each platform’s success or failure is tracked separately.
When something fails, it should fail loudly and alone. The REST API returns one error shape, { error: { code, message, status } }, with typed IDs so you can tell an account from a post from a comment. Posts that need another attempt can be retried individually, and webhooks fire on events like post.published and comment.received, signed with X-CreatorOS-Signature, so your own system hears about the result.
The CLI mirrors this. creatoros posts:create takes --accounts or --platforms, plus --scheduledAt and --timezone, and creatoros posts:retry <postId> retries a single post. creatoros posts:list --status failed shows you what needs attention. The command surface is in the CLI docs.
Common Pitfalls When Posting to Instagram and TikTok Simultaneously
- Assuming both support comment replies. Instagram does. TikTok does not, through the API.
- Expecting TikTok DMs. There are none. Instagram DMs work, and both Instagram and Facebook support comment-to-DM keyword funnels.
- Forgetting TikTok’s consent flags. The simple post form fills them, but a hand-built payload must include them.
- Leaving trending audio for later. The API cannot attach it. Bake the sound into the file.
- Putting a link in an Instagram caption. It will not be clickable. Use the first comment.
- Posting publicly to TikTok from a business connection without deciding. Those publish public only unless you send them as drafts.
- Building on an invented base URL. The REST API’s base URL is in the docs. Read it there before you hardcode anything.
If you want to see how one tool call fans out in a real run, the KevBuildsApps launch video walks through the open-source Social Agents harness, which runs your socials on Creator OS from the command line.
Get Started With Creator OS
Create an account, connect Instagram and TikTok, and paste the MCP URL into your AI app. The Creator plan is $14.99 per month or $59.99 per year and covers 11 platforms plus Skool, one account on each. API keys, the MCP server, the CLI and the agent skills are included on every plan.
Sign up at https://www.creatoros.ca/sign-up and keep the MCP docs open while you wire up your first cross-post.
Get started for $0
Free trial for new subscribers. Cancel anytime.