@kimtaeyoon83/mcp-server-youtube-transcript: YouTube Transcript Server
YouTube Transcript Server is a Model Context Protocol (MCP) server that retrieves transcripts and subtitles from YouTube videos. It supports multiple languages, handles various video URL formats, and integrates seamlessly with tools like Claude Desktop.
Author
kimtaeyoon83
README
YouTube Transcript Server
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:
bashnpx -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 IDlang
(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:
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.
shellnpx @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:
bashnpm install
Build the server:
bashnpm run build
For development with auto-rebuild:
bashnpm run watch
Testing
bashnpm test
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector for development:
bashnpm 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
- Get transcript by video URL:
typescriptawait server.callTool("get_transcript", { url: "https://www.youtube.com/watch?v=VIDEO_ID", lang: "en" });
- Get transcript by video ID:
typescriptawait server.callTool("get_transcript", { url: "VIDEO_ID", lang: "ko" });
- 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.