YouTube MCP server: let Claude or any agent upload your videos and Shorts

Add https://postwire.io/api/mcp to your agent as a remote MCP server, connect your channel once with Google, and the agent uploads a video with post_to_social — or schedules it with schedule_post — with its title (up to 100 characters), description, tags and privacy: public, unlisted or private. YouTube decides what is a Short: a square or vertical video of up to three minutes is categorized as one. PostWire uploads through its own Google-verified app, so you need no Google Cloud project and no API quota of your own.

No video yet? make_video_from_text turns the words of a post into an 8–12 second vertical MP4 (1080×1920) that YouTube accepts as a Short.

Updated . Written from PostWire's own code; vendor prices read on Oct 6, 2026. Live networks: TikTok, Instagram, YouTube, LinkedIn (personal profiles), Facebook Pages, Bluesky, Mastodon, Telegram, Discord, and X on paid plans.

Set it up and upload, step by step

  1. Add PostWire's MCP server to your agent

    In Claude, open PostWire in the connector directory and press Connect. Anywhere else, add the remote server https://postwire.io/api/mcp (Streamable HTTP; OAuth sign-in or an API key) — in Claude Code: claude mcp add --transport http postwire https://postwire.io/api/mcp. Cursor, VS Code, Windsurf, Codex and Gemini CLI configs: MCP client configs.

  2. Sign in with your email

    The first time the agent uses a PostWire tool, a sign-in window asks for your email and a 6-digit code; that also creates a free PostWire account if you have none. No password and no card. Agents that cannot do OAuth send an API key instead (dashboard → API & MCP → Copy key).

  3. Connect your YouTube channel

    Ask "connect my YouTube". create_connect_link gives you a one-hour link; you sign in with Google on Google's own page and pick the channel. PostWire never sees your Google password.

  4. Get the video to PostWire

    Pass a public https link as video_url, or ask for an upload link: create_upload_link opens a 24-hour page where you pick the file on your phone or laptop (MP4, MOV or WebM, up to 1 GB), and get_uploaded_file returns the media_url to post. A video on a host that does not report its size is limited to 80 MB, so big files go through the upload link.

  5. Let PostWire write the title, description and tags

    "Write the YouTube title and description for this video, and a TikTok caption." generate_posts returns a title with the main keyword first, a description and 5–8 tags for YouTube — and each other network's version — without publishing anything.

  6. Upload it, with the privacy you want

    After you approve, the agent calls post_to_social (or schedule_post with run_at). Say the privacy out loud: without it, PostWire uses the default saved for the channel, and private when there is none.

    {
      "name": "post_to_social",
      "arguments": {
        "platforms": ["youtube"],
        "per_platform": { "youtube": {
          "title": "Cut onboarding to 2 minutes: 3 changes",
          "text": "We cut onboarding from 9 steps to 3. Here is what changed …",
          "tags": ["saas onboarding", "product-led growth", "activation"]
        } },
        "video_url": "https://postwire.io/m/…/demo.mp4",
        "privacy": "public"
      }
    }
  7. Check processing

    PostWire sends the file to YouTube in 32 MB pieces with YouTube's resumable upload. A big file that does not finish inside one request carries on from the last confirmed byte a few minutes later, never from zero. get_post_status returns the video's link and YouTube's processing status.

Custom thumbnails go through the REST API's thumbnail_url (an image up to 2 MB); if YouTube refuses the thumbnail, the video still publishes and the result says why.

YouTube MCP servers, side by side

Each vendor's endpoint, sign-in and price, read on its own YouTube MCP or pricing page on Oct 6, 2026.

ServerEndpointSign-inFree to startCheapest paid planWrites the title and tags
PostWirehttps://postwire.io/api/mcpOAuth 2.1 or API keyFree plan: 1 business, 20 posts a month, 5 AI drafts a day, 2 networks per post, no card$9/mo — 3 businesses, every network in each postYes — generate_posts writes the YouTube version and each other network's from one idea
Upload-Postmcp.upload-post.com/mcpOAuth or API keyFree plan: 2 profiles, 10 uploads a month$24/mo — 5 profilesNot listed
Blotatomcp.blotato.com/mcpOAuth (Claude) or API key headerNo — its 7-day trial excludes API and MCP access$29/mo — 20 accountsNot listed
Zerniomcp.zernio.com/mcpOAuth or API keyFirst 2 connected accounts free$6 per account a month after 2Not listed

Checked on Oct 6, 2026 (2026-10-06) on each vendor's own pricing or docs page, linked in the first column and below. Monthly billing in USD unless noted. "Not listed" means we could not find it on their page, not that it is missing.

Where PostWire is ahead

  • Title, description and tags written for YouTube, from the same idea that writes the TikTok and Instagram captions: generate_posts, one call.
  • One upload to YouTube, TikTok and Instagram Reels at once, each with its own text, in one post_to_social call.
  • No video? Make one: make_video_from_text renders an 8–12 s vertical MP4 from the post's words, on every plan.
  • YouTube and TikTok on the free plan, without a card. Upload-Post's free plan leaves TikTok out; Blotato's trial excludes its MCP access.
  • Big files from your phone: an upload link takes up to 1 GB, and the upload to YouTube resumes where it stopped instead of starting over.
Sources, all read on Oct 6, 2026:

YouTube's rules the agent works within

  • Shorts: YouTube categorizes a square or vertical video of up to three minutes as a Short (videos uploaded after Oct 15, 2024 on standard channels; YouTube Help, read Oct 6, 2026). There is no separate "Short" switch in the upload.
  • Title up to 100 characters, description up to 5,000, tags up to 500 characters in total: PostWire trims to these limits before sending.
  • Made for kids: PostWire declares uploads as not made for kids. If your video is made for kids, change it in YouTube Studio after it is uploaded.
  • Video only: YouTube takes no text or photo posts, so every YouTube post through PostWire needs a video_url.

More on the API itself: Does YouTube have an API? · one video to every short-video network: TikTok and YouTube Shorts from one MCP call.

What it does not do

PostWire uploads, schedules and reports your own videos' views (get_post_performance ranks them against your channel's median). It does not read or answer comments, manage playlists, or download other people's videos or transcripts.

Questions people ask

Is there an MCP server that uploads videos to YouTube?

Yes. PostWire's hosted MCP server (https://postwire.io/api/mcp) uploads a video to your channel with its title, description, tags and privacy, from Claude, ChatGPT, Cursor or any MCP client, and can schedule it for later.

Can it upload YouTube Shorts?

Yes. YouTube itself decides what is a Short: a square or vertical video of up to three minutes is categorized as a Short. Upload it the same way as any video.

Do I need a Google Cloud project or my own API quota?

No. You connect your channel to PostWire's Google-verified app (verification of the youtube.upload scope, July 1, 2026), so there is no project, API key or quota to manage on your side.

Will the video be public?

If you ask for it: pass privacy "public", "unlisted" or "private". Without a value PostWire uses the default saved for the channel, and private when there is none.

Can it set a custom thumbnail?

Through the REST API's thumbnail_url (an image up to 2 MB). If YouTube refuses the thumbnail, the video still publishes and the result explains why.

Can it reply to comments or read analytics?

It reads your own videos' views to rank them (get_post_performance). It does not read or reply to comments.

How much does it cost?

The free plan includes YouTube and the MCP server: 1 business, 20 posts a month, 5 AI drafts a day, 2 networks per post, no card. Starter is $9 a month for 3 businesses and Pro $29 for 10, with every network in each post; paid plans have a 14-day refund.