Omniscient Master Suite OMNISCIENT · 3.1

YouTube Uploader v1.0.0

Social & publishing youtube-uploader 3 actions MCP

Upload videos and optional thumbnails to your YouTube channel with title, description, tags, category and privacy controls.

The omniscient:// link needs a protocol handler on your machine, which is not built yet. Until then it does nothing — use the commands below.

Actions

Jump to: logincheck_authupload_video

Connect Google account

login Destructive

Run the one-time Google OAuth consent flow in the browser and store the refresh token securely in the local Omniscient vault.

Inputs

NameTypeRequired / defaultValues and notes
client_secret_file path required
profile profile optional, default youtube

Outputs

NameTypeNotes
ok bool
channel_id string
channel_title string
url string

Check YouTube account

check_auth

Verify the stored Google OAuth credentials and show the connected YouTube channel without uploading anything.

Inputs

NameTypeRequired / defaultValues and notes
profile profile optional, default youtube

Outputs

NameTypeNotes
ok bool
channel_id string
channel_title string
url string

Upload a video

upload_video Destructive

Upload one local video to the authenticated YouTube channel, with optional thumbnail and metadata.

Inputs

NameTypeRequired / defaultValues and notes
file path required
title string required
description text optional, default ""
tags json optional, default []
privacy enum optional, default private privateunlistedpublic
category_id string optional, default 22
made_for_kids bool optional, default false
notify_subscribers bool optional, default true
thumbnail path optional, default ""
profile profile optional, default youtube

Outputs

NameTypeNotes
video_id string
url string
title string
thumbnail_set bool
thumbnail_error string

Use it

Connect Google account

Command line

shell
python app.py --action login --params '{"client_secret_file": "D:/path/to/client_secret_file"}'

# preview first - destructive action, nothing is changed:
python app.py --action login --params '{"client_secret_file": "D:/path/to/client_secret_file"}' --dry-run

Run from the app’s own folder. Single quotes work in bash and PowerShell; in cmd.exe use double quotes and escape the inner ones.

MCP tool

mcp
run_action("youtube-uploader", "login", {"client_secret_file": "D:/path/to/client_secret_file"})

# preview first:
run_action("youtube-uploader", "login", {"client_secret_file": "D:/path/to/client_secret_file"}, dry_run=true)

Workflow node

json
{
  "id": "n0",
  "app": "youtube-uploader",
  "action": "login",
  "params": {
    "client_secret_file": "D:/path/to/client_secret_file"
  },
  "inputs": {}
}

Check YouTube account

Command line

shell
python app.py --action check_auth --params '{}'

Run from the app’s own folder. Single quotes work in bash and PowerShell; in cmd.exe use double quotes and escape the inner ones.

MCP tool

mcp
run_action("youtube-uploader", "check_auth", {})

Workflow node

json
{
  "id": "n0",
  "app": "youtube-uploader",
  "action": "check_auth",
  "params": {},
  "inputs": {}
}

Upload a video

Command line

shell
python app.py --action upload_video --params '{"file": "D:/path/to/file", "title": "<title>"}'

# preview first - destructive action, nothing is changed:
python app.py --action upload_video --params '{"file": "D:/path/to/file", "title": "<title>"}' --dry-run

Run from the app’s own folder. Single quotes work in bash and PowerShell; in cmd.exe use double quotes and escape the inner ones.

MCP tool

mcp
run_action("youtube-uploader", "upload_video", {"file": "D:/path/to/file", "title": "<title>"})

# preview first:
run_action("youtube-uploader", "upload_video", {"file": "D:/path/to/file", "title": "<title>"}, dry_run=true)

Workflow node

json
{
  "id": "n0",
  "app": "youtube-uploader",
  "action": "upload_video",
  "params": {
    "file": "D:/path/to/file",
    "title": "<title>"
  },
  "inputs": {}
}

Example prompts

Things you can say to Claude, Cursor or Codex once the MCP server is registered.