Transcriptapi Plugin
БесплатноНе проверенYouTube MCP + YouTube Skill for AI agents — YouTube transcripts, captions, subtitles, video & channel search, playlists. Agent Plugins 1.0.0 package for Claude,
Описание
YouTube MCP + YouTube Skill for AI agents — YouTube transcripts, captions, subtitles, video & channel search, playlists. Agent Plugins 1.0.0 package for Claude, Cursor, ChatGPT, Codex, VS Code & Copilot. OAuth, free tier, no API key.
README
YouTube MCP + YouTube Skill for AI Agents
The complete YouTube toolkit as a single Agent Plugin, by TranscriptAPI.
YouTube transcripts, captions and subtitles, video & channel search, channel browsing, playlist extraction and new-upload polling — 6 hosted MCP tools plus one comprehensive skill.
One install. OAuth sign-in. No API key to manage. Free tier, no card.
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).
🧩 What is this?
This repository root is a conformant Agent Plugins 1.0.0 package — the open, vendor-neutral packaging standard published 2026-08-06 by Amazon, Cursor, GitHub, Microsoft, OpenAI and Vercel, with Google as a core maintainer. It bundles MCP servers and Agent Skills into one portable, drop-in folder that every compliant client can read.
One install gives your agent both halves:
| Component | What it does |
|---|---|
MCP server (transcriptapi) |
6 hosted tools over streamable HTTP with OAuth 2.1 — get_youtube_transcript, search_youtube, get_channel_latest_videos, search_channel_videos, list_channel_videos, list_playlist_videos. No key handling: your agent signs you in on first use. |
Skill (youtube) |
Teaches the agent when to reach for YouTube data, which tool answers each question, and how not to burn credits — with a full REST fallback for clients that load skills but not MCP servers. |
Just ask, in plain English:
Summarize this video for me: https://youtu.be/dQw4w9WgXcQ
Find Andrew Huberman's three most-viewed videos about sleep and compare them.
What has @TED posted in the last month?
That last set of prompts touches 3 of the 6 tools — search_youtube, search_channel_videos, get_youtube_transcript — without you writing a line of code.
Why TranscriptAPI
Most YouTube integrations do one thing — pull a single transcript. This is a full toolkit.
| TranscriptAPI | Typical YouTube MCP / skill | |
|---|---|---|
| Packaging | ✅ Agent Plugins 1.0.0 | ❌ Per-client manifests |
| Hosting | ✅ Remote (no local install) | ❌ Local stdio install |
| Tools | ✅ 6 tools + a skill | ❌ 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 |
| No yt-dlp, no headless browser, no binaries | ✅ Just an API call | ❌ Blocked on cloud IPs |
⚡ Install
As an Agent Plugin · recommended
Agent Plugins 1.0.0 standardizes the package format, not installation — so each client owns its own install flow. Point any of them at this repository:
https://github.com/ZeroPointRepo/transcriptapi-plugin
VS Code
Command Palette → Chat: Install Plugin From Source, then paste the repo URL above.
Or register a local clone in settings.json:
"chat.pluginLocations": { "/absolute/path/to/transcriptapi-plugin": true }
Cursor
Customize in the sidebar → find the plugin → Install. Or type /add-plugin and enter the repo URL.
For a local clone:
git clone https://github.com/ZeroPointRepo/transcriptapi-plugin ~/.cursor/plugins/local/transcriptapi
Then Developer: Reload Window.
Claude Code
/plugin marketplace add ZeroPointRepo/transcriptapi-plugin
/plugin install transcriptapi@transcriptapi
ChatGPT · Codex · GitHub Copilot · Kiro · others
Point your client's plugin mechanism at this repository, or at a local clone. The package carries the canonical plugin.json and mcp.json, plus per-client manifests under .codex-plugin/, .cursor-plugin/ and .claude-plugin/ for clients that look there first.
The first YouTube question you ask opens a TranscriptAPI OAuth sign-in (free account, 100 credits, no card). Done.
Skills only (no MCP)
The skill also works standalone against the REST API with an API key:
npx skills add ZeroPointRepo/transcriptapi-plugin
OpenClaw · Hermes · manual
🦞 OpenClaw (ClawdBot/Moltbot): installs from the ClawHub registry, which serves the standalone skills repo:
npx clawhub@latest install youtube-full
Hermes Agent:
hermes skills install skills-sh/ZeroPointRepo/transcriptapi-plugin/skills/youtube
Manual:
git clone https://github.com/ZeroPointRepo/transcriptapi-plugin.git
cp -r transcriptapi-plugin/skills/youtube ~/.claude/skills/
Not a developer? Paste this into Claude, ChatGPT, OpenClaw or any agent:
Install the TranscriptAPI plugin from https://github.com/ZeroPointRepo/transcriptapi-plugin I want YouTube transcripts, search and channel browsing from my agent. Set it up for me.
Tip — auto-invoke. Add this rule to your client so you never have to ask explicitly:
When I share a YouTube URL, automatically use TranscriptAPI to fetch the transcript before responding. This applies to any video analysis, summarization, or question about YouTube content.
Manual MCP configuration for 20+ other clients
The MCP endpoint is https://transcriptapi.com/mcp. Get an API key from your dashboard if your client doesn't do OAuth.
One-click, if you'd rather skip the config — note these add the MCP server only, not the bundled skill:
Claude Desktop & Web — Settings → Connectors → Add custom connector → name TranscriptAPI, URL https://transcriptapi.com/mcp → Connect. Full guide →
Claude Code (CLI)
claude mcp add --transport http transcript-api https://transcriptapi.com/mcp
ChatGPT — enable Developer Mode, then Settings → Connected Apps → Add → URL https://transcriptapi.com/mcp. Leave Client ID/Secret blank for Dynamic Client Registration. Full guide →
OpenAI Agent Builder — add an MCP Server tool, URL https://transcriptapi.com/mcp, auth API Key. Guide →
Amp
amp mcp add transcript-api https://transcriptapi.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
Cursor (~/.cursor/mcp.json) · LM Studio · BoltAI · JetBrains AI Assistant · Trae
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
VS Code (settings.json) · Roo Code · Kilo Code (.kilocode/mcp.json)
"mcp.servers": {
"transcript-api": {
"type": "http",
"url": "https://transcriptapi.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
Cline
{ "mcpServers": { "transcript-api": {
"url": "https://transcriptapi.com/mcp", "type": "streamableHttp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
Windsurf (~/.codeium/windsurf/mcp_config.json) · Google Antigravity
{ "mcpServers": { "transcript-api": {
"serverUrl": "https://transcriptapi.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
Zed (settings.json)
{ "context_servers": { "transcript-api": {
"source": "remote", "url": "https://transcriptapi.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
Gemini CLI (~/.gemini/settings.json) · Qwen Coder (~/.qwen/settings.json)
{ "mcpServers": { "transcript-api": {
"httpUrl": "https://transcriptapi.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
Augment Code (settings.json under augment.advanced)
"augment.advanced": { "mcpServers": [
{ "name": "transcript-api", "url": "https://transcriptapi.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" } } ] }
Warp (Settings → AI → MCP) · Perplexity Desktop (Settings → Connectors → Advanced)
{ "url": "https://transcriptapi.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" } }
🛠️ The 6 MCP tools
All six are exposed automatically once you connect. 1 credit = 1 successful (HTTP 200) request. Failed and 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.
| 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.
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
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.
| 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).
3. get_channel_latest_videos · FREE
The ~15 most recent uploads from any channel via RSS — no credits. 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.
4. search_channel_videos
Search inside one specific channel for videos matching a query.
| 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).
5. list_channel_videos
List every video on a channel, ~100 per page. Ideal for building databases or bulk transcript extraction.
| 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).
6. list_playlist_videos
Every video in a YouTube playlist (PL/UU/LL/FL/OL IDs supported). Process entire courses or lecture series 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).
🎯 The youtube skill
One skill covers everything. It teaches the agent when YouTube is the right source, which tool answers each kind of question, and how not to burn credits — the judgement the MCP tool definitions can't carry on their own.
It handles both data paths automatically:
- MCP available → drives the 6 hosted tools above. OAuth, no key.
- MCP not available → falls back to the REST API with a
TRANSCRIPT_API_KEY, so the skill still works in clients that load skills but not MCP servers.
Structured for progressive disclosure, so the agent pays for detail only when it needs it:
skills/youtube/
├── SKILL.md # routing, credit discipline, workflows (~130 lines)
└── references/
├── mcp-tools.md # full parameter reference for the 6 tools
├── rest-api.md # REST fallback — endpoints, curl, validation rules
├── auth-setup.md # getting and persisting an API key
└── errors.md # error codes, retry policy, false alarms
Only name + description (~100 tokens) load at startup. The body loads when the skill activates; the references load only when actually consulted.
Looking for the granular skills? v1.0.0 shipped 13 overlapping skills (
transcript,captions,subtitles,yt, …). They were alias variants of one another, and thirteen near-identical descriptions competing at startup made skill selection worse, not better. They're consolidated here. The standalone, API-key-based versions still live in ZeroPointRepo/youtube-skills.
💡 Use cases
| 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." |
🔐 Authentication
There are no credentials in this package. Agent Plugins 1.0.0 has no portable field for embedding secrets, and authorization is client-managed.
OAuth 2.1 · recommended
- Dynamic Client Registration (DCR) — Claude Desktop, Claude Web, ChatGPT and every Agent Plugins client. Just add the plugin; the client auto-registers and you authorize once via browser redirect. No key to copy.
- Static registration — optional on ChatGPT. Get Client ID + Secret from the MCP Integration Dashboard.
API key
Universal fallback, and what the REST skills use.
- Get your key from your dashboard — keys start with
sk_ - Send it as a Bearer token:
"Authorization": "Bearer sk_your_api_key_here"
For skills, export it once:
export TRANSCRIPT_API_KEY="sk_your_key_here"
Security: store keys in environment variables and never commit them to version control. When you install a skill, most agents will offer to run the free signup + OTP flow and save the key for you automatically.
Where agents save the key
| Runtime | File |
|---|---|
| OpenClaw/Moltbot | ~/.openclaw/openclaw.json or ~/.clawdbot/moltbot.json |
| Hermes Agent | Hermes secret store (TRANSCRIPT_API_KEY) |
| macOS shell | ~/.zshenv, ~/.zprofile |
| Linux shell | ~/.profile, ~/.bashrc, ~/.zshenv |
| Fish shell | ~/.config/fish/config.fish |
| Fallback | ~/.transcriptapi (mode 600) |
💳 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.
🚨 Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
401 Unauthorized |
Key missing, mistyped, or not loaded into the environment | Confirm the key starts with sk_ and is set in the shell your agent runs in. If using OAuth, re-authorize. |
402 Payment Required |
Out of credits | Check your balance at transcriptapi.com/billing |
403 (Cloudflare 1010) |
Request sent without a User-Agent header | Send your agent's name as the User-Agent, e.g. HermesAgent/0.11.0 |
404 Not Found |
Video has no captions, is private, age-restricted or region-locked | Verify the URL opens in a browser and the player shows captions |
408 Request Timeout |
Temporary upstream pressure | Transient — retry once after ~2s |
422 Validation Error |
Malformed channel or playlist reference | Channels accept @handle, a channel URL, or a UC ID; playlists accept PL, UU, LL, FL, OL |
429 Too Many Requests |
Rate limit reached | Wait and respect the Retry-After header |
Three more worth knowing:
- Key saved but the agent can't see it. Shell config files load per shell type — check the table above and make sure the file matches the shell your agent actually runs in. Restarting the agent after saving resolves most cases.
- Live streams and premieres. Transcripts appear after the stream ends and captions are processed, not while live.
- Unexpected transcript language. Many videos only carry captions in their original language. Request a preferred language, or ask your agent to translate the result.
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
📁 Repo layout
transcriptapi-plugin/
├── plugin.json # Agent Plugins 1.0.0 manifest (canonical $schema)
├── mcp.json # hosted MCP server — streamable-http, OAuth, no keys
├── skills/
│ └── youtube/ # one skill: SKILL.md + references/ (progressive disclosure)
├── assets/ # black-background brand marks (SVG + PNG 64→1024)
├── server.json # MCP Registry descriptor
├── smithery.yaml · glama.json # directory listings
├── marketplace.json # marketplace index (single-plugin)
├── .claude-plugin/ .cursor-plugin/ .codex-plugin/ .plugin/
│ # per-client discovery paths — same metadata, one per client
└── .github/workflows/ # CI: validates both manifests against the canonical schemas
The canonical package is plugin.json + skills/ + mcp.json. Everything else is discovery convenience for clients that look elsewhere first.
✅ Verify this package
No secrets, no executable code, no stdio servers — nothing here runs on your machine. Check it yourself.
1. Manifests against the canonical schemas:
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 -y ajv-cli@5 validate --spec=draft2020 -s plugin.schema.json -d plugin.json
npx -y ajv-cli@5 validate --spec=draft2020 -s mcp.schema.json -d mcp.json
2. Every skill against the Agent Skills specification. This is the check that actually matters: §7.1 requires skills to conform, and a conformant client silently skips any skill that doesn't. A plugin can have perfect manifests and still ship skills that never load.
pip install "git+https://github.com/agentskills/agentskills.git#subdirectory=skills-ref"
for d in skills/*/; do skills-ref validate "$d"; done
It prints Valid skill.
3. The normative requirements a schema can't express — path safety, discovery depth, reverse-domain extension namespaces, transport rules:
python .github/scripts/check_conformance.py
CI runs the skill validation and the conformance checker on every pull request. The ajv step above is the canonical schema check — check_conformance.py enforces the same rules plus the ones a schema can't express, so running it locally is equivalent. See SECURITY.md.
🔗 Also available as a REST API
Building an app instead of an agent? The same backend ships as a JSON REST API.
| Agent Plugin / MCP | REST API | |
|---|---|---|
| Best for | AI assistants & agents | Apps & backend services |
| Setup | One install | Code integration |
| Get started | This README | API docs → · Swagger → |
Base URL: https://transcriptapi.com/api/v2
📋 MCP Registry
Published to the official Model Context Protocol Registry as:
com.transcriptapi/youtube-transcript-and-youtube-search
🔀 Related repos
- Standalone MCP server: ZeroPointRepo/youtube-mcp
- Standalone agent skills (API-key based): ZeroPointRepo/youtube-skills
- Verified Agent Plugins directory: ZeroPointRepo/awesome-agent-plugins
🤝 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
Contributing
PRs welcome — see CONTRIBUTING.md.
Disclosure
TranscriptAPI is an independent product and is not affiliated with, endorsed by, or sponsored by YouTube or Google.
© 2026 TranscriptAPI · Released under the MIT License
Установка Transcriptapi Plugin
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ZeroPointRepo/transcriptapi-pluginFAQ
Transcriptapi Plugin MCP бесплатный?
Да, Transcriptapi Plugin MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Transcriptapi Plugin?
Нет, Transcriptapi Plugin работает без API-ключей и переменных окружения.
Transcriptapi Plugin — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Transcriptapi Plugin в Claude Desktop, Claude Code или Cursor?
Открой Transcriptapi Plugin на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
автор: duxiaohuiSupabase
Database, auth and storage
автор: SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Transcriptapi Plugin with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
