1. Conduid
  2. Social
  3. tubekit
MCP server · Social

tubekit

Compliance-aware MCP server for YouTube publishing, analytics and creator insights.

Unclaimed social
37Low

Scored 2 months ago · breakdown

About tubekit

tubekit is an MCP server in the Social category: compliance-aware MCP server for YouTube publishing, analytics and creator insights.

Install

uvx
uvx tubekit-mcp
pip
pip install tubekit-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (23)

add_to_playlist(channel, playlist_id, video_id, position=None)Add a video (append, or insert at `position`). Not idempotent — YouTube allows duplicates.

Parameters not published.

check_oauth(channel)Zero-quota OAuth liveness pre-flight: refresh the stored grant against Google's token endpoint and report `oauth_ok` + expiry. Run before a quota-spending tool.

Parameters not published.

create_playlist(channel, title, description="", privacy_status="private")Create a playlist. **Defaults to private**; going public is an explicit act. Not idempotent.

Parameters not published.

get_analytics(channel, metrics, start_date, end_date, dimensions=None)Channel-level metrics over a window. Uses the **separate** Analytics quota bucket.

Parameters not published.

get_channel_report(channel, period="28d", start_date=None, end_date=None, granularity="auto")Single-channel health report: totals, trend series, top videos, traffic sources, Shorts/long-form split, revenue or YPP progress, lifetime snapshot.

Parameters not published.

get_comment_thread(channel, comment_id)One thread in full: untruncated text + all replies.

Parameters not published.

get_comments_digest(channels=None, force_sync=False)Portfolio-wide comment counts (unread/unanswered/held/spam, per video).

Parameters not published.

get_portfolio_report(channels=None, period="28d", start_date=None, end_date=None)One row per channel: period totals + vs-prior deltas (views, revenue), YPP progress for non-monetized channels. Per-channel failures are isolated.

Parameters not published.

get_video_report(channel, video_id, period="lifetime", start_date=None, end_date=None, granularity="auto")Per-video deep dive: retention proxy, traffic sources, revenue when monetized; window starts at publication by default.

Parameters not published.

get_video_status(channel, video_id)Read processing/privacy status of a video.

Parameters not published.

Show all 23 tools
list_comments(channel, video_id=None, only="unread", search=None, order="time", page_size=20, page=1)Compact comment listing from the local mirror.

Parameters not published.

list_my_videos(channel, page_size=50, page_token=None)Paginated list of channel uploads.

Parameters not published.

list_playlist_items(channel, playlist_id, page_size=50, page_token=None)One playlist's videos in order. Returns each `playlist_item_id` — the handle remove/reorder need.

Parameters not published.

list_playlists(channel, page_size=50, page_token=None)The channel's own playlists: id, title, privacy, item count.

Parameters not published.

mark_comments_reviewed(channel, ids=None, video_id=None, all_unread=False, state="read")Local triage state; never mutates YouTube.

Parameters not published.

remove_from_playlist(channel, playlist_item_id)Remove one entry. The video itself is untouched.

Parameters not published.

reorder_playlist_item(channel, playlist_id, playlist_item_id, video_id, position)Move an entry to `position` (0 = first).

Parameters not published.

request_ingest_upload(channel, filename, size_bytes, sha256)Issue a one-time brokered upload URL so a remote client can `PUT` a multi-GB video the server then ingests — no ssh. See [media ingest](#media-ingest-remote-upload_video).

Parameters not published.

set_thumbnail(channel, video_id, thumbnail_path)Set a thumbnail on an existing video.

Parameters not published.

update_metadata(channel, video_id, patch)Partially update title/description/tags/privacy. Compliance-gated on the post-patch metadata.

Parameters not published.

update_playlist(channel, playlist_id, title=None, description=None, privacy_status=None)Patch title/description/privacy. Omitted fields are read and merged, never blanked.

Parameters not published.

upload_video(channel, video_path, metadata, idempotency_key, privacy_status="private", notify_subscribers=False)Upload a video after an internal compliance gate. Idempotent via `idempotency_key`.

Parameters not published.

validate_compliance(channel, metadata, thumbnail_present=False)Run the rule registry against metadata; returns a `ComplianceReport`. Pure-local, no YouTube call.

Parameters not published.

Ask AI

✦

Ask AI about tubekit

Powered by Claude · Grounded in docs

I know everything about tubekit. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

6 checks have not been run yet.

Questions

About tubekit

How do I install tubekit?

Run uvx tubekit-mcp, then add the server to your MCP client's configuration.

Is tubekit safe to use with an AI agent?

Its trust score is 37 out of 100 (low). Conduid hasn't run static security checks on this repository yet, so review the source yourself before granting it credentials. It has no ConduID identity yet, so agent calls to it are not receipted.

Is tubekit still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.