Distro

MEET DISTRO

Turn a prompt into a short-form video. Preview, schedule, and publish to your connected social accounts, all from your AI agent.

MCP server URL

https://mcp.trydistro.app/mcp
Example of an agent preparing a TikTok preview with Distro
mcp.trydistro.app/mcp

TaskMake a launch video and preview it for TikTok.

  1. generate_videoRender queued
  2. get_jobVideo ready
  3. publishTikTok dry run

Preview ready to review.

Connect your agent

Choose an MCP client

Add Distro from your terminal.

claude mcp add --transport http distro https://mcp.trydistro.app/mcp

In Claude Code, open /mcp and select Distro to authorize it.

What you can do

Connect your accounts
Link the social accounts your agent can publish to.
Generate a video
Give your agent a prompt and render a short clip.
Publish on your schedule
Preview the post, then publish now or schedule it for later.

Social accounts

Developer details

Tools

Find arguments and results in the tool reference.

Accounts

connect_account
Returns a consent link for a platform. The user approves and the account is linked.
list_accounts
Which accounts are linked, and whether each is still active.
list_all
Everything the workspace has set up: profiles with their accounts, signed-in services, and which API keys are filled in.
list_profiles
The profiles in the workspace. A profile groups the accounts of one brand or client.
create_profile
A new profile, to keep another brand's or client's accounts apart.
rename_profile
Renames a profile. Its connected accounts stay.
delete_profile
Deletes a profile for good.

Video

list_models
Every generation model the server can call.
create_upload
A one-time link for uploading a file from your machine.
generate_video
Starts a render from a model id and a prompt.
get_job
Job status, then the video URL once it is ready.

Research

find_viral_videos
The most-viewed recent TikToks, Reels or Shorts on a topic, merged from several scraper services.
get_video_hook
The spoken hook and full transcript of a TikTok video.
scrape_page
Any public page as markdown, through Firecrawl, Jina, Tavily or Exa.
web_search
Web results with titles, URLs and snippets.
connect_keys
Returns a link where the user adds their own scraper keys. Optional.
connect_darkugc
Returns a sign-in link for the user's own DarkUGC account.
darkugc_list_tools
The DarkUGC research tools and their exact argument schemas.
darkugc_call
Top hooks, trends and niche breakdowns from the DarkUGC library.

Ads

connect_ads
Returns a link to grant access to an ad account on Meta, TikTok, Google and more.
list_ad_accounts
The ad accounts each connection can spend from.
boost_post
Turns a published post into a paid ad. Dry-run unless told otherwise.
create_ad
A new ad from a video or image. Dry-run unless told otherwise.
list_ads
Ads with status, budget and results.
set_ad_status
Pauses or resumes one ad.
get_ad_analytics
Spend, impressions and clicks for one ad, day by day.

Managed accounts

connect_tokportal
Returns a sign-in link for the user's own TokPortal account.
tokportal_list_tools
The TokPortal tools: credit balance, countries, account orders, video scheduling, analytics, bans.
tokportal_call
Orders an account, schedules its videos or reads its results on TokPortal. Dry-run unless told otherwise.

Publish

publish
Posts a video to linked accounts, now or on a schedule. Dry-run unless told otherwise.

Video models as jobs.

Renders take minutes. Agents should not wait on them, so every model runs behind the same three calls.

Pick a model
list_models returns what the server can call, so the agent never guesses an id.
Start a job
generate_video answers at once with a job id. A render never blocks a tool call.
Collect the file
get_job reports progress, then a video URL you can hand straight to publish.

Paid ads, dry-run first.

Meta, TikTok, Google, LinkedIn, X, Pinterest, Reddit and Microsoft ad accounts behind one set of tools. Nothing is spent until you say so.

Connect an ad account
connect_ads returns a consent link. list_ad_accounts shows what each connection can spend from, with currency and billing state.
Boost or create
boost_post promotes a post you already published. create_ad builds a new ad from a video or image. Both only preview the request until dry_run is turned off.
Watch and pause
list_ads and get_ad_analytics report spend, impressions and clicks day by day. set_ad_status pauses an ad in one call.

MCP, REST, and Skill examples

// tools/call{  "name": "connect_account",  "arguments": { "platform": "tiktok" }} // result{  "platform": "tiktok",  "auth_url": "https://www.tiktok.com/v2/auth/authorize?client_key=..."}

OAuth 2.0

Agents authorize with Distro using PKCE. Social accounts are linked on each platform's consent screen through Zernio. Platform tokens stay on the server.

POST /mcp401  WWW-Authenticate: Bearer resource_metadata=     "https://mcp.trydistro.app/.well-known/oauth-protected-resource" // discoveryGET  /.well-known/oauth-protected-resourceGET  /.well-known/oauth-authorization-server // client id metadata document, or dynamic registrationPOST /oauth/register // authorization code with PKCEGET  /authorize?response_type=code       &code_challenge=...&code_challenge_method=S256       &resource=https://mcp.trydistro.app       &scope=accounts video research publish ads managedPOST /oauth/token POST /mcp     Authorization: Bearer <access_token>