CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

💯 YouTube Transcript + YouTube Search MCP for AI Agents

zeropointrepo/youtube-mcp
616 toolsHTTPregistry active
Summary

A remote MCP that gives agents six YouTube operations: transcript retrieval, video search, channel browsing, in-channel search, playlist extraction, and RSS-based upload monitoring. It's built on TranscriptAPI's production infrastructure, which processes 500K+ transcripts daily with 49ms median response time. Works over streamable HTTP, so you can use it from Claude web, mobile, Cursor, VS Code, ChatGPT, and other clients without local installation. Supports both OAuth 2.1 and API key auth. The value proposition is straightforward: most YouTube MCPs scrape a single transcript, this one exposes the full YouTube data layer agents actually need for content research, channel analysis, and monitoring workflows. Free tier includes 100 credits to start.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

16 tools
YOUTUBE_GET_CHANNEL_ACTIVITIESGets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events.6 params

Gets recent activities from a YouTube channel including video uploads, playlist additions, likes, and other channel events.

Parameters* required
partstring
Comma-separated list of activity resource properties to include (e.g., 'snippet', 'contentDetails', 'id').default: snippet,contentDetails
channelIdstring
The YouTube channel ID to retrieve activities for. Channel IDs typically start with 'UC'.
pageTokenstring
Pagination token from a previous response to get the next page of results.
maxResultsinteger
Maximum number of activities to return.default: 25
publishedAfterstring
Return activities published after this date-time (RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ).
publishedBeforestring
Return activities published before this date-time (RFC 3339 format: YYYY-MM-DDTHH:MM:SSZ).
YOUTUBE_GET_CHANNEL_ID_BY_HANDLERetrieves the YouTube Channel ID for a specific YouTube channel handle.1 params

Retrieves the YouTube Channel ID for a specific YouTube channel handle.

Parameters* required
channel_handlestring
The YouTube channel handle (e.g., @Google) for which to retrieve the corresponding channel ID. This handle must start with an '@' symbol.
YOUTUBE_GET_CHANNEL_STATISTICSGets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts.2 params

Gets detailed statistics for YouTube channels including subscriber counts, view counts, and video counts.

Parameters* required
idstring
Comma-separated list of YouTube channel IDs. Channel IDs typically start with 'UC'. This is a required field and must be non-empty
partstring
Comma-separated list of channel resource properties to include. Use 'statistics' for subscriber count.default: statistics
YOUTUBE_GET_VIDEO_DETAILS_BATCHRetrieves multiple YouTube video resource parts in a single batch call. Use when you need cohort-level metrics for many videos to reduce quota usage and latency.3 params

Retrieves multiple YouTube video resource parts in a single batch call. Use when you need cohort-level metrics for many videos to reduce quota usage and latency.

Parameters* required
hlstring
Language for localized metadata (snippet.localized); IETF language tag, e.g., 'en'.
idarray
List of YouTube video IDs to retrieve (comma-separated in request).
partsarray
Comma-separated list of video resource properties to include. Valid parts can be one or more of: snippet, contentDetails, statistics, status, player, topicDetails, recordingDetails, fileDetails, processingDetails, suggestions, liveStreamingDetails, localizations, paidProductPlacementDetails, id.
YOUTUBE_LIST_CAPTION_TRACKRetrieves a list of caption tracks for a YouTube video, returning an empty list if no captions exist or failing if the video ID is invalid or not found.2 params

Retrieves a list of caption tracks for a YouTube video, returning an empty list if no captions exist or failing if the video ID is invalid or not found.

Parameters* required
partstring
Specifies a comma-separated list of one or more caption resource parts that the API response will include. Valid parts are 'id' and 'snippet'.default: snippet
videoIdstring
The YouTube video ID for which the API should return caption tracks.
YOUTUBE_LIST_CHANNEL_VIDEOSLists videos from a specified YouTube channel, ensuring results are of `type: 'video'`.4 params

Lists videos from a specified YouTube channel, ensuring results are of `type: 'video'`.

