MCP Connector

Upload Videos to YouTube via CLI

YouTube Uploader MCP uploads videos to YouTube from Claude or Cursor with AI-assisted metadata, OAuth2, and no shared secrets.

Works with youtube

90
Spark score
out of 100
Updated 2 months ago
Source checked Sep 10, 2026
Version 0.2.0
Models
universal

Add to Favorites

Why it matters

Automate your YouTube video uploads directly from your command line. This asset handles the complexities of OAuth2 authentication and token management for seamless video publishing.

Outcomes

What it gets done

01

Configure OAuth2 authentication for YouTube

02

Manage access and refresh tokens

03

Upload video files using command-line arguments

04

Execute uploads via an MCP server command

Source

Get it from source

Spark does not host a copy of it.

Open source

Reports

Agent outcome reports

No reports yet

Capabilities

Tools your agent gets

upload_video

Upload a video to YouTube with OAuth2 authentication

Overview

Youtube Uploader MCP Server

YouTube Uploader MCP lets Claude, Cursor, or VS Code upload videos to YouTube with AI-assisted metadata generation, OAuth2 authentication, and a separate tool for post-upload playlist, thumbnail, and subtitle configuration. Use it when uploading a finished video to YouTube directly from an AI assistant conversation, with the assistant helping draft metadata as part of the same flow.

What it does

YouTube Uploader MCP is an AI-powered YouTube uploader that lets Claude, Cursor, VS Code, or any other MCP client upload videos directly to YouTube - no CLI, no YouTube Studio, and no secrets shared with the LLM or third-party apps. It handles OAuth2 authentication with token management and auto-refreshing, generates titles, descriptions, and tags via the connected MCP client, and supports category tags, optional language settings, privacy levels (public, private, unlisted), and scheduled publish times. A separate post-upload tool covers adding videos to playlists, uploading custom thumbnails under 2MB, and attaching subtitles.

When to use - and when NOT to

Use this when you want to upload a finished video to YouTube directly from an AI assistant conversation, with the assistant helping draft the metadata (title, description, tags) as part of the same flow, rather than switching to YouTube Studio. It requires Google OAuth2 credentials configured via the Google Developer Console first, and subtitle uploads specifically require the sensitive youtube.force-ssl scope - existing users authenticated before this scope was added need to delete their cached channel file and re-run authentication, or subtitle uploads will fail with a 403.

Inputs and outputs

Six tools are registered: authenticate (generates the OAuth2 URL), accesstoken (exchanges the code for credentials and channel info), channels (retrieves authenticated channels), refreshtoken (force-refreshes tokens), upload_video (uploads the video file with title, description, tags, category, optional language, privacy status, kids' flags, and scheduled publish time), and update_video (a decoupled tool for post-upload configuration: adding to a playlist, uploading a thumbnail under 2MB, and attaching subtitle/caption tracks).

Integrations

Installed with a single command on Mac/Linux (/bin/bash -c "$(curl -fsSL .../install.sh)") or Windows PowerShell, which downloads OAuth client secret files if missing, downloads the MCP server binary, sets minimum required permissions, auto-updates the Claude Desktop config, and prints the exact MCP config for other clients like VS Code, Cursor, or AnythingLLM. Manual installation downloads a platform-specific binary from Releases and configures it in an MCP client with a client_secret_file argument pointing at the downloaded OAuth credentials.

Who it's for

Content creators and channel managers who want to upload videos to YouTube directly from an AI assistant, with AI-assisted metadata generation, without exposing credentials to the LLM or juggling the YouTube Studio UI.

Setup and usage are also documented via a walkthrough video and a dedicated OAuth2 setup guide (youtube_oauth2_setup.md), and pre-built binaries are published per platform (Linux amd64, macOS arm64, Windows amd64) for anyone preferring manual installation over the single-command script.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/anwerj/youtube-uploader-mcp/master/scripts/install.sh)"
Source README

YouTube Uploader MCP

Trust Score
Tests

AI‑powered YouTube uploader-no CLI, no YouTube Studio, and no secrets ever shared with LLMs or third‑party apps and all free of cost! It includes OAuth2 authentication, token management, and video upload functionality.

Features

  • Direct Uploads: Upload videos to YouTube from Claude, Cursor, VS Code, or any other MCP client.
  • AI-Assisted Metadata: Automatically generate titles, descriptions, and tags via your MCP client.
  • OAuth2 Authentication: Secure local login, multi-channel support, and auto-refreshing.
  • Metadata & Settings: Category tags, optional language settings, and explicit metadata control.
  • Privacy & Scheduling: Support for public, private, or unlisted statuses, and scheduled publish times.
  • Post-Upload Configs (update_video): Add videos to playlists, upload custom thumbnails (<2MB), and attach subtitles.

Single Command Installation

For Mac and Linux

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/anwerj/youtube-uploader-mcp/master/scripts/install.sh)"

For Windows(Powershell)

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/anwerj/youtube-uploader-mcp/master/scripts/install.ps1" -OutFile "$env:TEMP\install.ps1"; PowerShell -NoProfile -ExecutionPolicy Bypass -File "$env:TEMP\install.ps1"

Expected result

This single command will

  1. Help in downloading oAuth client secret files, if not downloaded,
  2. Download the MCP server,
  3. Set minimum required permission to run mcp server,
  4. Auto update Cluade Desktop config with youtube-uploader-mcp server and
  5. At last print exact MCP config for any other clients VS Code/Cursor/AnythingLLM etc.

Demo

Setup and Demo Video

output

Manual Installation

Please check Single Command Installation, proceed if you prefer manual installation.

Visit the Releases page and download the appropriate binary for your operating system:

  • youtube-uploader-mcp-linux-amd64
  • youtube-uploader-mcp-darwin-arm64
  • youtube-uploader-mcp-windows-amd64.exe
  • etc.

You can use the latest versioned tag, e.g., v1.0.0.


2. Make it Executable (Linux/macOS)

chmod +x path/to/youtube-uploader-mcp-<os>-<arch>

3. Configure MCP (e.g., in Claude Desktop or Cursor)

{
  "mcpServers": {
    "youtube-uploader-mcp": {
      "command": "/absolute/path/to/youtube-uploader-mcp-<os>-<arch>",
      "args": [
        "-client_secret_file",
        "/absolute/path/to/client_secret.json(See Below)"
      ]
    }
  }
}

4. Set Up Google OAuth 2.0

To upload to YouTube, you must configure OAuth and get a client_secret.json file from the Google Developer Console.

➡️ Follow the guide in youtube_oauth2_setup.md for a step-by-step walkthrough.

Usage & Tool Orchestration

The MCP server registers the following tools:

  1. authenticate: Generates the OAuth2 URL for authentication.
  2. accesstoken: Exchanges the code for user credentials and channel info.
  3. channels: Retrieves authenticated channels.
  4. refreshtoken: Force-refreshes tokens.
  5. upload_video: Uploads the video file and configures main details (title, description, tags, category, optional language, status, kids' flags, scheduled publish).
  6. update_video: Decoupled tool that manages post-upload configurations: adds the video to a playlist, uploads a custom thumbnail (must be <2MB), and attaches subtitle/caption tracks.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.