Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’
πŸ’― YouTube Transcript + YouTube Search MCP for AI Agents logo

πŸ’― YouTube Transcript + YouTube Search MCP for AI Agents

ZeroPointRepo/youtube-mcp
6 starsMITUpdated 2026-05-20Community

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

πŸ’― The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.

README.md

<!-- mcp-name: com.transcriptapi/youtube-transcript-and-youtube-search -->

<p align="center"> <a href="https://transcriptapi.com"> <img src="public/brand/logo-512.png" width="160" height="160" alt="TranscriptAPI" /> </a> </p>

<h1 align="center">YouTube Transcript + YouTube Search MCP for AI Agents</h1>

<p align="center"> <b>The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.</b><br/> 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. </p>

<p align="center"> <a href="https://cursor.com/en/install-mcp?name=transcript-api&config=eyJ1cmwiOiJodHRwczovL3RyYW5zY3JpcHRhcGkuY29tL21jcCJ9"><img alt="Install in Cursor" src="https://img.shields.io/badge/Cursor-Install_MCP-000000?style=for-the-badge&logo=cursor&logoColor=white"/></a> <a href="https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22transcript-api%22%2C%22url%22%3A%22https%3A%2F%2Ftranscriptapi.com%2Fmcp%22%7D"><img alt="Install in VS Code" src="https://img.shields.io/badge/VS_Code-Install_MCP-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white"/></a> </p>

<p align="center"> <a href="https://transcriptapi.com"><img src="https://img.shields.io/badge/Website-transcriptapi.com-FF3B00?style=for-the-badge" alt="Website"/></a> <a href="https://transcriptapi.com/docs"><img src="https://img.shields.io/badge/Docs-API_Reference-06B6D4?style=for-the-badge&logo=readthedocs&logoColor=white" alt="Docs"/></a> <a href="https://transcriptapi.com/swagger"><img src="https://img.shields.io/badge/Swagger-Try_API-85EA2D?style=for-the-badge&logo=swagger&logoColor=white" alt="Swagger"/></a> <a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-4CAF50?style=for-the-badge" alt="MIT License"/></a> </p>

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.

---

πŸ› οΈ 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: ``txt 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. ``

<details> <summary><b>Install in Cursor (One-Click / Manual)</b></summary>

One-Click Install:

![Install MCP Server](https://cursor.com/en/install-mcp?name=transcript-api&config=eyJ1cmwiOiJodHRwczovL3RyYW5zY3JpcHRhcGkuY29tL21jcCJ9)

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"
      }
    }
  }
}

</details>

<details> <summary><b>Install in Claude (Desktop & Web) β€” Recommended</b></summary>

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
  1. Click Add, then click Connect to authorize via your browser.
  2. (Optional) In the connector settings, change permissions to "Allow unsupervised" for seamless usage.

Full Guide: Claude Integration Guide β†’

</details>

<details> <summary><b>Install in Claude Code (CLI)</b></summary>

claude mcp add --transport http transcript-api https://transcriptapi.com/mcp

</details>

<details> <summary><b>Install in ChatGPT</b></summary>

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.
  1. Click Add and authorize via the browser popup.

Full Guide: ChatGPT Integration Guide β†’

</details>

<details> <summary><b>Install in VS Code</b></summary>

<img alt="Install in VS Code" src="https://img.shields.io/badge/VS_Code-Install_TranscriptAPI_MCP-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white">

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"
    }
  }
}

</details>

<details> <summary><b>Install in OpenAI Agent Builder</b></summary>

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 β†’

</details>

<details> <summary><b>Install in Windsurf</b></summary>

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

{
  "mcpServers": {
    "transcript-api": {
      "serverUrl": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

</details>

<details> <summary><b>Install in Cline</b></summary>

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

</details>

<details> <summary><b>Install in Zed</b></summary>

In Zed settings.json:

{
  "context_servers": {
    "transcript-api": {
      "source": "remote",
      "url": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

</details>

<details> <summary><b>Install in Roo Code</b></summary>

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

</details>

<details> <summary><b>Install in Amp</b></summary>

amp mcp add transcript-api https://transcriptapi.com/mcp --header "Authorization: Bearer YOUR_API_KEY"

</details>

<details> <summary><b>Install in Augment Code</b></summary>

In settings.json under augment.advanced:

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

</details>

<details> <summary><b>Install in Kilo Code</b></summary>

In .kilocode/mcp.json:

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

</details>

<details> <summary><b>Install in JetBrains AI Assistant</b></summary>

In Settings β†’ Tools β†’ AI Assistant β†’ MCP:

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

</details>

<details> <summary><b>Install in Gemini CLI</b></summary>

In ~/.gemini/settings.json:

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

</details>

<details> <summary><b>Install in Qwen Coder</b></summary>

In ~/.qwen/settings.json:

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

</details>

<details> <summary><b>Install in Google Antigravity</b></summary>

{
  "mcpServers": {
    "transcript-api": {
      "serverUrl": "https://transcriptapi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

</details>

<details> <summary><b>Install in Trae</b></summary>

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

</details>

<details> <summary><b>Install in LM Studio</b></summary>

In mcp.json:

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

</details>

<details> <summary><b>Install in BoltAI</b></summary>

In Plugins β†’ JSON Config:

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

</details>

<details> <summary><b>Install in Warp</b></summary>

In Settings β†’ AI β†’ MCP:

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

</details>

<details> <summary><b>Install in Perplexity Desktop</b></summary>

In Settings β†’ Connectors β†’ Advanced:

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

</details>

---

πŸ” 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:

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 <sub>Β· FREE</sub>

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_videos is free (no credits charged).
  • View pricing Β· Manage credits

---

🚨 Troubleshooting

<details> <summary><b>Authentication errors (401)</b></summary>

  • 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

</details>

<details> <summary><b>No credits (402)</b></summary>

  • Check your credit balance at the dashboard
  • Purchase more credits or upgrade your plan

</details>

<details> <summary><b>Video not available (404)</b></summary>

  • The video might not have captions/subtitles enabled
  • The video might be private or age-restricted
  • The video might be region-locked

</details>

<details> <summary><b>Rate limiting (429)</b></summary>

  • Respect the Retry-After header
  • Implement exponential backoff in your client
  • Upgrade to a paid plan for higher limits

</details>

<details> <summary><b>OAuth issues</b></summary>

  • Clear browser cookies and try again
  • For ChatGPT, try switching between Dynamic and Static registration
  • Ensure popup blockers aren't preventing the auth window

</details>

---

πŸ”— Also available as a REST API

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

| | MCP | REST API | | --------------- | --------------------------- | --------------------------------------------------------- | | Best for | AI assistants & agents | Apps & backend services | | Setup | Add a URL | Code integration | | Get started | This README | API 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

---

<p align="center"> <sub>Β© 2026 Zero Point Studio d.o.o. Β· Released under the <a href="./LICENSE">MIT License</a></sub> </p>

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Search servers.