Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/δΈ­ζ–‡
Sign inSign up
Home/Servers/πŸ’― YouTube Transcript + YouTube Search MCP For AI Agents

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

by com.transcriptapi

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

Power your agent

Add this server

The publisher's own URL. Not a PlugMCP endpoint.

Server URL
https://transcriptapi.com/mcp
Provider
Add in Claude

Claude opens with the name and URL filled in. You still confirm it there.

Claude Code
claude mcp add --transport http com.transcriptapi-youtube-transcript-and-youtube-search https://transcriptapi.com/mcp

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "com.transcriptapi-youtube-transcript-and-youtube-search": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://transcriptapi.com/mcp"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • FirecrawlπŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

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


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βœ… 12 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 @NASA's three most-viewed videos about the Moon landing,
get the transcript of each, and write a 5-bullet comparison.

That single prompt uses 3 of our 12 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 12 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/UF8uR6Z6KLc

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:

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

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

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:

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

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).

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

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.

  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 12 tools are exposed automatically once you connect. Successful calls cost 1 credit unless a tool states otherwise below. Failed/rate-limited calls do not consume credits.

Which video tool? Use get_youtube_video_info (free) to discover transcript languages before fetching a transcript. Use get_video_metadata (1 credit) for view/like counts, publish date, description, duration, tags, or related videos.

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. get_youtube_video_info Β· FREE

Basic metadata (title, author, thumbnail) plus the list of available transcript languages: call this before get_youtube_transcript to pick a language.

ParameterTypeDefaultDescription
video_urlstringrequiredYouTube URL (full or short) or 11-char video ID

Cost: Free.

For view/like counts, publish date, description, duration, tags, or related videos, use get_video_metadata instead.


3. get_video_metadata

Rich video metadata without needing captions: title, view/like-count text, publish date, structured description + links, uploading-channel summary, and thumbnails. Optional include extras pull heavier player-sourced data (duration, category, tags, caption-track inventory) and related videos.

ParameterTypeDefaultDescription
video_urlstringrequiredYouTube URL (full or short) or 11-char video ID
includestring[]noneExtras: "details" (duration, category, tags, caption tracks) and/or "related" (related videos)

Cost: 1 credit per successful request.

Example prompt:

Get the view count, publish date, and tags for https://youtu.be/UF8uR6Z6KLc.

4. search_youtube

Search YouTube for videos, channels, playlists, or movies. Filter by type, sort, upload date, or duration, and paginate with a continuation token, perfect for discovery, research, and building content pipelines.

ParameterTypeDefaultDescription
querystringrequired (first call)Search query
search_typestring"video""video", "channel", "playlist", or "movie" (first call only)
sortstring"relevance"First-page sort: "relevance" or "views"
upload_datestringnoneFirst-page upload window (videos only): hour, today, week, month, year
durationstringnoneFirst-page duration bucket (videos only): short (under 4m), medium (4-20m), long (over 20m)
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.

5. get_channel_info

A channel's profile: title, @handle, verified flag, subscriber/video-count text, description, keywords, tags, thumbnails, banners, and the tabs it exposes. Not paginated.

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

Cost: 1 credit per successful request.

Check the returned tabs before calling get_channel_sections or list_channel_videos with a tab.


6. get_channel_latest_videos Β· FREE

Get the ~15 most recent uploads from any channel via RSS. 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 @NASA and @natgeo.

7. 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 @NASA's channel, find every video about the Moon landing.

8. list_channel_videos

List a channel's feed with pagination. Use tab to choose the uploads feed (default, ~100/page), Shorts, or live streams (~48/page), and the optional sort to order the Videos tab by latest, popular, or oldest. Ideal for building databases, bulk transcript extraction, or auditing a channel's full content library.

ParameterTypeDefaultDescription
channelstringrequired (first call)@handle, channel URL, or UC… ID
tabstring"videos"Which feed: videos (uploads), shorts, or streams (live). Repeat the same tab when paginating.
sortstringnulllatest, popular, or oldest. Omit for the uploads feed. Repeat the same value when paginating.
continuationstringnullPagination token

Sorting. Add sort=latest, popular, or oldest to channel/videos to get a channel's videos in the order you want, for example its most-popular uploads first. A sorted page returns about 30 videos (an unsorted page returns about 100), and every page costs the same 1 credit.

Sorted results come from YouTube's Videos tab (long-form only); Shorts have their own tab=shorts feed.

When paging, send the same sort on each request.

Every item carries members_only: true only when YouTube badges the video "Members only", and those items have no viewCountText, because YouTube does not publish view counts for membership content. It is always false on the uploads feed, on tab: "shorts", and on playlists.

Items from tab: "streams" carry lengthText and publishedTimeText (for example Streamed 2 years ago, or LIVE and a watching count while the stream is live). tab: "shorts" returns null for both, because YouTube's Shorts grid publishes neither a duration nor a publish date. On the channel-tab feeds (tab: "videos" with sort, tab: "shorts", tab: "streams") channelId, channelTitle, channelHandle and index are null.

Cost: 1 credit per page.


9. list_channel_playlists

Paginated list of the playlists on a channel (id, title, URL, video-count text, thumbnails). Pass a returned playlist id to list_playlist_videos to get its videos.

ParameterTypeDefaultDescription
channelstringrequired (first call)@handle, channel URL, or UC… ID
continuationstringnullPagination token

Cost: 1 credit per page.


10. list_channel_posts

Paginated list of a channel's community (Posts tab) content: text, publish time, like-count text, and attachments (image, multi-image, video, playlist, or poll). Channels without a community tab return an empty results list, not an error.

ParameterTypeDefaultDescription
channelstringrequired (first call)@handle, channel URL, or UC… ID
continuationstringnullPagination token

Cost: 1 credit per page.


11. get_channel_sections

The curated, grouped sections of a channel page: titled shelves of videos, playlists, shorts, or featured channels, in the channel's own order. Not paginated.

ParameterTypeDefaultDescription
channelstringrequired@handle, channel URL, or UC… ID
tabstring"featured"Which curated page: featured (Home), podcasts, or releases

Cost: 1 credit per successful request.

podcasts and releases exist only on channels that have them (empty results otherwise).


12. 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
playliststringrequired (first call)Playlist 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 channel"Each morning, list new uploads from @TED and tell me which to watch."
πŸ›οΈ Build a content database"Pull every video from @NASA and store title + transcript."
🎯 Competitor analysis"Search inside @NASA for any video about [a specific mission or topic] 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

  • 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-After header
  • 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.

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
  • πŸ“‚ Listed in: awesome-agent-plugins, our directory of verified Agent Plugins on the open standard

πŸ“‹ MCP Registry

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

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

How do I install πŸ’― YouTube Transcript + YouTube Search MCP For AI Agents?
Copy the http config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does πŸ’― YouTube Transcript + YouTube Search MCP For AI Agents need an API key?
No required environment variable is listed on this record.
What transport does πŸ’― YouTube Transcript + YouTube Search MCP For AI Agents use?
πŸ’― YouTube Transcript + YouTube Search MCP For AI Agents is reached over HTTP.
When was πŸ’― YouTube Transcript + YouTube Search MCP For AI Agents last checked?
Last checked 2026-10-16. πŸ’― The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA