Server facts
YouTube Transcript Server MCP Server
Project
- Author
- kimtaeyoon83
- License
- MIT
- Category
- Search & Web Data
Tech
- Runtime / language
- node
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 603
- Last commit
- Data as of
Tags
- Subtitles
- Timestamps
- Transcripts
- Youtube
Overview
YouTube Transcript Server exposes caption retrieval to MCP clients through the get_transcript tool. It accepts a normal YouTube video URL, a Shorts link, or a video identifier, so users do not have to normalize every request into one link format. A language option requests a particular transcript, with English used by default. If that language is unavailable, the server attempts an available alternative. This makes it useful for assistants working with caption text across videos in different languages, while keeping the integration focused on retrieval rather than claiming to generate new captions from audio. Responses also include metadata about the retrieved material.
Two output controls help tailor the transcript to the task. Timestamps can be included when a reader needs to reference particular moments, but they are omitted by default. Promotional filtering is enabled by default and uses chapter markers to remove sponsorship or advertising sections; callers can disable it for a less filtered result. The README documents errors for unavailable captions, invalid identifiers, language problems, and network failures, along with input validation and retrieval timeouts. Standard client setup starts the npm package through npx over stdio, and Smithery is another installation option. Development prerequisites list Node.js 18 or newer and npm or yarn. The project uses the MIT license.
Install & configure
Requirements
- Node.js 18 or later
- npm or yarn
- An MCP-compatible client
npx -y @kimtaeyoon83/mcp-server-youtube-transcriptThe server communicates over stdio. No runtime API key is specified for transcript retrieval.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"mcp-server-youtube-transcript": {
"command": "npx",
"args": [
"-y",
"@kimtaeyoon83/mcp-server-youtube-transcript"
],
"env": {}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"mcp-server-youtube-transcript": {
"command": "npx",
"args": [
"-y",
"@kimtaeyoon83/mcp-server-youtube-transcript"
],
"env": {}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"mcp-server-youtube-transcript": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@kimtaeyoon83/mcp-server-youtube-transcript"
],
"env": {}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"mcp-server-youtube-transcript": {
"command": "npx",
"args": [
"-y",
"@kimtaeyoon83/mcp-server-youtube-transcript"
],
"env": {}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"mcp-server-youtube-transcript": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@kimtaeyoon83/mcp-server-youtube-transcript"
],
"env": {}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| get_transcript | Retrieve video captions with language, timestamp, and chapter-based promotional-filter options. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Retrieve caption text for a YouTube video or Short
- Collect timestamped passages for moment-specific references
- Request subtitles in a preferred language with fallback
- Retrieve unfiltered text by disabling promotional filtering
Strengths
- Accepts video IDs and multiple YouTube link formats
- Includes language fallback and optional timestamps
- Does not require external transcript-fetching dependencies
Limitations
- Unavailable transcripts still produce errors
- Promotional filtering depends on chapter markers
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.