Home / MCP / YouTube Transcript MCP Server

YouTube Transcript MCP Server

Retrieves YouTube video transcripts via MCP with language options, timestamps, and ad-filtering.

typescript
Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
    "mcpServers": {
        "youtube_transcript": {
            "command": "npx",
            "args": [
                "-y",
                "@kimtaeyoon83/mcp-server-youtube-transcript"
            ]
        }
    }
}

You can retrieve YouTube video transcripts directly through a Model Context Protocol server that exposes transcripts as a simple tool. It supports multiple video URL formats, language-specific transcripts with fallbacks, optional timestamps, and automatic filtering of ads or sponsorship content for clean transcripts.

How to use

To fetch transcripts with your MCP client, target the YouTube Transcript server and call its get_transcript tool. You provide the video URL or video ID, and you can specify a preferred language. You can also request timestamps to reference exact moments in the video and choose to include or exclude timestamps and ads filtering. The server returns a structured transcript with the requested options, making it easy to integrate subtitles into your workflows.

Common usage patterns include: requesting an English transcript by URL, retrieving a Korean transcript by video ID, or getting a Shorts transcript. You can enable timestamps to anchor outputs to precise times, and you can disable ad filtering if you want a raw transcript.

How to install

Prerequisites: Node.js 18 or higher and npm or yarn. Ensure you have a compatible runtime environment before proceeding.

Install dependencies for development and run the build steps as needed during setup. Then start the MCP server using the provided runtime command.

# Install dependencies
npm install

# Build the server (for development/production builds)
npm run build

# Optional: watch for automatic rebuild during development
npm run watch

Start the YouTube Transcript MCP server with the following runtime command. This runs the server locally via an MCP stdio configuration.

npx -y @kimtaeyoon83/mcp-server-youtube-transcript

Configuration and notes

The server exposes an MCP stdio configuration for use with clients that launch locally. Include the command and arguments exactly as shown in the example to ensure proper startup.

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "npx",
      "args": ["-y", "@kimtaeyoon83/mcp-server-youtube-transcript"]
    }
  }
}

Security and reliability

The server validates input parameters, handles YouTube API errors gracefully, and applies timeouts during transcript retrieval. It also provides detailed error messages to help you troubleshoot issues such as invalid URLs, unavailable transcripts, or language mismatches.

Usage examples

Get transcript by video URL in English

await server.callTool("get_transcript", {
  url: "https://www.youtube.com/watch?v=VIDEO_ID",
  lang: "en"
});

Get transcript by video ID in Korean

await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  lang: "ko"
});

Get Shorts transcript with timestamps

await server.callTool("get_transcript", {
  url: "https://www.youtube.com/shorts/VIDEO_ID",
  include_timestamps: true
});

Available tools

get_transcript

Extract transcripts from YouTube videos with inputs for url, lang, include_timestamps, and strip_ads. Returns a language-specific transcript with optional timestamps and filtered content.