Skip to main content
Glama

Server Details

Transcript retrieval for YouTube, TikTok and Instagram: whole channels, playlists and searches.

Ownership verified
Status
Healthy
Uptime
0.0% over 64 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
TranscriptFetch/youtube-tiktok-instagram-transcript-mcp
GitHub Stars
4
Server Listing
Social Media Video Transcripts

TDQS

A4.3/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a distinct resource+action target: search_channels vs search_videos, list_channel_playlists vs list_playlist_videos, and list_channel_videos vs get_transcript are all clearly delimited. The only potential overlap — list tools returning caption transcripts when transcripts=N is set — is explicitly framed as a lightweight preview vs get_transcript's full transcript with AI fallback, so an agent can pick correctly.

Naming Consistency5/5

All seven tools follow a strict verb_noun snake_case pattern (get_*, list_*, search_*), with noun phrases that read naturally and consistently across discovery and retrieval operations. No mixed conventions or vague verbs.

Tool Count5/5

Seven tools is well within the ideal 3-15 range for a transcript/discovery service. Each tool earns its place: one billing check, one transcript fetch, three listing variants by resource type, and two search variants by entity type.

Completeness4/5

The surface covers the full discovery-to-transcript workflow (search → list channels/playlists/videos → fetch transcript) plus credit checking, and the tools cross-reference each other's outputs. Minor gaps exist, such as no way to inspect a single channel's metadata or request transcripts in a specific language, but agents can work around these.

Available Tools

7 tools
get_creditsCheck credit balanceA
Read-onlyIdempotent
Inspect

Check the caller's remaining credit balance. Free; costs no credits.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
creditsYesRemaining credit balance.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the bar is lower. The description adds genuinely new context beyond them: the call is free and consumes no credits, which matters for an agent budgeting credit spend.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, the purpose first and the cost caveat second. Nothing is redundant with the title or annotations and nothing could be trimmed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and there are no parameters to document. The only omission is failure behavior (e.g. what a zero or unavailable balance looks like), which is minor for a trivial read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. It correctly makes no parameter claims.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('check ... remaining credit balance') and narrows the scope to 'the caller's', so an agent knows it is an account-level lookup. No sibling differentiation is offered, but every sibling operates on videos/playlists/channels, so confusion is unlikely.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is a pre-flight check before spending credits, reinforced by 'Free; costs no credits'. There is no explicit statement of when to call it versus doing anything else, and no prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transcriptGet video transcriptA
Read-onlyIdempotent
Inspect

Fetch the full transcript for a video or media file. Accepts a YouTube video ID or URL, TikTok and Instagram URLs, and direct media file URLs. If no transcript comes back, the result says whether captions definitively do not exist (aiFallback.captionsUnavailable) and whether transcribing the audio would still work (aiFallback.available). When it does, call this tool again with ai_fallback: true.

NameRequiredDescriptionDefault
videoYesVideo ID or URL: YouTube (dQw4w9WgXcQ, youtu.be/…), TikTok, Instagram, or a direct media file URL.
chunksNoAlso return the transcript split into pieces of about 500 tokens for an embedding model or vector store (default false), each with its start and end time and a link to that moment. In the structured result only.
markdownNoReturn the transcript as Markdown (default false): a title line, then paragraphs that each open with their time, linked to that moment on YouTube. Use it when you will quote or cite the video.
timestampsNoInclude the timestamped segments in the structured result (default true). Set false when only the text is needed: the segments repeat the transcript's words with timings, so leaving them out keeps the response smaller.
ai_fallbackNoSkip captions and use AI Fallback Transcription of the audio instead. Use this only after a previous call reported aiFallback.available. Charged 1 credit per started 5 minutes of audio, minimum 1 credit, on delivery; short media may return inline, while longer work returns a processing result to collect with a later call.

Output Schema

