MCP Connector

Upload Videos to YouTube via CLI

MCP server that uploads videos to YouTube directly from Claude, Cursor, or VS Code with OAuth2 authentication, AI-assisted metadata generation, and post-upload

Works with youtube

90
Spark score
out of 100
Updated 13 days ago
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

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/vb-youtube-uploader-mcp | bash

Capabilities

Tools your agent gets

upload_video

Upload a video to YouTube with OAuth2 authentication

Overview

Youtube Uploader MCP Server

YouTube Uploader MCP is a Model Context Protocol server that enables direct video uploads to YouTube from MCP clients like Claude Desktop, Cursor, VS Code, and AnythingLLM. It provides OAuth2 authentication, token management, and six tools for the complete upload workflow: authenticate, accesstoken, channels, refreshtoken, upload_video, and update_video. The upload_video tool handles video files with metadata including titles, descriptions, tags, category settings, privacy options, and scheduled publish times. The update_video tool manages post-upload configurations including playlist addition Use this connector when you want to upload videos to YouTube from within your AI workflow and generate video metadata using your LLM client. It's designed for content creators managing multiple YouTube channels who want to keep OAuth credentials local without sharing them with LLMs or third-party services. Do NOT use this if you need YouTube Studio features beyond what the upload and update_video tools provide.

What it does

YouTube Uploader MCP is a Model Context Protocol server that enables direct video uploads to YouTube from any MCP client (Claude Desktop, Cursor, VS Code, AnythingLLM) without using the YouTube Studio interface or command-line tools. It handles OAuth2 authentication locally, manages tokens across multiple channels, and provides tools for uploading videos with metadata control including titles, descriptions, tags, category settings, privacy options, scheduled publish times, custom thumbnails, playlist assignment, and subtitle attachment.

When to use - and when NOT to

Use this connector when you want to upload videos to YouTube from within your AI workflow, generate video metadata (titles, descriptions, tags) using your LLM client, or manage multiple YouTube channels without switching contexts. It's designed for content creators who want to streamline publishing while keeping OAuth credentials local and never shared with third parties.

Do NOT use this if you need YouTube Studio's advanced features beyond what the upload and update_video tools provide. This server focuses on video upload and post-upload configuration tasks.

Inputs and outputs

You provide a video file path, metadata (title, description, tags, category), privacy settings (public, private, unlisted), optional language settings, scheduled publish times, and post-upload assets like thumbnails (under 2MB) and subtitle files. The server requires a Google OAuth2 client_secret.json file from Google Developer Console.

The server provides six tools: authenticate (generates OAuth2 URL), accesstoken (exchanges code for credentials and channel info), channels (retrieves authenticated channels), refreshtoken (force-refreshes tokens), upload_video (uploads video file with main details), and update_video (manages post-upload configurations including playlist additions, thumbnail uploads, and subtitle attachments).

Integrations

Compatible MCP clients include:

  • Claude Desktop: Direct integration via MCP configuration for conversational video uploads
  • Cursor: IDE-based video publishing workflow
  • VS Code: Editor-integrated YouTube management
  • AnythingLLM: Multi-model AI client support

Requires Google OAuth2 setup through Google Developer Console with the https://www.googleapis.com/auth/youtube.force-ssl scope for full functionality including subtitle uploads.

Installation

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"

The installer downloads the OAuth client secret, sets permissions, updates Claude Desktop config automatically, and prints configuration for other MCP clients.

Manual configuration example:

{
  "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)"
      ]
    }
  }
}

Who it's for

Content creators, video producers, and developers who publish to YouTube regularly and want to integrate uploads into AI-assisted workflows. Ideal for users managing multiple YouTube channels who need secure, local OAuth management without exposing credentials to LLMs or third-party services. The free, open-source approach suits creators who want control over their authentication flow and upload automation.

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.