MCP server · CLI · API

Let your AI agent make and post your short videos

Outshot has an MCP server, a command line with an agent skill, and an API. Claude Code, Codex, Hermes, OpenClaw or any agent that speaks MCP can make videos for your brand, change them and give them a day to post on TikTok, Instagram Reels and YouTube Shorts. You choose what it’s allowed to do.
  • Claude Code
  • Codex
  • Hermes Agent
  • OpenClaw
  • Grok Bot
  • dots
  • Muse

Three ways in

Every way reaches the same operations, with the same names. Pick the one your agent speaks.

MCP server

Sign in from your agent’s app, or give it a key in the Authorization header.

Streamable HTTP

https://mcp.outshot.ai/mcp

Command line and skill

For agents with a terminal, like Claude Code, Codex and Hermes. Needs Node 22 or later. On GitHub.

Install

npm i -g outshot

Add the skill

npx skills add TangaApp/outshot-cli

API

Every operation over HTTPS, for your own scripts and tools. API reference.

Base URL

https://api.outshot.ai/v1

Connect Claude Code or Codex

Make a key in Outshot (API, in the app), put it in your shell as OUTSHOT_API_KEY, then add the server.

Claude Code

claude mcp add --transport http outshot https://mcp.outshot.ai/mcp \
  --header "Authorization: Bearer $OUTSHOT_API_KEY"

Codex

# ~/.codex/config.toml
[mcp_servers.outshot]
url = "https://mcp.outshot.ai/mcp"
bearer_token_env_var = "OUTSHOT_API_KEY"

Claude Code: the skill

/plugin marketplace add TangaApp/outshot-cli
/plugin install outshot@outshot

Other MCP clients

URL:     https://mcp.outshot.ai/mcp  (streamable HTTP)
Header:  Authorization: Bearer osk_your_key

The full guide, with keys, credits and errors, is in the API docs.

What your agent can do

Every tool on the MCP server, the same as an operation in the API and a command in the command line.

See

See videos and brand: every key can.

  • get_brand

    What Outshot knows about the brand: product, audience, content themes, tone.

  • get_weekly_batch

    The brand's weekly batch: whether next week's videos are made by themselves, the day they're ready, the week's goal of kept videos, the email when it's ready, and the next batch (about how many videos, the most credits it can use, whether it's skipped).

  • list_videos

    The videos waiting for a decision, oldest first. With a key that can make changes, reading it also asks for new videos when fewer than the target are waiting, as opening the app does (10 credits each, 15 for a Demo video, 20 for a talking head, 25 for a Creator video).

  • get_video

    One video as it is now. Use it to follow a change until its state is ready.

  • list_calendar

    Kept and posted videos, by posting day, with their links once posted (each platform's in `platforms`): those still to come, and those of the last 30 days (past_days to go further back).

  • list_content

    Every video the brand kept, posted or skipped, each in its group: ready (kept with no day yet; or `missed`: its time passed without posting, or its send stopped midway), scheduled, posted, skipped (kept 30 days, until `deletes_on`).

  • get_credits

    The credit balance, the plan, and what each thing uses.

  • get_posting

    The posting days, the time and time zone videos post at, whether kept videos take the next open day by themselves (auto_schedule), whether they post to TikTok by themselves, and which platforms they post to (TikTok, Instagram, YouTube: each connected one, unless switched off).

  • list_trends

    The Library: trending TikToks the brand's videos are made from (how each is built, its reach), saved ones first. `makes`: what make_video_from_trend would make from it.

  • list_demos

    The product demos (screen recordings) that Demo videos are made with.

  • list_make_as

    The formats a video can be made again as (make_video_as), with what each costs.

  • get_video_settings

    The brand's formats (each on or off, and why one can't be made), how often videos name the brand, where a talking head's host stands, the voice and the look.

Make and change