NameRequiredDescription
urlNoCanonical URL of the item, when known.
textNoThe full transcript text.
jobIdNoAI-transcription job id, present when outcome is 'processing'.
titleNoTitle, or the post caption on TikTok and Instagram.
chunksNoThe transcript in pieces of about 500 tokens. Present when the call passed chunks: true.
reasonNoStructured failure reason when there is no transcript (no_captions, captions_disabled, age_restricted, upstream_error, …).
sourceNocaptions or audio: where the words came from.
balanceNoRemaining credit balance after this call, when known.
channelNoCreator: channel name, @handle, username or uploader.
outcomeNoFetch outcome (ok, no_transcript, processing, …).
videoIdNoThe item's id on its platform (YouTube id, TikTok numeric id, Instagram shortcode, or the URL for a file).
durationNoMedia length in seconds, when known.
languageNoCaption track language, or the language detected by AI Fallback Transcription.
markdownNoThe transcript as Markdown with timestamped paragraphs. Present when the call passed markdown: true.
platformNoyoutube, tiktok, instagram or file.
segmentsNoTimestamped transcript segments.
aiFallbackNoPresent when no transcript came back. Says what was established about captions and whether AI Fallback Transcription can still be tried.
creditsSpentNoCredits charged for this call (0 on failure or for admins).
thumbnailUrlNoPoster image; TikTok and Instagram URLs are signed and expire.
creditsNoticeNoCredits words for the user, with the link that acts on them: why the call was refused for credits, or a note once the balance runs low. Pass it on to the user.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive, so the safety profile is covered; the description adds the failure-path behavior agents actually need — that a missing transcript is reported explicitly rather than being an error, and that a second call with ai_fallback is the recovery path. Credit costs and async delivery for fallback are disclosed in the parameter description rather than the main text.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with what it does and which inputs it accepts, followed by the failure/retry guidance. No filler or restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, yet the description still surfaces the two result fields critical to decision-making (captionsUnavailable, available) and the follow-up action. For a read-only, single-required-parameter tool this covers everything an agent needs before and after the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3; the description goes beyond by explaining the cross-parameter retry flow (ai_fallback only after a prior call reports availability) and by naming the result fields that signal caption unavailability. The per-parameter meaning of chunks/markdown/timestamps is left to the schema, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (fetch the full transcript) and enumerates the exact source types accepted (YouTube ID/URL, TikTok, Instagram, direct media URL). An agent can distinguish this from search_videos or list_channel_videos purely from this sentence.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear conditional workflow: when no transcript comes back, inspect aiFallback.captionsUnavailable and aiFallback.available, and only then retry with ai_fallback: true. It does not discuss when to prefer this over sibling discovery tools, but for a leaf retrieval tool the key decision path is covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_channel_playlistsList channel playlistsA
Read-only
Inspect

List a YouTube channel's playlists, or its podcasts. Accepts a @handle, UC… id, or channel URL. Pass a playlist's url to list_playlist_videos for its videos.

NameRequiredDescriptionDefault
tabNoplaylists (default), or podcasts for the channel's podcast shows. A tab the channel does not have returns no rows and a notice saying so.playlists
limitNoMax results to return (1–50). Defaults to 5.
channelYesYouTube handle, UC… id, or channel URL.

Output Schema

NameRequiredDescription
countNoNumber of rows returned.
noticeNoWhy a list is empty or may be incomplete, when the source says: e.g. "This channel has no Live tab."
balanceNoRemaining credit balance after this call, when known.
playlistsNoPlaylists with ids, titles, and URLs that list_playlist_videos accepts directly.
creditsSpentNoCredits charged for this call (0 on failure or for admins).
creditsNoticeNoCredits words for the user, with the link that acts on them: why the call was refused for credits, or a note once the balance runs low. Pass it on to the user.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the bar is lower. The description adds that podcast tabs may be absent on some channels (implicitly, via 'or its podcasts'), but it says nothing about paging behavior or result ordering for an open-world, non-idempotent listing call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with purpose and then identifier forms and the sibling hand-off. Nothing is wasted and no redundant restatement of schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full input schema and an output schema present, the description need only cover purpose and routing, which it does. Slight incompleteness in not hinting at the meaning of a missing podcast tab or at paging, both of which are handled in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters are already documented, including the tab enum's empty-result notice and the 1–50 limit range. The description only restates the accepted channel identifier formats, adding little beyond what the schema says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List a YouTube channel's playlists, or its podcasts') and implicitly separates itself from list_channel_videos and list_playlist_videos by naming the follow-up tool. An agent can pick this tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent forward: 'Pass a playlist's url to list_playlist_videos for its videos.' It does not state when to prefer list_channel_videos or the search_* siblings over this tool, so a small gap remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_channel_videosList channel videosA
Read-only
Inspect

