mcpField
Y
YouTube MCP Server

YouTube MCP Server

Local
github.com/adamanzMedia & Design0Updated 74w ago

About YouTube MCP Server

YouTube MCP Server lets Claude Desktop and other MCP clients upload videos to YouTube and manage upload-related settings. It provides OAuth2 setup alongside quota and category tools.

Key features

  1. 01Upload videos with metadata
  2. 02Configure YouTube OAuth2
  3. 03Check API quota and channel info
  4. 04List regional video categories
  5. 05Resumable video uploads

Use cases

  1. 01Upload a video with title and privacy settings
  2. 02Check quota before planning uploads
  3. 03Choose a category for a regional audience

MCP support

It exposes YouTube upload and account-related tools to MCP clients, including video upload, quota checks, category listing, and OAuth2 setup.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

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 MCP Server

An MCP (Model Context Protocol) server that enables uploading videos to YouTube through Claude Desktop or any MCP-compatible client.

Features

  • 📹 Upload Videos: Upload video files to YouTube with customizable metadata
  • 🔐 OAuth2 Authentication: Secure authentication with YouTube API
  • 📊 Quota Checking: Monitor your YouTube API usage
  • 📝 Category Listing: Browse available video categories
  • 🔧 Easy Setup: Built-in credential configuration tool

Prerequisites

  • Python 3.10 or higher
  • A Google Cloud Project with YouTube Data API v3 enabled
  • OAuth2 credentials from Google Cloud Console
  • Claude Desktop (or another MCP client)

Setup Instructions

1. Install Dependencies
# Clone or download this repository
cd youtube-mcp-server

# Create virtual environment
python -m venv venv

# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate

# Install required packages
pip install -r requirements.txt
2. Set Up Google Cloud Credentials
  1. Go to Google Cloud Console
  2. Create a new project or select existing one
  3. Enable YouTube Data API v3:
    • Go to "APIs & Services" > "Library"
    • Search for "YouTube Data API v3"
    • Click Enable
  4. Create OAuth2 credentials:
    • Go to "APIs & Services" > "Credentials"
    • Click "Create Credentials" > "OAuth client ID"
    • Choose "Desktop app" as application type
    • Download the credentials JSON file
3. Configure Claude Desktop

Add the server to your Claude Desktop configuration:

macOS/Linux:

# Open config file
code ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

code $env:AppData\Claude\claude_desktop_config.json

Add this configuration:

{
    "mcpServers": {
        "youtube-uploader": {
            "command": "python",
            "args": [
                "/ABSOLUTE/PATH/TO/youtube-mcp-server/youtube_uploader.py"
            ]
        }
    }
}
4. First-Time Authentication
  1. Restart Claude Desktop
  2. Use the setup_youtube_auth tool with your OAuth2 credentials:
    • Provide client_id, client_secret, and project_id from downloaded JSON
  3. Try uploading a video - a browser window will open for authentication
  4. Grant permissions to your YouTube account

Available Tools

1. upload_video

Upload a video file to YouTube.

Parameters:

  • file_path (required): Path to video file
  • title (required): Video title
  • description: Video description
  • keywords: Comma-separated tags
  • category_id: YouTube category ID (default: 22)
  • privacy_status: "private", "unlisted", or "public" (default: private)
  • made_for_kids: Boolean for COPPA compliance

Example:

Upload the video at /Users/me/video.mp4 with title "My Amazing Video" and description "This is a test upload"
2. check_upload_quota

Check your YouTube API quota usage and channel information.

3. list_video_categories

List available YouTube video categories for a specific region.

Parameters:

  • region_code: ISO country code (default: US)
4. setup_youtube_auth

Configure OAuth2 credentials for YouTube API access.

Important Notes

  • Quota Limits: YouTube API has daily quotas. Each upload costs ~1,600 units out of 1,600,000 daily units.
  • File Size: Large files may take time to upload. The server uses resumable uploads.
  • Privacy: Videos upload as "private" by default for safety.
  • Authentication: OAuth2 tokens are stored locally in token.json.

Troubleshooting

  1. "Missing credentials.json": Run setup_youtube_auth first
  2. Authentication errors: Delete token.json and re-authenticate
  3. Upload failures: Check file path, size, and format
  4. Quota exceeded: Wait 24 hours for quota reset

Security

  • Keep your credentials.json and token.json files secure
  • Don't commit these files to version control
  • OAuth2 tokens expire; the server will refresh them automatically

License

MIT License

Comments

Markdown supported

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.