YouTube MCP by TranscriptAPI

No local install, no cloud IP blocks. YouTube transcript, search, and channel data for AI agents. TranscriptAPI runs the infrastructure — 500K+ transcripts/day at 49ms. OAuth or API key. 100 free credits.

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: SettingsFeaturesMCPAdd 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 ConnectorsAdd 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 SettingsConnected AppsAdd
  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


📋 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

Related Servers