List a creator's items, newest first by default. Accepts a YouTube channel (@handle, UC… id, or URL), a TikTok profile URL (tiktok.com/@user), or an Instagram profile URL. On YouTube, tab picks the videos, shorts or live tab, sort orders it, and query searches inside the channel. Every row's url can be passed straight to get_transcript. To read what the videos say rather than only their titles, set transcripts to N: the caption transcripts of the first N rows (at most 5) come back in the same call.

NameRequiredDescriptionDefault
tabNoYouTube only. videos (default), shorts, or live (streams, past and upcoming). A tab the channel does not have returns no rows and a notice saying so. For playlists or podcasts, use list_channel_playlists.videos
sortNoYouTube only. newest (default), popular, or oldest. popular is YouTube's Popular order, most viewed first, and leaves out videos with no views.newest
limitNoMax results to return (1–50). Defaults to 5.
queryNoYouTube only. Search inside the channel and return its matching videos. Leave tab and sort unset.
channelYesYouTube handle/ID/URL, or a TikTok or Instagram profile URL.
transcriptsNoAlso return the caption transcripts of the first N videos (1-5), each cut at 12,000 characters. Captions only: a video without captions (most Instagram reels) comes back with outcome no_transcript, and get_transcript transcribes its audio. 1 credit per transcript delivered, on top of the listing's; failures are free.

Output Schema

