Home / MCP / YouTube Transcript MCP Server
Retrieves YouTube video transcripts via MCP with language options, timestamps, and ad-filtering.
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.
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.
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 watchStart 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-transcriptThe 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"]
}
}
}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.
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
});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.