Youtube Uploader MCP
Implements Google OAuth 2.0 authentication flow for secure authorization, managing access tokens and refresh tokens to maintain YouTube API access.
Provides video uploading capabilities to YouTube channels with OAuth2 authentication, token management, and multi-channel support, allowing AI agents to upload videos directly without using YouTube Studio.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Youtube Uploader MCPupload my vacation video with title 'Hawaii Trip 2024' and set it as unlisted"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: YouTube Shorts & Instagram Reels MCP Server
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.exeetc.
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.
Important: Sensitive OAuth Scope & Re-Authentication:
Subtitle/caption upload relies on the https://www.googleapis.com/auth/youtube.force-ssl scope, 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), and attaches subtitle/caption tracks.
Contributing
See CONTRIBUTING.md to contribute.
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anwerj/youtube-uploader-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server