Boring YouTube Publisher
/install boring-youtube-publisher
Boring YouTube Publisher
Upload videos and Shorts to YouTube with full metadata support. Powered by Boring.
Security & Data Handling
- MCP link is a credential: Your MCP Server URL contains an embedded authentication token. Treat it like a password — do not share it publicly. Regenerate anytime in Settings.
- Media uploads: Video files and thumbnails are uploaded to Boring's Google Cloud Storage to make them accessible for YouTube's API. YouTube requires publicly accessible media URLs for uploads.
- Data flow: Your video, title, description, and media are sent from Boring's server to YouTube's API on your behalf via your connected OAuth token.
- No local credentials: No local API keys or environment variables needed. All auth is embedded in the MCP link.
Prerequisites
- Sign up at boring.aiagent-me.com with Google
- Connect YouTube — select the target channel during OAuth
- Get your MCP link: Go to Settings → copy your MCP Server URL (contains your auth token — treat it like a password)
- Add to Claude: Paste the MCP link as a Connector — no install, no API key needed
Workflow
Step 1: List Accounts
Call boring_list_accounts and filter for youtube platform.
Step 2: Prepare Video Content
YouTube requires a video file. Gather from the user:
- Video file (required): MP4, MOV, AVI, WMV, FLV — up to 12 hours
- Title (required): Max 100 characters
- Description (optional): Up to 5,000 characters
- Tags (optional): Extracted from hashtags in the description
- Thumbnail (optional): JPG/PNG, min 640x360, max 2MB, recommended 1280x720
- Captions (optional): SRT or VTT file
Step 3: Prepare Media URLs
Upload files to get public URLs:
- Local video:
boring_upload_filewithfile_path - Video URL:
boring_upload_from_urlto re-host - Google Drive: Pass directly
The media_urls array follows a specific order:
media_urls: [
"https://...video.mp4", // [0] Video file (required)
"https://...thumbnail.jpg", // [1] Custom thumbnail (optional)
"https://...captions.srt" // [2] Caption/subtitle file (optional)
]
Step 4: Format the Text Field
YouTube uses a special text format — title and description are separated by a double newline:
text: "My Video Title\
\
This is the video description. It can be up to 5,000 characters.\
\
#tag1 #tag2 #tag3"
- First line before
\ \= Title (max 100 chars) - Everything after = Description (max 5,000 chars)
- Hashtags in description are automatically extracted as Tags
Step 5: Publish
Call boring_publish_post:
boring_publish_post(
account_id="\x3Cyoutube_account_id>",
platform="youtube",
text="Video Title\
\
Description of the video\
\
#shorts #trending",
media_urls=["https://...video.mp4", "https://...thumb.jpg"]
)
For YouTube Shorts: Include #shorts in the title or description, and use vertical (9:16) video under 60 seconds.
Step 6: Report
Show:
- Video ID and YouTube URL
- Upload status (processing may take a few minutes on YouTube's side)
- Default visibility is Public
YouTube-Specific Notes
- Video required: YouTube only accepts video uploads (no photo posts)
- Title max: 100 characters
- Description max: 5,000 characters
- Thumbnail: JPG/PNG, 1280x720 recommended, max 2MB
- Captions: SRT or VTT format
- Token: 1-hour access token with auto-refresh (refresh token never expires)
- Default visibility: Public
- Processing: After upload, YouTube may take minutes to process the video
- Permissions:
youtube.upload,youtube.readonly
Error Handling
| Error | Solution |
|---|---|
MediaRequired |
YouTube requires a video file |
VideoProcessingFailed |
Check video format (MP4 recommended) or file may be corrupted |
MediaTooLarge |
Video file too large |
TextTooLong |
Title max 100 chars, description max 5,000 chars |
TokenExpired |
Rare — refresh token auto-renews. Reconnect if needed |
Examples
Simple video upload:
boring_publish_post(
account_id="abc",
platform="youtube",
text="My Amazing Video\
\
Check out this cool content!",
media_urls=["https://example.com/video.mp4"]
)
Full upload with thumbnail and captions:
boring_publish_post(
account_id="abc",
platform="youtube",
text="Tutorial: How to Use Boring\
\
Step-by-step guide to social media automation.\
\
#tutorial #automation #socialmedia",
media_urls=[
"https://example.com/tutorial.mp4",
"https://example.com/thumbnail.jpg",
"https://example.com/captions.srt"
]
)
Documentation
Full API docs: boring-doc.aiagent-me.com
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install boring-youtube-publisher - After installation, invoke the skill by name or use
/boring-youtube-publisher - Provide required inputs per the skill's parameter spec and get structured output
What is Boring YouTube Publisher?
Upload videos and Shorts to YouTube using Boring. Use when the user says 'upload to YouTube', 'publish YouTube video', 'post a YouTube Short', 'upload video... It is an AI Agent Skill for Claude Code / OpenClaw, with 132 downloads so far.
How do I install Boring YouTube Publisher?
Run "/install boring-youtube-publisher" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Boring YouTube Publisher free?
Yes, Boring YouTube Publisher is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Boring YouTube Publisher support?
Boring YouTube Publisher is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Boring YouTube Publisher?
It is built and maintained by snoopyrain (@snoopyrain); the current version is v1.0.3.