Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

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,

GitHubEmbed

Описание

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

TranscriptAPI

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.

Agent Plugins 1.0.0 Spec conformance Docs 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).


🧩 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:

Add to Cursor Add to VS Code

Claude Desktop & Web — Settings → ConnectorsAdd custom connector → name TranscriptAPI, URL https://transcriptapi.com/mcpConnect. Full guide →

Claude Code (CLI)

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

ChatGPT — enable Developer Mode, then SettingsConnected AppsAdd → 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.

  1. Get your key from your dashboard — keys start with sk_
  2. 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_videos is free.

View pricing · Manage credits


🚨 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


🤝 Connect

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

from github.com/ZeroPointRepo/transcriptapi-plugin

Установка Transcriptapi Plugin

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/ZeroPointRepo/transcriptapi-plugin

FAQ

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

Compare Transcriptapi Plugin with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development