YouTube Transcripts logo

YouTube Transcripts

Community
kimtaeyoon83

This is an MCP server that allows you to directly download transcripts of YouTube videos.

Publisherkimtaeyoon83
Repositorymcp-server-youtube-transcript
LanguageTypeScript
Forks
88
Stars
537
Available tools
1
Transport typestdio, streamable-http
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    YouTube Transcripts exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 1 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    537 stars and 88 forks from the linked repository.

MseeP.ai Security Assessment Badge

YouTube Transcript Server

Trust Score

smithery badge

A Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video captions and subtitles through a simple interface.

Installing via Smithery

To install YouTube Transcript Server for Claude Desktop automatically via Smithery:

bash
npx -y @smithery/cli install @kimtaeyoon83/mcp-server-youtube-transcript --client claude

Components

Tools

  • get_transcript
    • Extract transcripts from YouTube videos
    • Inputs:
      • url (string, required): YouTube video URL, Shorts URL, or video ID
      • lang (string, optional, default: "en"): Language code for transcript (e.g., 'ko', 'en'). Automatically falls back to available languages if requested language is not found.
      • include_timestamps (boolean, optional, default: false): Include timestamps in output (e.g., '[0:05] text')
      • strip_ads (boolean, optional, default: true): Filter out sponsorships, ads, and promotional content from transcript based on chapter markers

Key Features

  • Support for multiple video URL formats (including YouTube Shorts)
  • Language-specific transcript retrieval with automatic fallback
  • Optional timestamps for referencing specific moments
  • Built-in ad/sponsorship filtering (enabled by default)
  • Zero external dependencies for transcript fetching
  • Detailed metadata in responses

Configuration

To use with Claude Desktop, add this server configuration:

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

Install via tool

mcp-get A command-line tool for installing and managing Model Context Protocol (MCP) servers.

shell
npx @michaellatman/mcp-get@latest install @kimtaeyoon83/mcp-server-youtube-transcript

Awesome-mcp-servers

awesome-mcp-servers A curated list of awesome Model Context Protocol (MCP) servers.

Development

Prerequisites

  • Node.js 18 or higher
  • npm or yarn

Setup

Install dependencies:

bash
npm install

Build the server:

bash
npm run build

For development with auto-rebuild:

bash
npm run watch

Testing

bash
npm test

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector for development:

bash
npm run inspector

Running evals

The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.

bash
OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/index.ts

Error Handling

The server implements robust error handling for common scenarios:

  • Invalid video URLs or IDs
  • Unavailable transcripts
  • Language availability issues
  • Network errors

Usage Examples

  1. Get transcript by video URL:
typescript
await server.callTool("get_transcript", {
  url: "https://www.youtube.com/watch?v=VIDEO_ID",
  lang: "en"
});
  1. Get transcript by video ID:
typescript
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  lang: "ko"
});
  1. Get transcript from YouTube Shorts:
typescript
await server.callTool("get_transcript", {
  url: "https://www.youtube.com/shorts/VIDEO_ID"
});
  1. Get transcript with timestamps:
typescript
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  include_timestamps: true
});
  1. Get raw transcript without ad filtering:
typescript
await server.callTool("get_transcript", {
  url: "VIDEO_ID",
  strip_ads: false
});
  1. How to Extract YouTube Subtitles in Claude Desktop App
chat: https://youtu.be/ODaHJzOyVCQ?si=aXkJgso96Deri0aB Extract subtitles

Security Considerations

The server:

  • Validates all input parameters
  • Handles YouTube API errors gracefully
  • Implements timeouts for transcript retrieval
  • Provides detailed error messages for troubleshooting

License

This MCP server is licensed under the MIT License. See the LICENSE file for details.

Installation

TypingMind
Prerequisites:

Node.js 18+

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

Available Tools

  • get_transcript

    Extract transcript from a YouTube video URL or ID

Use YouTube Transcripts MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once YouTube Transcripts is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. You can run MCP locally on your device or connect to a remote MCP server URL.

Option 1: Use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add YouTube Transcripts as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the YouTube Transcripts MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "youtube-transcripts": {
      "command": "npx",
      "args": [
        "-y",
        "@kimtaeyoon83/mcp-server-youtube-transcript"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the YouTube Transcripts MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the YouTube Transcripts MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use YouTube Transcripts to help me with this task?
YouTube Transcripts
Sure. I read it.
Here is what I found using YouTube Transcripts.

Option 2: Add an MCP server URL

Use this when YouTube Transcripts is already hosted remotely or your team wants one shared connector that multiple users can access.

1

Open MCP connectors

In TypingMind, go to Plugins, open MCP connectors, then choose Add URL.

  1. Open TypingMind in your browser.
  2. Go to Plugins.
  3. Open MCP connectors.
  4. Click Add URL.
TypingMind Add Custom MCP Server URL form
2

Paste the server URL

Enter your server URL in the Server URL field. Add a connection name, description, icon, custom HTTP headers, or OAuth client settings if the server requires them.

  1. Paste your server URL into the Server URL field.
  2. Enter a connection name for YouTube Transcripts.
  3. Add a description and icon if you want it to be easier to identify.
  4. Add custom HTTP headers or OAuth client details if the server requires authentication.
3

Create the connection

Click Create connection, then return to the Plugins list and confirm the new MCP connection is active.

  1. Click Create connection.
  2. Return to the MCP connectors list.
  3. Confirm the YouTube Transcripts connection appears as active.
  4. Refresh the plugin list if the connection does not appear immediately.
4

Switch models without reconnecting

Start a chat with your preferred model, enable the YouTube Transcripts tools from Plugins, and switch to another model whenever needed. The MCP connection stays available to the TypingMind workspace.

  1. Start a new chat in TypingMind.
  2. Select the AI model you want to use.
  3. Enable the YouTube Transcripts tools from Plugins.
  4. Ask the model to use the tool when needed.
  5. Switch to another AI model and reuse the same MCP connection.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use YouTube Transcripts to help me with this task?
YouTube Transcripts
Sure. I read it.
Here is what I found using YouTube Transcripts.

Frequently asked questions

What is the YouTube Transcripts MCP server used for?

YouTube Transcripts is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use YouTube Transcripts MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use YouTube Transcripts with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use YouTube Transcripts MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With YouTube Transcripts connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect YouTube Transcripts MCP to TypingMind?

YouTube Transcripts can be connected in TypingMind with the local MCP connector or by adding a remote MCP server URL. Use the local connector when the server needs access to files, apps, or private resources on your device, and use a server URL when the MCP server is hosted remotely.

What tools does YouTube Transcripts MCP provide in TypingMind?

YouTube Transcripts exposes 1 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use YouTube Transcripts MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If YouTube Transcripts requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