Make changes: Edits, remakes and skips videos, makes one from a trend, changes posting. Uses credits.

  • update_weekly_batch

    Turn the weekly batch on or off, choose its day, the week's goal or the email, or skip the next batch. A batch uses credits as every video does, within the week's share of the plan.

  • answer_deck_week

    Answer the deck when it asks (its week's goal of kept videos reached, or the week's credits used), or start it again: keep (keep swiping), stop (nothing new for now), automate (next week's videos are made by themselves) or keep_going (go past this week's credits).

  • update_brand

    Change the brand's goal, tone, audience, words to avoid, or content themes. New videos follow the changes.

  • skip_video

    Pass on a waiting video. A new one is made in its place (10 credits each, 15 for a Demo video, 20 for a talking head, 25 for a Creator video).

  • undo_video

    Take back a decision: a skipped or kept video goes back to waiting.

  • edit_video0-15 credits

    Change a video's words. Changing the caption or hashtags is free and immediate; changing words on screen remakes the video. A voiced video (Narrated, Website tour, talking head) changes its spoken words (`spoken`): a new voice-over, and for a talking head a new take.

  • swap_media2-15 credits

    Swap one picture, clip, section, background, host or track in a video for the next pick, and remake it (a talking head's new host is a new take).

  • change_look1 credit

    Change how a voiced video looks: its captions (word or card), emoji, graphics, transitions, sound effects or music (each on or off), or a talking head's layout (split screen or cut-out). Re-rendered with the same voice-over and take.

  • make_video_as8-15 credits

    Make a video again in another format (one of list_make_as), with the same idea. It keeps its format until the new one is made.

  • regenerate_video8-15 credits

    Make a video again from the same trend, with new words and media (a talking head: a new take).

  • remove_closer1 credit

    Remake a Demo video without its closing reaction.

  • set_posting_days

    Choose the days that get a video (one video a day). Kept videos stay on their day.

  • update_posting

    Change the posting days, auto-schedule, the time or the time zone. Kept videos keep their day; a new time moves the ones still to come to it.

  • answer_missed

    Say whether a `missed` video (list_content) is on TikTok: its time passed without posting (posted by hand?), or its send stopped midway. Yes: it's marked posted; no: it waits in ready for a new day. With `platform` (instagram or youtube): whether its post there is live, when that platform's mark says needs_answer (no: it can be tried again).

  • create_demo_upload

    Add a product demo: a 5 to 20 second screen recording. Gives back where to upload it.

  • complete_demo_upload

    Say a demo's video is uploaded. It's checked and made ready in the background. The brand's first demo then gets a Demo video made with it (15 credits).

  • set_demo_line

    Say what a demo shows. Demo videos made with it follow the line. With the brand's first demo, a Demo video is then made with it (15 credits).

  • make_video_from_trend10-25 credits

    Make a video now from a trend in the Library: it's first in the deck (list_videos) in about half a minute. `format`: one of the trend's can_make (list_trends), its own when not given; a trend built around a hook becomes a Demo video when the brand has a demo or its website filmed.

  • update_video_settings

    Switch formats on or off, choose how often videos name the brand, the host's layout, the voice or the look. Videos planned after the change follow it.

  • set_demo_rhythm

    How many Demo videos a week (0 to 3).

  • delete_demo

    Delete a product demo. It can't be undone.

Keep and post

Post your videos: Approves videos so they post to your TikTok, Instagram and YouTube on their day, or posts them right away.

  • approve_video

    Keep a video: it takes the next free posting day (with auto_schedule off, it waits in ready with no day). It then posts by itself on that day to the brand's connected platforms: TikTok with the brand's saved TikTok choices, Instagram and YouTube (not slideshows). With a key that can also make changes, a new video is made in its place (10 credits each, 15 for a Demo video, 20 for a talking head, 25 for a Creator video).

  • schedule_video

    Set a kept video, made before TikTok was connected, to post to TikTok by itself on its day, with the brand's saved TikTok choices. Only one waiting to be posted by hand whose time is still ahead: one whose time has passed may already be on TikTok.

  • place_video

    Give a kept, skipped or unposted video a day, or move one to another day (one video a day; swap to trade days with the video there). No day: the next open posting day. With a platform connected it then posts by itself (TikTok with the brand's saved TikTok choices, Instagram, YouTube).

  • post_video_now

    Post a kept, skipped or unposted video now (it goes out within 15 minutes) to every platform the brand posts to: TikTok with the brand's saved TikTok choices, Instagram and YouTube (not slideshows). One of them must be connected.

  • retry_platform

    Send a video's Instagram or YouTube post again (within 15 minutes): one turned down there, or whose time passed without it going out (its platform mark says can_retry). Never one that's live there, or whose send may have posted.

Questions about agents and MCP

What is an MCP server?

MCP (Model Context Protocol) is the open standard AI agents use to call tools. Outshot’s MCP server gives an agent like Claude Code or Codex tools to see your videos, make new ones from trends, change them, and give them a day to post on TikTok, Instagram and YouTube.

Is there an MCP server that makes and posts TikTok videos?

Yes: Outshot’s, at https://mcp.outshot.ai/mcp. It makes short-form videos for your brand and posts them to TikTok, Instagram Reels and YouTube Shorts. TikTok’s own MCP server is for ads (campaigns and reporting), not for making or posting videos.

How do I connect Claude Code to Outshot?

Make a key in Outshot (API, in the app), put it in your shell as OUTSHOT_API_KEY, then run: claude mcp add --transport http outshot https://mcp.outshot.ai/mcp --header "Authorization: Bearer $OUTSHOT_API_KEY". Or add the command line’s skill with /plugin marketplace add TangaApp/outshot-cli.

Can my agent post without asking me?

Only if you let it. Each key works for one brand and only for what you allowed when you made it: see, make changes, or post. The command line keeps or posts a video only with --yes, and its skill tells the agent to ask you first.

What can’t an agent do?

Connecting TikTok, Instagram and YouTube, plans and payments, and making keys stay in the app, with you. When a video posts to TikTok, it uses the choices you made in Outshot (who can see it, comments, duets); an agent can’t change them.

Does using an agent cost extra?

No. An agent uses the same credits you do: 10 for a new video, 1 or 2 for most changes. A key that can only read never uses any.

Your next 30 viral videos start with one link.

Paste your website. Your first swipeable videos are ready in about two minutes, and the first 5 are free.

Your first 5 videos are free. No card needed.

Questions, ideas or a video you’re proud of? Come say hi on Discord.