Parameters* required
partstring
Specifies `search` resource properties to include; it must be `snippet` for this action. The `snippet` includes basic video details like ID, title, description, and thumbnails.default: snippet
channelIdstring
The unique ID of the YouTube channel for which videos are to be retrieved.
pageTokenstring
Token for pagination; use `nextPageToken` from a previous response for the next page, or `prevPageToken` for the previous page.
maxResultsinteger
The maximum number of videos to return per page.default: 5
YOUTUBE_LIST_PLAYLIST_ITEMSTool to list videos in a playlist, with pagination support. Use when walking through a channel's uploads playlist to enumerate all videos.7 params

Tool to list videos in a playlist, with pagination support. Use when walking through a channel's uploads playlist to enumerate all videos.

Parameters* required
partstring
Comma-separated list of playlistItem resource parts to include in the response. Valid values: 'snippet', 'contentDetails', 'id', 'status'.default: snippet,contentDetails
fieldsstring
Selector specifying which fields to include in a partial response.
videoIdstring
Filter results to only those containing the specified video ID.
pageTokenstring
The token for the page of results to retrieve. Obtained from a previous call's nextPageToken.
maxResultsinteger
The maximum number of items to return per page. Must be between 0 and 50.default: 50
playlistIdstring
The ID of the playlist for which to retrieve items. Typically a channel's uploads playlist ID.
onBehalfOfContentOwnerstring
Note: For YouTube content partners. Authorize using a properly scoped account.
YOUTUBE_LIST_USER_PLAYLISTSRetrieves playlists owned by the authenticated user, implicitly using mine=True.3 params

Retrieves playlists owned by the authenticated user, implicitly using mine=True.

Parameters* required
partstring
Specifies a comma-separated list of one or more playlist resource properties to include in the response. Common values are 'snippet', 'id', and 'contentDetails'.default: snippet
pageTokenstring
Token for pagination to retrieve a specific page of results.
maxResultsinteger
Maximum number of playlists to return.default: 5
YOUTUBE_LIST_USER_SUBSCRIPTIONSRetrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination.3 params

Retrieves the authenticated user's YouTube channel subscriptions, allowing specification of response parts and pagination.

Parameters* required
partstring
Specifies the comma-separated subscription resource parts to include. Valid parts are `id`, `snippet`, `contentDetails`, and `subscriberSnippet`.default: snippet,contentDetails
pageTokenstring
Token for a specific page of results, obtained from a previous response. Omit for the first page.
maxResultsinteger
Maximum number of subscription items to return per page.default: 5
YOUTUBE_LOAD_CAPTIONSDownloads a specific YouTube caption track, which must be owned by the authenticated user, and returns its content as text. Note: This action requires you to own the video (YouTube Data API v3 restriction). Non-owned videos will return 403 Forbidden errors, including many auto...2 params

Downloads a specific YouTube caption track, which must be owned by the authenticated user, and returns its content as text. Note: This action requires you to own the video (YouTube Data API v3 restriction). Non-owned videos will return 403 Forbidden errors, including many auto...

Parameters* required
idstring
Unique YouTube-assigned ID of the caption track to download.
tfmtstring
Desired format for the caption track. Supported formats: 'srt' (SubRip), 'sbv' (SubViewer), 'vtt' (WebVTT).default: srt
YOUTUBE_SEARCH_YOU_TUBESearches YouTube for videos, channels, or playlists using a query term, returning the raw API response.5 params

Searches YouTube for videos, channels, or playlists using a query term, returning the raw API response.

Parameters* required
qstring
Search query term. Supports: - Basic text: 'machine learning' - Exact phrases: '"exact phrase"' - Exclusions: 'python -snake' - Multiple terms: 'AI OR ML' - Channel search: '@channelhandle' or channel name
partstring
Comma-separated list of search resource properties (e.g., 'id', 'snippet') to include in the API response.default: snippet
typestring
Restricts search to 'video', 'channel', or 'playlist'; comma-separate for multiple types (e.g., 'video,channel').default: video
pageTokenstring
Pagination token from a previous response's 'nextPageToken' or 'prevPageToken', used to retrieve a specific page of results.
maxResultsinteger
Maximum number of items to return per page.default: 5
YOUTUBE_SUBSCRIBE_CHANNELSubscribes the authenticated user to a specified YouTube channel, identified by its unique `channelId` which must be valid and existing.1 params

Subscribes the authenticated user to a specified YouTube channel, identified by its unique `channelId` which must be valid and existing.

