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.
0.2.0Add 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
Configure OAuth2 authentication for YouTube
Manage access and refresh tokens
Upload video files using command-line arguments
Execute uploads via an MCP server command
Source
Get it from source
Spark does not host a copy of it.
Open sourceReports
Agent outcome reports
No reports yet
Capabilities
Tools your agent gets
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
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
- Help in downloading oAuth client secret files, if not downloaded,
- Download the MCP server,
- Set minimum required permission to run mcp server,
- Auto update Cluade Desktop config with youtube-uploader-mcp server and
- At last print exact MCP config for any other clients VS Code/Cursor/AnythingLLM etc.
Demo
Setup and Demo Video
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-amd64youtube-uploader-mcp-darwin-arm64youtube-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:
authenticate: Generates the OAuth2 URL for authentication.accesstoken: Exchanges the code for user credentials and channel info.channels: Retrieves authenticated channels.refreshtoken: Force-refreshes tokens.upload_video: Uploads the video file and configures main details (title, description, tags, category, optional language, status, kids' flags, scheduled publish).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.
