# Youtube Mcp

> The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.

- **Type:** MCP server
- **Install:** `agentstack add mcp-zeropointrepo-youtube-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ZeroPointRepo](https://agentstack.voostack.com/s/zeropointrepo)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 1.0.0
- **License:** MIT
- **Upstream author:** [ZeroPointRepo](https://github.com/ZeroPointRepo)
- **Source:** https://github.com/ZeroPointRepo/youtube-mcp
- **Website:** https://transcriptapi.com

## Install

```sh
agentstack add mcp-zeropointrepo-youtube-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

YouTube Transcript + YouTube Search MCP for AI Agents

  The fastest YouTube transcript + YouTube search MCP for AI agents. Try for free.
  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.

  
  

  
  
  
  

> **Powering 15M+ transcripts every month** · 500K+ transcripts processed daily · 49ms median response time
> Trusted in production by [youtubetotranscript.com](https://youtubetotranscript.com) (~11M/mo) and [recapio.com](https://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:**

```txt
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](https://transcriptapi.com) — first 100 credits free)
> - An API key from your [dashboard](https://transcriptapi.com/dashboard/api-keys) **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.
> ```

Install in Cursor (One-Click / Manual)

**One-Click Install:**

[](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`:

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

Install in Claude (Desktop & Web) — Recommended

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 →](https://transcriptapi.com/docs/mcp/claude)

Install in Claude Code (CLI)

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

Install in ChatGPT

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](https://transcriptapi.com/dashboard/mcp-integration) for static registration.
4. Click **Add** and authorize via the browser popup.

**Full Guide:** [ChatGPT Integration Guide →](https://transcriptapi.com/docs/mcp/chatgpt)

Install in VS Code

[](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)

Or add this to VS Code user settings (`settings.json`):

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

Install in OpenAI Agent Builder

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](https://transcriptapi.com/dashboard/api-keys)

[Step-by-Step Guide →](https://transcriptapi.com/docs/mcp/openai-agent-builder)

Install in Windsurf

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

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

Install in Cline

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

Install in Zed

In Zed `settings.json`:

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

Install in Roo Code

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

Install in Amp

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

Install in Augment Code

In `settings.json` under `augment.advanced`:

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

Install in Kilo Code

In `.kilocode/mcp.json`:

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

Install in JetBrains AI Assistant

In Settings → Tools → AI Assistant → MCP:

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

Install in Gemini CLI

In `~/.gemini/settings.json`:

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

Install in Qwen Coder

In `~/.qwen/settings.json`:

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

Install in Google Antigravity

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

Install in Trae

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

Install in LM Studio

In `mcp.json`:

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

Install in BoltAI

In Plugins → JSON Config:

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

Install in Warp

In Settings → AI → MCP:

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

Install in Perplexity Desktop

In Settings → Connectors → Advanced:

```json
{
  "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](https://transcriptapi.com/dashboard/api-keys)
2. Keys start with `sk_` prefix
3. Add to config as a Bearer token:

```json
"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](https://transcriptapi.com/dashboard/mcp-integration)
- More control over client identity

Full reference: [Authentication docs →](https://transcriptapi.com/docs/mcp/claude)

---

## 🧰 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):**

```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):**

```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` · **FREE**

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

…

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ZeroPointRepo](https://github.com/ZeroPointRepo)
- **Source:** [ZeroPointRepo/youtube-mcp](https://github.com/ZeroPointRepo/youtube-mcp)
- **License:** MIT
- **Homepage:** https://transcriptapi.com

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v1.0.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **1.0.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-zeropointrepo-youtube-mcp
- Seller: https://agentstack.voostack.com/s/zeropointrepo
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