NameRequiredDescription
countNoNumber of videos returned.
noticeNoWhy a list is empty or may be incomplete, when the source says: e.g. "This channel has no Live tab."
videosNoMatching videos with ids, titles, and URLs.
balanceNoRemaining credit balance after this call, when known.
creditsSpentNoCredits charged for this call (0 on failure or for admins).
creditsNoticeNoCredits words for the user, with the link that acts on them: why the call was refused for credits, or a note once the balance runs low. Pass it on to the user.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and destructiveHint=false, so safety is covered; the description adds real behavioral context beyond them: default newest-first ordering, that transcripts come back in the same call, and the cap of 5 rows. It does not mention the credit cost of transcripts or the 12,000-character truncation, but those live in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core listing behavior and platform acceptance, then edge behavior (tab/sort/query) and finally the transcripts option. Dense but every clause carries functional information; 'creator's items' is the only slightly loose phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and annotations cover safety. The description covers multi-platform input, per-platform parameter applicability, and the optional transcript augmentation, which is sufficient for an agent to invoke it correctly. Only the sibling-routing for playlists and channel search is left to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains tab, sort, query, limit and transcripts in detail (including enum behavior and edge cases). The description restates the roles compactly (tab picks videos/shorts/live, sort orders, query searches inside the channel) but adds only the cross-tool hint about row urls, which is the baseline-plus level for full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List a creator's items, newest first by default') and enumerates the accepted channel identifier forms across YouTube, TikTok, and Instagram. It is easy to distinguish from get_transcript and list_playlist_videos, though the playlist/podcast split is only made in the schema's tab description, not in the description text itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'To read what the videos say rather than only their titles, set transcripts to N' gives an explicit use condition and an alternative path (get_transcript for audio-only videos). It also flags the cross-tool flow ('Every row's url can be passed straight to get_transcript'). It does not state when to prefer this over list_channel_playlists or search_videos, which are siblings an agent must choose between.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_playlist_videosList playlist videosA
Read-only
Inspect

List the items in a playlist. Accepts a YouTube playlist ID or URL or a TikTok playlist URL (tiktok.com/@user/playlist/name-id). Every row's url can be passed straight to get_transcript.

NameRequiredDescriptionDefault
limitNoMax results to return (1–50). Defaults to 5.
playlistYesYouTube playlist ID or URL, or a TikTok playlist URL.

Output Schema

NameRequiredDescription
countNoNumber of videos returned.
noticeNoWhy a list is empty or may be incomplete, when the source says: e.g. "This channel has no Live tab."
videosNoMatching videos with ids, titles, and URLs.
balanceNoRemaining credit balance after this call, when known.
creditsSpentNoCredits charged for this call (0 on failure or for admins).
creditsNoticeNoCredits words for the user, with the link that acts on them: why the call was refused for credits, or a note once the balance runs low. Pass it on to the user.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnlyHint, destructiveHint=false, openWorldHint) so the description needn't restate them. It adds real context beyond them: dual-platform coverage (YouTube and TikTok) and the shape of each row (a url), which drives the downstream workflow. Ordering, pagination depth, and behavior on private/deleted playlists remain undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no filler. The core action is front-loaded, followed by accepted inputs and the downstream handoff — exactly the order an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values needn't be spelled out, and the description still surfaces the useful part of the return shape (row urls). For a 2-parameter read tool this is close to complete; only edge-case behavior (private playlists, item ordering) is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds format detail the schema lacks — a concrete TikTok playlist URL pattern and the platform split for the `playlist` parameter. The `limit` parameter is left entirely to the schema, which is acceptable at full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List the items in a playlist") and names the two supported platforms, which distinguishes it from list_channel_playlists (returns playlists, not items). It stops short of explicitly naming siblings, so the differentiation is inferable rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete accepted input forms (YouTube playlist ID or URL, TikTok playlist URL with a worked pattern) and an explicit follow-on step: "Every row's url can be passed straight to get_transcript." It doesn't state when not to use it or what to do for other platforms, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_channelsSearch channelsA
Read-only
Inspect

Search YouTube for channels (default) or playlists matching a query. Pass a channel's url to list_channel_videos or list_channel_playlists, and a playlist's url to list_playlist_videos.

NameRequiredDescriptionDefault
typeNoWhat to find: channel (default) or playlist.channel
limitNoMax results to return (1–50). Defaults to 5.
queryYesSearch keywords.

Output Schema

NameRequiredDescription
countNoNumber of rows returned.
noticeNoWhy a list is empty or may be incomplete, when the source says: e.g. "This channel has no Live tab."
balanceNoRemaining credit balance after this call, when known.
channelsNoChannels with ids, names, and URLs that list_channel_videos and list_channel_playlists accept directly. Present when type is channel.
playlistsNoPlaylists with ids, titles, and URLs that list_playlist_videos accepts directly. Present when type is playlist.
creditsSpentNoCredits charged for this call (0 on failure or for admins).
creditsNoticeNoCredits words for the user, with the link that acts on them: why the call was refused for credits, or a note once the balance runs low. Pass it on to the user.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, openWorld, non-idempotent, and non-destructive, so the safety profile is covered. The description adds the useful sequencing context (what to do with the returned urls) but says nothing about rate limits, quota cost, or result ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the primary action first, then the follow-on routing. Nothing is redundant and both sentences are actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full parameter documentation, the description only needed to cover selection and next steps, which it does. It could note that results feed the list_* tools' url parameter more explicitly, but it is essentially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and every parameter has its own description, so the schema carries parameter meaning. The description only echoes the channel-default behavior, adding little beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search YouTube for channels... or playlists') and explicitly marks channel as the default mode, which cleanly separates it from search_videos and the list_* siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear workflow: search here, then pass the returned channel or playlist url to list_channel_videos, list_channel_playlists, or list_playlist_videos. It does not state a negative case (e.g. 'use search_videos for videos'), so a small gap remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_videosSearch videosA
Read-only
Inspect