Parameters* required
channelIdstring
Unique identifier (ID) of the YouTube channel to subscribe to (typically starts with 'UC').
YOUTUBE_UPDATE_THUMBNAILSets the custom thumbnail for a YouTube video using an image from thumbnailUrl; the authenticated user must have permission to edit the video.2 params

Sets the custom thumbnail for a YouTube video using an image from thumbnailUrl; the authenticated user must have permission to edit the video.

Parameters* required
videoIdstring
Identifier of the YouTube video for which to update the thumbnail.
thumbnailUrlstring
Publicly accessible URL of the new thumbnail image. Must be JPG, GIF, or PNG; under 2MB. Recommended: 16:9 aspect ratio, 1280x720 resolution (minimum 640px width).
YOUTUBE_UPDATE_VIDEOUpdates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.6 params

Updates metadata for a YouTube video identified by videoId, which must exist; an empty list for tags removes all existing tags.

Parameters* required
tagsarray
New tags, replacing all existing. An empty list removes all. No change if omitted or `None`.
titlestring
New video title. No change if omitted or `None`.
videoIdstring
The video's unique YouTube ID, typically found in its URL.
categoryIdstring
New YouTube category ID. No change if omitted or `None`.
descriptionstring
New video description. No change if omitted or `None`.
privacyStatusstring
New privacy status ('public', 'private', or 'unlisted'). No change if omitted or `None`.
YOUTUBE_UPLOAD_VIDEOUploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format.6 params

Uploads a video from a local file path to a YouTube channel; the video file must be in a YouTube-supported format.

Parameters* required
tagsarray
List of keyword tags (strings) for the video, used to improve discoverability.
titlestring
The title for the video.
categoryIdstring
YouTube category ID (e.g., '22' for People & Blogs). See YouTube Data API docs for a full list of category IDs.
descriptionstring
Detailed description of the video content, optionally including keywords and context.
privacyStatusstring
Privacy status: 'public', 'private' (uploader/specified users only), or 'unlisted' (link accessible, not publicly listed).
videoFilePathstring
Video file to upload. Provide a FileUploadable object with valid s3key, mimetype, and name.
YOUTUBE_VIDEO_DETAILSRetrieves specified information parts (e.g., snippet, contentDetails, statistics) for a YouTube video, identified by its ID.2 params

Retrieves specified information parts (e.g., snippet, contentDetails, statistics) for a YouTube video, identified by its ID.

Parameters* required
idstring
The YouTube video ID (typically an 11-character string) for which details are to be retrieved.
partstring
Comma-separated list of video resource parts that the API response will include. Valid parts: 'snippet' (title, description, thumbnails), 'contentDetails' (duration, definition, dimension), 'statistics' (view count, like count, comment count), 'status' (upload status, privacy status), 'player' (embed HTML), 'topicDetails' (associated topics), 'recordingDetails' (recording location and date), 'liveStreamingDetails' (live broadcast details), and 'localizations' (localized metadata).default: snippet,contentDetails,statistics

TranscriptAPI

YouTube Transcript + YouTube Search MCP for AI Agents

The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.
Six tools — transcripts, video search, channel browsing, in-channel search, playlist extraction, and new-upload polling — for Claude, ChatGPT, Cursor, VS Code, Claude Code, and 20+ clients.

Install in Cursor Install in VS Code

Website Docs Swagger MIT License

Powering 15M+ transcripts every month · 500K+ transcripts processed daily · 49ms median response time Trusted in production by youtubetotranscript.com (~11M/mo) and recapio.com (~2.8M/mo).


Why TranscriptAPI MCP

Most YouTube MCP servers do one thing — pull a single transcript. TranscriptAPI MCP is a full toolkit: transcripts, video search, channel search, channel browsing, playlist extraction, and free RSS-based upload tracking — all from one remote endpoint, all designed for AI agents.

TranscriptAPI MCPTypical YouTube MCP
Hosting✅ Remote (no local install)❌ Local stdio install
Tools✅ 6 tools❌ 1 (transcript only)
YouTube search✅ Yes❌ No
Channel & playlist extraction✅ Yes❌ No
Latest-uploads monitoring (free)✅ Yes❌ No
OAuth 2.1 + API key auth✅ Both❌ Usually neither
Production scale (15M+ req/mo)✅ Yes❌ Hobbyist scrapers
Works on mobile Claude & web Claude✅ Yes❌ No
Agent-friendly error messages✅ Yes❌ Bare HTTP codes

