About Youtube Uploader Mcp
YouTube Uploader MCP is an MCP server for uploading and managing YouTube videos from AI clients. It handles OAuth2 authentication and tokens locally, and supports post-upload playlist, thumbnail, subtitle, and publishing settings.
Key features
- 01OAuth2 authentication and token refresh
- 02Upload videos with metadata
- 03Set public, private, or unlisted status
- 04Schedule video publication
- 05Manage playlists, thumbnails, and subtitles
- 06List and search channel videos
Use cases
- 01Upload and configure videos from an MCP client
- 02Manage multiple authenticated channels
- 03Add subtitles or thumbnails to uploaded videos
- 04Schedule publication of private videos
MCP support
The MCP server provides clients with tools for authentication, channel lookup, video upload and updates, and listing channel videos.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project 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), attach subtitles, schedule publish time on already-uploaded videos, and update made-for-kids settings.
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.
Warning
Important: Sensitive OAuth Scope & Re-Authentication: Subtitle/caption upload relies on the
https://www.googleapis.com/auth/youtube.force-sslscope, which is required by the YouTube Data API to perform caption write operations.
- Existing Users: If you authenticated with an older version of this MCP, your saved token will lack this scope. Any calls attempting to upload subtitles will fail with a
403 ForbiddenAPI error.- How to Update: You must delete the channel cache file (usually
.youtube_uploader_channels_cachein your working directory) and rerun theauthenticatetool to grant the new permissions.- Google Console Warning: Adding this sensitive scope will trigger a warning screen in Google Cloud Console. Since this is for your personal use, you can safely proceed past the "unverified app" warnings.
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), attaches subtitle/caption tracks, schedules an existing private video to publish at an RFC3339 time, and updates the made-for-kids audience setting.list_videos: Lists videos uploaded to a channel (public, unlisted, and private), with optional title/description search, privacy filter, and date ordering.
Contributing
See CONTRIBUTING.md to contribute.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
