YouTube Transcript + YouTube Search MCP for AI Agents
MCP serverSearchThis app gives your AI two abilities: searching YouTube and reading video transcripts. Once it is added, your AI can find videos on a topic and pull what was said in them as text, so it can work with video content without anything being watched. It is free to try.
Available today. Use it from your connected AI after setup.
No other account needed.
Add the app, then ask your AI to search YouTube or fetch the transcript of a video you already have. You can try it for free.
Then ask your AI: use YouTube Transcript + YouTube Search MCP for AI Agents
What your AI can do with it
- Search YouTube for videos on a topic
- Get the transcript of a YouTube video
- Read a video's spoken content as plain text
- Find videos and pull their transcripts in the same conversation
From the project's README
As published by zeropointrepo/youtube-mcp in README.md.
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 MCP | Typical 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.
π§© Install as an Agent Plugin Β· easiest
This repository root is a conformant Agent Plugins 1.0.0 package β the portable format published 2026-08-06 and supported by ChatGPT, Codex, Cursor, GitHub Copilot, Kiro and VS Code. One install gets you the MCP server and a bundled youtube skill that teaches your agent when to use each tool and how not to waste credits.
plugin.json # Agent Plugins 1.0.0 manifest
mcp.json # hosted MCP server, streamable-http, OAuth (no keys)
skills/youtube/SKILL.md # when + how to use the 6 tools
.cursor-plugin/plugin.json # Cursor plugin manifest, same MCP + skill (+ marketplace.json)
VS Code β Command Palette β Chat: Install Plugin From Source, then paste:
https://github.com/ZeroPointRepo/youtube-mcp
Or register a local clone in settings.json:
"chat.pluginLocations": { "/absolute/path/to/youtube-mcp": true }
Cursor β Customize in the sidebar β find the plugin β Install. For a local clone:
git clone https://github.com/ZeroPointRepo/youtube-mcp ~/.cursor/plugins/local/transcriptapi
Then Developer: Reload Window.
Add to Cursor β MCP server only, no clone. Paste this deeplink into your browser:
cursor://anysphere.cursor-deeplink/mcp/install?name=transcriptapi&config=eyJ1cmwiOiJodHRwczovL3RyYW5zY3JpcHRhcGkuY29tL21jcCJ9
ChatGPT, Codex, GitHub Copilot, Kiro, any other client β point your client's plugin mechanism at this repository, or at a local clone. Agent Plugins 1.0.0 standardizes the package format, not installation, so each client owns its own install flow.
30-second example
Summarize this video for me: https://youtu.be/dQw4w9WgXcQ
The agent calls get_youtube_transcript, gets the full timestamped transcript and summarizes it. No API key to configure β the first call opens an OAuth sign-in (free account, 100 credits, no card). Then try:
What has @TED posted in the last month? β get_channel_latest_videos (free)
Find talks on protein folding, summarize the best three.
β search_youtube, then transcripts
There are no credentials in this package β Agent Plugins 1.0.0 forbids embedded secrets, and authorization is client-managed. Verify the package yourself:
curl -sO https://agent-plugins.org/schemas/1.0.0/plugin.schema.json
curl -sO https://agent-plugins.org/schemas/1.0.0/mcp.schema.json
npx ajv-cli@5 validate --spec=draft2020 -s plugin.schema.json -d plugin.json
npx ajv-cli@5 validate --spec=draft2020 -s mcp.schema.json -d mcp.json
π οΈ 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.
One-Click Install:
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"
}
}
}
}
Claude supports adding MCP servers directly via the "Custom Connector" UI.
Quick Setup:
- Open Claude Settings (click your profile icon β Settings)
- Go to Connectors β Add custom connector
- Enter the following details:
- Name:
TranscriptAPI - URL:
https://transcriptapi.com/mcp
- Name:
- Click Add, then click Connect to authorize via your browser.
- (Optional) In the connector settings, change permissions to "Allow unsupervised" for seamless usage.
Full Guide: Claude Integration Guide β
claude mcp add --transport http transcript-api https://transcriptapi.com/mcp
ChatGPT supports OAuth for secure authentication. Enable Developer Mode in ChatGPT settings first.
Quick Setup:
- In ChatGPT, go to
SettingsβConnected AppsβAdd - Enter the MCP Server URL:
https://transcriptapi.com/mcp - 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.
- Click Add and authorize via the browser popup.
Full Guide: ChatGPT Integration Guide β
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"
}
}
}
OpenAI Agent Builder currently requires API Key authentication (OAuth not yet supported).
- Create a new Agent
- Under "Actions" or "Tools", add a new MCP Server
- URL:
https://transcriptapi.com/mcp - Auth Type: API Key
- Paste your API Key from the dashboard
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"transcript-api": {
"serverUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"type": "streamableHttp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
In Zed settings.json:
{
"context_servers": {
"transcript-api": {
"source": "remote",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
{
"mcpServers": {
"transcript-api": {
"type": "streamable-http",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
amp mcp add transcript-api https://transcriptapi.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
In settings.json under augment.advanced:
"augment.advanced": {
"mcpServers": [
{
"name": "transcript-api",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
]
}
In .kilocode/mcp.json:
{
"mcpServers": {
"transcript-api": {
"type": "streamable-http",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
In Settings β Tools β AI Assistant β MCP:
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
In ~/.gemini/settings.json:
{
"mcpServers": {
"transcript-api": {
"httpUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
In ~/.qwen/settings.json:
{
"mcpServers": {
"transcript-api": {
"httpUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
{
"mcpServers": {
"transcript-api": {
"serverUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
In mcp.json:
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
In Plugins β JSON Config:
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
In Settings β AI β MCP:
{
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
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.
- Get your API key from your dashboard
- Keys start with
sk_prefix - 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
video_url | string | required | YouTube URL (full or short) or 11-char video ID |
send_metadata | boolean | true | Include video title, author, thumbnail |
format | string | "text" | "text" (markdown) or "json" |
include_timestamp | boolean | true | Add 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | required | Search query |
search_type | string | "video" | "video" or "channel" |
continuation | string | null | Token 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
channel | string | required | @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.
| Parameter | Type | Default | Description |
|---|---|---|---|
channel | string | required | @handle, channel URL, or UC⦠ID |
query | string | required | Query to search within the channel |
continuation | string | null | Pagination 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
channel | string | required | @handle, channel URL, or UC⦠ID |
continuation | string | null | Pagination 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
playlist | string | required | Playlist URL or playlist ID |
continuation | string | null | Pagination token |
Cost: 1 credit per page (~100 results per page).
π‘ Use Cases & Prompts
| Use Case | Example 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
| Plan | Price | Credits | Rate Limit |
|---|---|---|---|
| Free | $0 (one-time) | 100 | 60 req/min |
| Starter Monthly | $5/month | 1,000/month | 200 req/min |
| Starter Annual | $54/year ($4.50/mo) | 1,000/month | 300 req/min |
- 1 Credit = 1 successful request (HTTP 200)
- Failed and rate-limited requests do not consume credits.
get_channel_latest_videosis free (no credits charged).- View pricing Β· Manage credits
π¨ Troubleshooting
- 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
- Check your credit balance at the dashboard
- Purchase more credits or upgrade your plan
- The video might not have captions/subtitles enabled
- The video might be private or age-restricted
- The video might be region-locked
- Respect the
Retry-Afterheader - Implement exponential backoff in your client
- Upgrade to a paid plan for higher limits
- 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.
Shortened here. Read the whole README on GitHub.
Signals
- GitHub stars
- 10
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Delivery
- youtube-transcript-and-youtube-search MCP server β your ahel gateway (mcp.ahel.ai) β every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
com-transcriptapi-youtube-transcript-and-youtube-search- Source
- github.com/zeropointrepo/youtube-mcp
- Hosted endpoint
https://transcriptapi.com/mcp