Quick taste:

Find Andrew Huberman's three most-viewed videos about sleep,
get the transcript of each, and write a 5-bullet comparison.

That single prompt uses 3 of our 6 tools — search_youtube, search_channel_videos, get_youtube_transcript — without you writing a line of code.


🛠️ Quick Install

Requirements:

  • A TranscriptAPI account (sign up free — first 100 credits free)
  • An API key from your dashboard OR use OAuth (Claude, ChatGPT)

Recommended: Add a Rule to Auto-Invoke TranscriptAPI

Add this rule to your AI client so you don't need to explicitly ask for transcripts:

When I share a YouTube URL, automatically use the TranscriptAPI MCP tool
to fetch the transcript before responding. This applies to any video analysis,
summarization, or question about YouTube content.
Install in Cursor (One-Click / Manual)

One-Click Install:

Install MCP Server

Manual Configuration:

Go to: Settings → Features → MCP → Add New MCP Server

  • Name: transcript-api
  • Type: SSE (Remote)
  • URL: https://transcriptapi.com/mcp

Or edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "transcript-api": {
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Claude (Desktop & Web) — Recommended

Claude supports adding MCP servers directly via the "Custom Connector" UI.

Quick Setup:

  1. Open Claude Settings (click your profile icon → Settings)
  2. Go to Connectors → Add custom connector
  3. Enter the following details:
    • Name: TranscriptAPI
    • URL: https://transcriptapi.com/mcp
  4. Click Add, then click Connect to authorize via your browser.
  5. (Optional) In the connector settings, change permissions to "Allow unsupervised" for seamless usage.

Full Guide: Claude Integration Guide →

Install in Claude Code (CLI)
claude mcp add --transport http transcript-api https://transcriptapi.com/mcp
Install in ChatGPT

ChatGPT supports OAuth for secure authentication. Enable Developer Mode in ChatGPT settings first.

Quick Setup:

  1. In ChatGPT, go to Settings → Connected Apps → Add
  2. Enter the MCP Server URL: https://transcriptapi.com/mcp
  3. Client ID & Secret are optional:
    • Leave them blank to use Dynamic Client Registration (recommended/simpler).
    • (Advanced) Or enter Client ID & Secret from your dashboard for static registration.
  4. Click Add and authorize via the browser popup.

Full Guide: ChatGPT Integration Guide →

Install in VS Code

Install in VS Code

Or add this to VS Code user settings (settings.json):

"mcp.servers": {
  "transcript-api": {
    "type": "http",
    "url": "https://transcriptapi.com/mcp",
    "headers": {
      "Authorization": "Bearer YOUR_API_KEY"
    }
  }
}
Install in OpenAI Agent Builder

OpenAI Agent Builder currently requires API Key authentication (OAuth not yet supported).

  1. Create a new Agent
  2. Under "Actions" or "Tools", add a new MCP Server
  3. URL: https://transcriptapi.com/mcp
  4. Auth Type: API Key
  5. Paste your API Key from the dashboard

Step-by-Step Guide →

Install in Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "transcript-api": {
      "serverUrl": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Cline
{
  "mcpServers": {
    "transcript-api": {
      "url": "https://transcriptapi.com/mcp",
      "type": "streamableHttp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Zed

In Zed settings.json:

{
  "context_servers": {
    "transcript-api": {
      "source": "remote",
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Roo Code
{
  "mcpServers": {
    "transcript-api": {
      "type": "streamable-http",
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Amp
amp mcp add transcript-api https://transcriptapi.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
Install in Augment Code

In settings.json under augment.advanced:

"augment.advanced": {
  "mcpServers": [
    {
      "name": "transcript-api",
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  ]
}
Install in Kilo Code

In .kilocode/mcp.json:

{
  "mcpServers": {
    "transcript-api": {
      "type": "streamable-http",
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in JetBrains AI Assistant

In Settings → Tools → AI Assistant → MCP:

{
  "mcpServers": {
    "transcript-api": {
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Gemini CLI

In ~/.gemini/settings.json:

{
  "mcpServers": {
    "transcript-api": {
      "httpUrl": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Qwen Coder

In ~/.qwen/settings.json:

{
  "mcpServers": {
    "transcript-api": {
      "httpUrl": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Google Antigravity
{
  "mcpServers": {
    "transcript-api": {
      "serverUrl": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Trae
{
  "mcpServers": {
    "transcript-api": {
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in LM Studio

In mcp.json:

{
  "mcpServers": {
    "transcript-api": {
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in BoltAI

In Plugins → JSON Config:

{
  "mcpServers": {
    "transcript-api": {
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}
Install in Warp

In Settings → AI → MCP:

{
  "transcript-api": {
    "url": "https://transcriptapi.com/mcp",
    "headers": {
      "Authorization": "Bearer YOUR_API_KEY"
    }
  }
}
Install in Perplexity Desktop

In Settings → Connectors → Advanced:

{
  "url": "https://transcriptapi.com/mcp",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY"
  }
}

🔐 Authentication

API Key

Simple and universal. Works with every MCP client.

  1. Get your API key from your dashboard
  2. Keys start with sk_ prefix
  3. Add to config as a Bearer token:
"headers": {
  "Authorization": "Bearer sk_your_api_key_here"
}

Security: Store keys in environment variables where possible and never commit them to version control.

OAuth 2.1

Automatic, secure authentication without manual key management.

Dynamic Client Registration (DCR):

  • Supported by: Claude Desktop, Claude Web, ChatGPT
  • Just add the MCP URL — client auto-registers
  • No credentials needed
  • You'll authorize once via browser redirect

Static Client Registration:

  • Supported by: ChatGPT (optional)
  • Get Client ID + Secret from the MCP Integration Dashboard
  • More control over client identity

Full reference: Authentication docs →


🧰 Available Tools

All six tools are exposed automatically once you connect. 1 credit = 1 successful (HTTP 200) request. Failed/rate-limited calls do not consume credits.

1. get_youtube_transcript

Fetch the transcript for any YouTube video — as markdown (with metadata) or structured JSON. Drop the output straight into summarizers, search indexes, or AI pipelines.

ParameterTypeDefaultDescription
video_urlstringrequiredYouTube URL (full or short) or 11-char video ID
send_metadatabooleantrueInclude video title, author, thumbnail
formatstring"text""text" (markdown) or "json"
include_timestampbooleantrueAdd timestamps to each segment

Cost: 1 credit per successful request.

Example output (markdown):

# Metadata

## Title: Rick Astley - Never Gonna Give You Up
## Author: RickAstleyVEVO

# Transcript

[0.0s] Never gonna give you up
[4.12s] Never gonna let you down

Example output (JSON):

{
  "transcript": [
    { "text": "Never gonna give you up", "start": 0.0, "duration": 4.12 },
    { "text": "Never gonna let you down", "start": 4.12, "duration": 3.85 }
  ],
  "metadata": { "title": "Rick Astley...", "author_name": "RickAstleyVEVO" }
}

2. search_youtube

Search YouTube for videos or channels. Filter by type and paginate with a continuation token — perfect for discovery, research, and building content pipelines.

ParameterTypeDefaultDescription
querystringrequiredSearch query
search_typestring"video""video" or "channel"
continuationstringnullToken from a prior call for next page

Cost: 1 credit per page (~20 results per page).

Example prompt:

Search YouTube for "transformer architecture explained" and pick the
top 3 results by relevance.

3. get_channel_latest_videos · FREE

Get the ~15 most recent uploads from any channel via RSS — no credits required. Perfect for monitoring, daily recaps, or triggering downstream pipelines.

ParameterTypeDefaultDescription
channelstringrequired@handle, channel URL, or UC… channel ID

Cost: Free.

Example prompt:

Every morning, list new uploads from @lexfridman and @hubermanlab.

4. search_channel_videos

Search inside one specific channel for videos matching a query. Great for researching a creator's content or finding niche topics in large channels.

ParameterTypeDefaultDescription
channelstringrequired@handle, channel URL, or UC… ID
querystringrequiredQuery to search within the channel
continuationstringnullPagination token

Cost: 1 credit per page (~30 results per page).

Example prompt:

On Andrew Huberman's channel, find every video about sleep.

5. list_channel_videos

List every video on a channel, ~100 per page. Ideal for building databases, bulk transcript extraction, or auditing a channel's full content library.

ParameterTypeDefaultDescription
channelstringrequired@handle, channel URL, or UC… ID
continuationstringnullPagination token

Cost: 1 credit per page (~100 results per page).


6. list_playlist_videos

Get every video in a YouTube playlist (PL/UU/LL/FL/OL IDs supported). Process entire courses, lecture series, or curated collections in a single call.

ParameterTypeDefaultDescription
playliststringrequiredPlaylist URL or playlist ID
continuationstringnullPagination token

Cost: 1 credit per page (~100 results per page).


💡 Use Cases & Prompts

Use CaseExample Prompt
📝 Summarize a video"Summarize the key points from this video: [URL]"
🔍 Research a topic"Search YouTube for the 5 most-watched videos on neural radiance fields; summarize each."
🧠 Study notes"Create study notes from this MIT lecture series playlist: [PLAYLIST URL]"
⚖️ Compare perspectives"Compare arguments in these two videos: [URL1] [URL2]"
🌐 Translate"Translate this video's transcript to Spanish: [URL]"
✍️ Repurpose content"Turn this video into a 1,500-word blog post: [URL]"
📡 Monitor a creator"Each morning, list new uploads from @hubermanlab and tell me which to watch."
🏛️ Build a content database"Pull every video from @veritasium and store title + transcript."
🎯 Competitor analysis"Search inside @MKBHD for any video about [competitor product] and summarize the takeaways."

💳 Pricing & Rate Limits

PlanPriceCreditsRate Limit
Free$0 (one-time)10060 req/min
Starter Monthly$5/month1,000/month200 req/min
Starter Annual$54/year ($4.50/mo)1,000/month300 req/min
  • 1 Credit = 1 successful request (HTTP 200)
  • Failed and rate-limited requests do not consume credits.
  • get_channel_latest_videos is free (no credits charged).
  • View pricing · Manage credits

🚨 Troubleshooting

Authentication errors (401)
  • Verify your API key starts with sk_
  • Check for extra spaces when copying
  • Ensure the key is active in your dashboard
  • If using OAuth, try re-authorizing
No credits (402)
  • Check your credit balance at the dashboard
  • Purchase more credits or upgrade your plan
Video not available (404)
  • The video might not have captions/subtitles enabled
  • The video might be private or age-restricted
  • The video might be region-locked
Rate limiting (429)
  • Respect the Retry-After header
  • Implement exponential backoff in your client
  • Upgrade to a paid plan for higher limits
OAuth issues
  • Clear browser cookies and try again
  • For ChatGPT, try switching between Dynamic and Static registration
  • Ensure popup blockers aren't preventing the auth window

🔗 Also available as a REST API

Building an app instead of an agent? The same backend ships as a JSON REST API.

MCPREST API
Best forAI assistants & agentsApps & backend services
SetupAdd a URLCode integration
Get startedThis READMEAPI docs → · Swagger →

Base URL: https://transcriptapi.com/api/v2


🤝 Connect

  • 🌐 Website: transcriptapi.com
  • 📚 Docs: transcriptapi.com/docs
  • 🔧 API Reference: transcriptapi.com/docs/api
  • 🤖 MCP Setup Guides: Claude · ChatGPT · OpenAI Agent Builder
  • 💬 Contact: transcriptapi.com/contact

📋 MCP Registry

This server is published to the official Model Context Protocol Registry under the name:

com.transcriptapi/youtube-transcript-and-youtube-search

© 2026 Zero Point Studio d.o.o. · Released under the MIT License

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
Search & Web CrawlingMedia & Entertainment
Registryactive
TransportHTTP
UpdatedMay 20, 2026
View on GitHub

Related Search & Web Crawling MCP Servers

View all →
Google Search

com.mcparmory/google-search

Scrape Google search results with SERP data, ads, and knowledge panels
25
Brave Search

io.github.pipeworx-io/brave-search

Brave Search MCP — independent web index (no Google/Bing dependency)
Serper Search and Scrape

marcopesani/mcp-server-serper

Serper MCP Server supporting search and webpage scraping
154
Brave Search Mcp Server

brave/brave-search-mcp-server

Brave Search MCP Server: web results, images, videos, rich results, AI summaries, and more.
1.2k
Google Search Console

com.mcparmory/google-search-console

Query search analytics, manage sitemaps, and inspect site URLs and status
25
Google Search Console

acamolese/google-search-console-mcp

Google Search Console MCP server: SEO audits, performance queries, URL inspection, indexing checks.
3