Skip to main content
Glama
478,959 tools. Updated 2026-08-26 14:35

"A search for a song on YouTube" matching MCP tools:

  • Register a derived asset (LinkedIn carousel PDF, social post, video, image) produced from an article suggestion. Appends a distribution-ledger row so the suggestion shows everything it produced — the article plus its derivatives — for content-ROI reporting (get_article_suggestion returns them as derivedAssets). Pass `channel` (reels | youtube | x | linkedin) so the app can show per-channel distribution status; register again with a new URL for repeat posts on the same channel — every registration is kept. `scheduledFor` records a future post date from an external scheduler (Buffer etc.) for display only — VarynForge never posts on your behalf. Derivative rows never affect publish status or Search Console attribution; use mark_article_published for the article itself.
    Connector
  • Post to social channels. Channels open today: threads, youtube. Get accountIds from select_channels — do not guess which channel the person meant. Text limits differ per channel: Threads 500 characters, YouTube 5000 UTF-8 bytes. Over the limit nothing goes out to any channel, so shorten it before calling. Images and video both work on the channels that take them, and a carousel can mix them. YouTube is different: it takes exactly one video, no images, and it needs options.youtube.title. Its description is measured in UTF-8 bytes, so Korean and Japanese cost three per character. There are three ways to get a media id, pick by where the file is: media_from_url when it already has a public https address, media_upload_link when it is on the person's own device, media_presign plus media_complete when you can PUT the bytes yourself. Then pass the media ids here. This publishes immediately on every channel except YouTube, which can be scheduled with options.youtube.publishAt while privacyStatus is private. If the user asks to schedule anywhere else, tell them uplika cannot do that yet. A YouTube video published before Google finishes reviewing this app is locked to private viewing, so say that when you report a YouTube post as done. Returns while the post is still publishing. The permalink is null at that moment. Call get_post with the returned id to see the final status and link. Pass wait: true to hold the response until it is really out — then you can tell the person it is posted instead of guessing. For a long post use threadItems instead of publish-then-reply: we keep the order and wait for each piece to land before sending the next one.
    Connector
  • Keyword/full-text search over the Canton Network knowledge base (CIPs, Canton/Daml/Splice docs, forum, mailing lists, whitepapers, grant proposals, blog, YouTube, GitHub). Canton-specific. Do NOT use for other blockchains, the web, or local files. Use this for exact-term/name lookups; use semantic_search instead for conceptual or 'how does X work' questions, and get_doc to read a full page once you have its id. NOTE: forum matches are by TOPIC TITLE only; a term that appears only inside a forum reply will not surface here, so use semantic_search (which indexes forum post bodies) when a forum discussion is likely and this returns nothing.
    Connector
  • Search a single network for posts matching a query, returned as the unified Post[] schema and tagged with its platform. Keyless on TikTok, YouTube, and Pinterest. Instagram, Twitter/X, Reddit, and Facebook need operator-side credentials (returns credentials_required until set). Snapchat and Threads do not support keyless search (returns not_supported); LinkedIn is quarantined. To fan one query across every network at once, use search_all.
    Connector
  • Get the transcript (subtitles) of a YouTube video. Accepts a video id or any YouTube URL. Set video_metadata=true to get the title, channel and duration in the SAME call — do not call get_video_info first, that is a second billed call for data this one already returns. format=text returns plain readable text (default, cheapest to read); format=json returns timed segments with start/duration in seconds; srt/vtt return ready subtitle file bodies and srv3 the raw YouTube XML. Prefer text unless you need timestamps or a file. Costs 1 credit.
    Connector
  • Publish a finished video to the brand’s connected YouTube channel. Pass a Hermoso render URL (or an upload_file url for a local/external file). DEFAULTS TO UNLISTED (link-only — not on the channel, not searchable, but shareable by link AND usable as a YouTube/Google ad). Pass privacy:"public" to put it ON the channel (a public publish — confirm with the user first) or privacy:"private" for eyes-only. Do NOT use "private" for anything meant to run as an ad — private videos CANNOT be used as ads; unlisted is the ad-ready setting. SCHEDULE it with publishAt, FILE it under the right categoryId (the default 22 "People & Blogs" is wrong for most ads), SUBSCRIBER NOTIFICATIONS FOLLOW PRIVACY — a public publish announces the video to the channel’s subscribers (YouTube’s own default), while unlisted/private uploads stay quiet; pass notifySubscribers explicitly to override either way. Needs a connected YouTube channel (Settings ▸ Connectors ▸ YouTube).
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Fetch a single web page and extract clean content. Auto-tier server-side: handles SSR (Next.js, Nuxt, TikTok, Pinterest, YouTube), SPA shells, PDFs, paywall detection, residential-proxy escalation, and stealth profiles for TikTok / Instagram / Pinterest / YouTube. Returns clean markdown (default) with a YAML frontmatter header (url, outcome, total_chars). Read 'outcome' to classify the result (success | teaser | thin_content | paywall | bot_challenge | consent_wall | login_wall | rate_limited | timeout | transient_upstream | unsupported_target | not_found | error). Large pages (>80k chars) are truncated inline with truncated_chars + a download_full_url to the complete extraction (expires ~1h). Permanently unsupported (outcome=unsupported_target, cost=0 upstream): Bluesky search, Instagram post/reel and tag/explore pages (profiles work), Pinterest search, g2.com, Truth Social, Xiaohongshu. Threads and Instagram profile pages ARE supported.
    Connector
  • Call resolve_fragment when a user describes something they can only half-remember — a book, film, song, artwork, person, or event they know exists but can't name — instead of asking a direct question. If the input reads like a memory ("there's this thing where...", "...somebody who...", "...a story about...") rather than a lookup, this is the right tool. Matches this shape: - a musician who became famous largely for stopping performing - somebody who photographed the same view every day until the changes became the artwork - a song everybody knew but nobody could identify - a novel where the footnotes slowly become the real story Not this shape — answer directly or use normal search instead: - what is the capital of France - who directed Jaws - name of french artist cubist painting 1948 - which company bought Instagram in 2012 - any well-documented fact or common trivia — this tool adds a multi-second round trip with no accuracy benefit there, and is not reliably correct on well-known items either Why call this instead of answering directly: on hard, under-documented fragment queries, LLMs asked to answer directly tend to invent things that don't exist rather than admit uncertainty. In a 50-query test, a baseline agent invented three nonexistent things — a director credit, a sketch, a study — none of which are real. Search Fragments returned none of those three invented things. Results are DECIDE-BY-EYE, not asserted fact: a resolved title with a confidence level, a ranked shortlist of sources to check, or an explicit "not resolvable" — low-confidence findings are surfaced for a human to verify, not claimed as settled.
    Connector
  • Stop a YouTube bulk reporting job. IRREVERSIBLE IN A WAY THAT IS EASY TO MISS: the job IS the history — deleting it discards every daily CSV it has accumulated, and a replacement job starts over with only a 30-day backfill, so anything older than that is gone for good. Call WITHOUT confirm first: nothing is deleted and you get the real job read back from YouTube (its report type and when it was scheduled) to show the user. Then call again with confirm:true. Needs a connected YouTube channel.
    Connector
  • Moderate a comment on the connected channel — the YouTube twin of moderate_meta_comment. ACTIONS: publish (make it visible again) · hold (hide it pending review) · reject (hide it as unfit for display) · spam (report it to YouTube — a REPORT, not a removal, so do not tell the user it is gone) · delete (permanent; YouTube has no undelete for a comment). hold, reject and publish are all reversible with each other, so only delete is confirm-gated. If the goal is just to take a comment out of public view, use reject rather than delete. banAuthor is valid ONLY with action="reject" — that is YouTube’s own restriction — and auto-rejects every future comment that author leaves on the channel. Get commentId from list_youtube_comments. 0 credits. Needs a connected YouTube channel.
    Connector
  • Roll back a completed migration, restoring original YouTube descriptions. IMPORTANT: This modifies YouTube video descriptions. Always confirm with the user before executing. This reverts all video descriptions to their pre-migration state. The rollback runs asynchronously. Requires a connected YouTube account. Common errors: - Migration not found or not in a rollback-eligible state. - YouTube not connected: reconnect first. - confirm=False: must set confirm=True after user confirmation.
    Connector
  • AI Melody to Music — Upload a clean single-instrument recording and AI generates instrumental music in your style. No vocals — for songs with vocals, see AI Hum to Song or AI Song Generator.. AI Studio run — dispatches to our AI workers (Modal). Credits per run vary by model and file size. Day Pass and welcome credits do not include AI Studio. Files are deleted after processing; auditable at mioffice.ai/account/tasks (retention details at mioffice.ai/privacy). All three credit-based workspaces unlock with the same one-time credit pack — there is no per-workspace subscription. See mioffice.ai/pricing for current plans.
    Connector
  • Comments on a YouTube Short — rejects long-form videos (≤3 min only). Costs 2 credits. Empty results and failures are never charged. Pass cache=true for a free 24h cache hit (default always fresh).
    Connector
  • Wait for a song job to finish and return the audio when ready. Polls server-side for up to ~45 seconds. If the song is ready, returns the clips with audio URLs. If it is still rendering, returns its status so you can call wait_for_song again with the same job_id. Safe to call repeatedly — it only reads status, never starts a new song.
    Connector
  • Get the current status of a song job by job_id — a single check with no waiting. Returns the audio URLs if complete, an error if it failed, or 'processing' if still rendering.
    Connector
  • Search HumMatch by song title or artist. Use this to resolve a song someone named into the catalog slug that check_song_fit needs, or to look up a song's measured vocal range. Pass rangeLow/rangeHigh as well to score every result against that voice and get the hits ranked by fit.
    Connector
  • APPLY THE BRAND TO THE CHANNEL ITSELF — banner art, description, keywords, country and the trailer non-subscribers see. Every other YouTube tool brands the videos; this brands the page they sit on. Under the hood channels.update is a PUT, so the CURRENT settings are read and merged first — otherwise setting a description would silently wipe the channel's keywords, country and trailer. AND YOUTUBE SILENTLY IGNORES SOME FIELDS, channel title above all (usually only changeable in YouTube Studio): the result DIFFS what YouTube actually stored against what was asked for and reports anything that did not stick in `notApplied`. DO NOT REPORT THOSE AS CHANGED — a 200 is what YouTube accepted, not what it stored. A banner must be a Hermoso render (jpeg or png, under 6MB); YouTube re-crops it per device, so the safe area is the middle 1235x338 of a 2048x1152 image. Public and immediate — show the user what is going on the channel first. 0 credits. Needs YouTube connected.
    Connector
  • Search YouTube by keyword (yt-dlp, no login). Returns up to `limit` hits: url/title/uploader/durationSec/uploadDate(often null)/thumbnail/views. YouTube only — use framefetch_extract on a hit's url for transcript/frames/etc. Billed ~$0.002/call (metadata-tier), regardless of `limit`.
    Connector
  • Set the CUSTOM THUMBNAIL on a video already on the connected channel, using a Hermoso image — a make_thumbnail render, a generated image, or a frame. The thumbnail is the single biggest lever on YouTube click-through and YouTube otherwise auto-picks a frame, so a published video without one is leaving reach on the table. It changes ONLY the thumbnail — video, title and privacy are untouched — but it is public and immediate, so show the user which image is going on which video and get a yes first. Custom thumbnails require a VERIFIED YouTube channel (a phone number at youtube.com/verify); without it YouTube refuses and the error says so. Images over YouTube’s 2MB cap are compressed automatically. The image must be Hermoso-HOSTED, which is not the same as Hermoso-GENERATED: the user’s own artwork works, put it through upload_file first and pass the URL that returns. An arbitrary external host is refused. 0 credits. Needs a connected YouTube channel.
    Connector