Youtube MCP By Transcriptapi
About
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.
Details
- Transport
- SSE
Explore
- Six tools: transcripts, search, channel browsing, in-channel search, playlists, upload polling
- Remote hosted—no local installation required
- 49ms median response time at production scale
- Supports OAuth 2.1 and API key authentication
- Works on mobile and web Claude
- Agent-friendly error messages
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Youtube MCP By TranscriptapiCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
> 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.
> Settings
<details>
<summary><b>Install in Cursor (One-Click / Manual)</b></summary>
One-Click Install:
Manual Configuration:
Go to: → Features → MCP → Add New MCP Servertranscript-api
- Name: SSE
- Type: (Remote)https://transcriptapi.com/mcp
- URL: ~/.cursor/mcp.json
Or edit :`
json`
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
TranscriptAPI
</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: https://transcriptapi.com/mcp
- URL: `
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 →
</details>
<details>
<summary><b>Install in Claude Code (CLI)</b></summary>
sh`
claude mcp add --transport http transcript-api https://transcriptapi.com/mcp
Settings
</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 → Connected Apps → Addhttps://transcriptapi.com/mcp
2. Enter the MCP Server URL: settings.json
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 →
</details>
<details>
<summary><b>Install in VS Code</b></summary>
Or add this to VS Code user settings ():`
json`
"mcp.servers": {
"transcript-api": {
"type": "http",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
https://transcriptapi.com/mcp
</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: ~/.codeium/windsurf/mcp_config.json
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 :`
json`
{
"mcpServers": {
"transcript-api": {
"serverUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
`
</details>
<details>
<summary><b>Install in Cline</b></summary>
json`
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"type": "streamableHttp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
settings.json
</details>
<details>
<summary><b>Install in Zed</b></summary>
In Zed :`
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>
json`
{
"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>
sh`
amp mcp add transcript-api https://transcriptapi.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
settings.json
</details>
<details>
<summary><b>Install in Augment Code</b></summary>
In under augment.advanced:`
json`
"augment.advanced": {
"mcpServers": [
{
"name": "transcript-api",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
]
}
.kilocode/mcp.json
</details>
<details>
<summary><b>Install in Kilo Code</b></summary>
In :`
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:
json`
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
~/.gemini/settings.json
</details>
<details>
<summary><b>Install in Gemini CLI</b></summary>
In :`
json`
{
"mcpServers": {
"transcript-api": {
"httpUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
~/.qwen/settings.json
</details>
<details>
<summary><b>Install in Qwen Coder</b></summary>
In :`
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>
json`
{
"mcpServers": {
"transcript-api": {
"serverUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
`
</details>
<details>
<summary><b>Install in Trae</b></summary>
json`
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
mcp.json
</details>
<details>
<summary><b>Install in LM Studio</b></summary>
In :`
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:
json`
{
"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:
json`
{
"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:
json``
{
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
</details>
---
All six tools are exposed automatically once you connect. 1 credit = 1 successful (HTTP 200) request. Failed/rate-limited calls do not consume credits.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"youtube mcp by transcriptapi": {
"youtube-mcp": {
"url": "https://transcriptapi.com/mcp"
}
}
}
}
McpServers
{
"youtube-mcp": {
"url": "https://transcriptapi.com/mcp"
}
}
Transcript
[0.0s] Never gonna give you up [4.12s] Never gonna let you down ``
Example output (JSON):
`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:
`txt
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:
`txt
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:
`txt
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
- 🌐 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
``
---
<p align="center">
<sub>© 2026 Zero Point Studio d.o.o. · Released under the <a href="./LICENSE">MIT License</a></sub>
</p>Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


