mcp server youtube transcript

Local 2025-08-31 23:20:48 0

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.


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.

mcp-server-youtube-transcript MCP server

Installing via Smithery

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

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 or video ID
    • lang (string, optional, default: "en"): Language code for transcript (e.g., 'ko', 'en')

Key Features

  • Support for multiple video URL formats
  • Language-specific transcript retrieval
  • Detailed metadata in responses

Configuration

To use with Claude Desktop, add this server configuration:

{
  "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.

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:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Testing

npm test

Debugging

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

npm run inspector

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:

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

  2. Get transcript by video ID:

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

  3. 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.

[
  {
    "description": "Extract transcript from a YouTube video URL or ID",
    "inputSchema": {
      "properties": {
        "lang": {
          "default": "en",
          "description": "Language code for transcript (e.g., 'ko', 'en')",
          "type": "string"
        },
        "url": {
          "description": "YouTube video URL or ID",
          "type": "string"
        }
      },
      "required": [
        "url",
        "lang"
      ],
      "type": "object"
    },
    "name": "get_transcript"
  }
]