Search for videos matching a query on YouTube (default), TikTok, or Instagram. Returns titles, ids, durations, and URLs that get_transcript accepts directly. On YouTube, upload_date, duration, sort and captions narrow the results; search_channels finds channels or playlists instead. To read what the videos say rather than only their titles, set transcripts to N: the caption transcripts of the first N rows (at most 5) come back in the same call.

NameRequiredDescriptionDefault
sortNoYouTube only. relevance (default) or views (most viewed first). YouTube search no longer sorts by date; for recent videos use upload_date.relevance
limitNoMax results to return (1–50). Defaults to 5.
queryYesSearch keywords.
captionsNoYouTube only. true keeps only videos with subtitles or closed captions.
durationNoYouTube only. short is under 4 minutes, medium 4 to 20 minutes, long over 20 minutes.
platformNoWhere to search. Defaults to youtube.youtube
transcriptsNoAlso return the caption transcripts of the first N videos (1-5), each cut at 12,000 characters. Captions only: a video without captions (most Instagram reels) comes back with outcome no_transcript, and get_transcript transcribes its audio. 1 credit per transcript delivered, on top of the listing's; failures are free.
upload_dateNoYouTube only. Uploaded within the last hour, today, this week, this month, or this year.

Output Schema

NameRequiredDescription
countNoNumber of videos returned.
noticeNoWhy a list is empty or may be incomplete, when the source says: e.g. "This channel has no Live tab."
videosNoMatching videos with ids, titles, and URLs.
balanceNoRemaining credit balance after this call, when known.
creditsSpentNoCredits charged for this call (0 on failure or for admins).
creditsNoticeNoCredits words for the user, with the link that acts on them: why the call was refused for credits, or a note once the balance runs low. Pass it on to the user.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, open-world, non-idempotent, non-destructive, so the description is free to add the traits that matter operationally: the transcript cap of 5 and 12,000-character truncation, the 'no_transcript' outcome for caption-less videos (most Instagram reels), and the 1-credit-per-transcript cost with failures free. That is real cost and failure-mode disclosure not present in structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose and platform scope, then alternatives, then the opt-in transcript behavior. Every sentence carries distinct information; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter, multi-platform search tool with an output schema, the description covers the platform default, the YouTube-only filter cluster, the sibling alternative, the cost model and the failure mode. Return shape is handled by the output schema, so nothing an agent needs before calling is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the enum semantics (duration buckets, upload_date windows, sort, captions) are already fully documented there, so baseline is 3. The description adds only light framing — that these filters are YouTube-only and that 'transcripts' returns content 'in the same call' — which is useful but largely restates the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search for videos matching a query') and immediately scopes it across YouTube (default), TikTok and Instagram. It also names the sibling that does something adjacent ('search_channels finds channels or playlists instead'), so the agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing is given: use search_channels for channels/playlists, use this when you want video rows, and set 'transcripts' when you need what the videos say rather than only titles. The follow-on relationship to get_transcript ('URLs that get_transcript accepts directly') is spelled out, which is the key when-to-use chain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Publisher details

Operator
The Casey Company · Publisher source
Vendor relationship
Not applicable
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    Not graded
    maintenance
    Enables extraction and processing of YouTube video transcripts from individual videos, channels, and playlists. Supports transcript search, batch processing, multiple output formats (JSON, text, SRT, VTT), and bulk operations across multiple videos.
    11
    34 npm
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables extracting video and post metadata, creator feeds, comments, direct media streams, and transcripts from YouTube, TikTok, Instagram, and Threads, with no API keys or logins required for most sources. Combines Faster-Whisper audio transcription with ffmpeg keyframe and carousel OCR so videos that have no captions or consist of screenshots and text slides still yield full text.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to retrieve YouTube transcripts from individual videos, channels, and search results, supporting multiple output formats such as plain text, SRT, and VTT.
    3
    7 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.