Boring TikTok Publisher#
Publish videos and photo carousels to TikTok. Powered by Boring.
Security & Data Handling#
- MCP link is a credential: Your MCP Server URL (
https://boring.aiagent-me.com/mcp/t/xxxxx...) contains an embedded authentication token. Treat it like a password — do not share it publicly.
- Token scope: The embedded token grants publish access to your connected social media accounts. It can create posts, upload media, and manage scheduled posts on the platforms you have connected. It cannot access your social media passwords or modify account settings.
- Token storage: The token is stored server-side in Boring's database (MongoDB on DigitalOcean). It is never written to your local filesystem. You can regenerate or revoke it anytime at boring.aiagent-me.com/settings.
- Data flow: Analytics queries are sent from Boring's server (Google Cloud, us-central1) to the platform's API on your behalf. Only performance metrics are retrieved — no content is uploaded or modified.
- No local credentials: No local API keys, environment variables, or secrets are needed. All auth is embedded in the MCP link.
- Third-party service: This skill relies on Boring, an open-source social media management tool. Source code: github.com/snoopyrain.
Prerequisites#
- Sign up at boring.aiagent-me.com with Google
- Connect TikTok account via 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 tiktok platform.
Step 2: Determine Content Type#
TikTok supports:
TypeMediaSpecsVideo1 videoMP4 recommended, max 4GB, max 10 minutesPhoto Carousel2-35 imagesPNG auto-converts to JPEG
- Caption: Optional, max 2,200 characters
- Media is required — TikTok does not support text-only posts
Upload files to get public URLs:
- Local files:
boring_upload_file with file_path
- External URLs:
boring_upload_from_url
- Google Drive: Pass directly
Step 4: Publish#
Call boring_publish_post:
Video post:
text
boring_publish_post(
account_id="<tiktok_account_id>",
platform="tiktok",
text="Caption for the video #fyp #trending",
media_urls=["https://...video.mp4"]
)
Photo carousel:
text
boring_publish_post(
account_id="<tiktok_account_id>",
platform="tiktok",
text="Swipe through these photos!",
media_urls=["https://...1.jpg", "https://...2.jpg", "https://...3.jpg"]
)
Draft Mode#
Use draft: true to send the video to the creator's TikTok inbox instead of publishing directly. The creator must manually publish it in the TikTok app.
text
boring_publish_post(
account_id="<tiktok_account_id>",
platform="tiktok",
text="Review this before posting",
media_urls=["https://...video.mp4"],
draft=true
)
This is useful when:
- The user wants to preview before going live
- Adding TikTok-specific effects or music in the app
- Content needs final approval
Step 5: Report#
Show:
- Post ID and success status
- If draft: inform user to check their TikTok inbox to finalize
TikTok-Specific Notes#
- Media required: TikTok needs either a video or photos
- Privacy: Default is
PUBLIC_TO_EVERYONE. Other options: MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY
- Video limits: Max 4GB, max 10 minutes
- Photo carousel: Up to 35 images (PNG auto-converts to JPEG)
- Draft mode: Sends to creator's inbox for manual publish
- Token: 24-hour access token with auto-refresh (refresh token lasts 1 year)
- Permissions:
video.upload, video.publish
Error Handling#
ErrorSolutionMediaRequiredTikTok requires video or photosMediaTooLargeVideo max 4GBVideoProcessingFailedCheck video format — MP4 recommendedTokenExpiredReconnect at boring.aiagent-me.comPublishingFailedCheck TikTok account status and permissions
Documentation#
Full API docs: boring-doc.aiagent-me.com