YouTube Translate MCP
Allows access to YouTube video content by fetching transcripts, translating them to different languages, generating subtitles in SRT or VTT format, creating summaries of video content, and searching for specific content within videos.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@YouTube Translate MCPtranslate the transcript of https://youtube.com/watch?v=abc123 to Spanish"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
YouTube Translate MCP
A Model Context Protocol (MCP) server for accessing the YouTube Translate API, allowing you to obtain transcripts, translations, and summaries of YouTube videos.
Features
Get transcripts of YouTube videos
Translate transcripts to different languages
Generate subtitles in SRT or VTT format
Create summaries of video content
Search for specific content within videos
Related MCP server: YouTube Transcript Server
Installation
Installing via Smithery
To install youtube-translate-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @brianshin22/youtube-translate-mcp --client claudeInstalling Manually
This package requires Python 3.12 or higher:
# Using uv (recommended)
uv pip install youtube-translate-mcp
# Using pip
pip install youtube-translate-mcpOr install from source:
# Clone the repository
git clone https://github.com/yourusername/youtube-translate-mcp.git
cd youtube-translate-mcp
# Using uv (recommended)
uv pip install -e .
# Using pip
pip install -e .Usage
To run the server:
# Using stdio transport (default)
YOUTUBE_TRANSLATE_API_KEY=your_api_key youtube-translate-mcp
# Using SSE transport
YOUTUBE_TRANSLATE_API_KEY=your_api_key youtube-translate-mcp --transport sse --port 8000Docker
You can also run the server using Docker:
# Build the Docker image
docker build -t youtube-translate-mcp .
# Run with stdio transport
docker run -e YOUTUBE_TRANSLATE_API_KEY=your_api_key youtube-translate-mcp
# Run with SSE transport
docker run -p 8000:8000 -e YOUTUBE_TRANSLATE_API_KEY=your_api_key youtube-translate-mcp --transport sseEnvironment Variables
YOUTUBE_TRANSLATE_API_KEY: Required. Your API key for accessing the YouTube Translate API.
Deployment with Smithery
This package includes a smithery.yaml file for easy deployment with Smithery.
To deploy, set the YOUTUBE_TRANSLATE_API_KEY configuration parameter to your YouTube Translate API key.
Development
Prerequisites
Python 3.12+
Docker (optional)
Setup
# Create and activate a virtual environment using uv (recommended)
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies using uv
uv pip install -e .
# Alternatively, with standard tools
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .Testing with Claude Desktop
To test with Claude Desktop (macOS/Windows only), you'll need to add your server to the Claude Desktop configuration file located at ~/Library/Application Support/Claude/claude_desktop_config.json.
Method 1: Local Development
Use this method if you want to test your local development version:
{
"mcpServers": {
"youtube-translate": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/youtube-translate-mcp",
"run",
"-m", "youtube_translate_mcp"
],
"env": {
"YOUTUBE_TRANSLATE_API_KEY": "YOUR_API_KEY"
}
}
}
}Make sure to replace /ABSOLUTE/PATH/TO/youtube-translate-mcp with the actual path to your project directory.
Method 2: Docker-based Testing
If you prefer to test using Docker (recommended for more reproducible testing):
{
"mcpServers": {
"youtube-translate": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"YOUTUBE_TRANSLATE_API_KEY",
"youtube-translate-mcp"
],
"env": {
"YOUTUBE_TRANSLATE_API_KEY": "YOUR_API_KEY"
}
}
}
}Replace YOUR_API_KEY with your actual YouTube Translate API key.
For more information on using MCP servers with Claude Desktop, see the MCP documentation.
Debugging
The normal MCP Inspector has a built in timeout for MCP tool calls, which is generally too short for these video processing calls (as of March 13, 2025). Better to use Claude Desktop and look at the MCP logs from Claude at ~/Library/Logs/Claude/mcp-server-{asfasf}.log.
Can do tail -f {log-file}.log to follow as you interact with Claude.
License
MIT
Available Tools
5 toolsget_subtitlesC
Generate subtitle files for a YouTube video
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| language | No | en | |
| format | No | srt |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates subtitle files, implying a read or processing operation, but doesn't disclose any behavioral traits like whether it requires internet access, has rate limits, returns errors for invalid URLs, or handles multiple languages/formats beyond the defaults. This leaves significant gaps for a tool with three parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent to quickly understand the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 parameters with 0% schema coverage, no annotations, and no output schema), the description is incomplete. It doesn't provide enough context about how the tool behaves, what the parameters mean, or what the output entails (e.g., file format details or error handling). For a tool that generates files, more information is needed to ensure correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning none of the three parameters (url, language, format) are documented in the schema. The description adds no semantic information about these parameters beyond what's implied by the tool name (e.g., 'url' for a YouTube video). It doesn't explain what the 'language' and 'format' parameters do, their valid values, or how they affect the output, failing to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generate subtitle files') and the resource ('for a YouTube video'), providing a specific verb+resource combination. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_transcript' or 'get_translation', which might also involve subtitle-related functionality, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_transcript' or 'get_translation'. It lacks any context about prerequisites, such as needing a valid YouTube URL, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_summaryC
Generate a summary of a YouTube video
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| language | No | en | |
| length | No | medium |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'Generate a summary' but doesn't explain what that entails—e.g., whether it's AI-generated, based on transcripts, or includes key points. It also lacks details on rate limits, authentication needs, or output format, leaving significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to grasp quickly, though this brevity contributes to gaps in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of summarizing a YouTube video, no annotations, no output schema, and 3 parameters with 0% schema description coverage, the description is incomplete. It doesn't address how the summary is generated, what the output looks like, or any behavioral traits, leaving the agent with insufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter semantics beyond what the input schema provides, as it doesn't mention any parameters. With 0% schema description coverage and 3 parameters (url, language, length), the schema alone documents them minimally via titles and defaults. The baseline is 3 because the schema handles parameter definition, but the description fails to compensate for the low coverage by explaining what 'length' or 'language' mean in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generate a summary') and resource ('of a YouTube video'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_subtitles' or 'get_transcript', which also process YouTube videos but for different outputs, leaving room for confusion about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_subtitles' or 'get_transcript', nor does it mention prerequisites or exclusions. It simply states what the tool does without context for selection among similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptC
Get the transcript of a YouTube video
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but doesn't cover critical aspects like authentication needs, rate limits, error handling, or what the transcript output format looks like. This is a significant gap for a tool that likely involves external API calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of fetching transcripts from YouTube (likely involving external APIs), no annotations, and no output schema, the description is incomplete. It doesn't address behavioral traits, output format, or usage context, making it inadequate for an AI agent to use this tool effectively without additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description implies a 'url' parameter is needed but doesn't add meaning beyond what the input schema provides. With 0% schema description coverage, the description partially compensates by hinting at the parameter's purpose, but it doesn't specify URL format requirements or constraints, leaving the schema to handle all details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'transcript of a YouTube video', making the purpose specific and understandable. However, it doesn't distinguish this tool from sibling tools like 'get_subtitles' or 'get_summary', which might offer similar functionality, so it lacks explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios for preferring this over 'get_subtitles' or 'get_summary', nor does it specify prerequisites or exclusions, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_translationC
Get a translated transcript of a YouTube video
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| language | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic action without detailing traits like rate limits, authentication needs, or what happens if translation fails. It doesn't mention output format, error handling, or any constraints beyond the implied translation process, which is insufficient for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to parse quickly, which aligns well with best practices for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (involving translation and video processing), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't address key contextual aspects like output format, error cases, or limitations (e.g., supported languages), leaving significant gaps for an AI agent to understand full usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so parameters 'url' and 'language' are undocumented in the schema. The description adds minimal semantics by implying 'url' refers to a YouTube video and 'language' specifies the translation target, but it doesn't clarify format (e.g., language codes like 'en' or full names), validation rules, or examples, failing to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Get') and resource ('translated transcript of a YouTube video'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_transcript' or 'get_subtitles', which likely provide similar but non-translated content, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_transcript' or 'get_subtitles'. It lacks context about prerequisites, such as whether the video must have existing subtitles or support translation, and offers no explicit when-not-to-use advice, leaving usage decisions ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_videoC
Search for specific content within a YouTube video's transcript
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool searches transcripts but doesn't reveal any behavioral traits such as performance characteristics, error handling, or what the output looks like (e.g., timestamps, snippets). This leaves significant gaps in understanding how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without any fluff. It's front-loaded with the core purpose, making it easy to parse quickly, which is ideal for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a search operation with 2 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the search returns (e.g., matches, context), how results are formatted, or any limitations, leaving the agent with insufficient information to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It implies the parameters are a 'url' and 'query' for searching, but doesn't add specific meaning beyond what the schema titles suggest (e.g., format of the URL, what the query targets). This provides minimal value over the bare schema, meeting the baseline for low coverage without fully compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Search for specific content') and the target resource ('within a YouTube video's transcript'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'get_transcript' or 'get_subtitles', which might also involve transcript content, so it doesn't reach a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_transcript' or 'get_summary'. It mentions 'search' but doesn't specify scenarios where searching is preferred over retrieving full transcripts or summaries, leaving the agent with minimal context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
- First observed
get_subtitles - First observed
get_summary - First observed
get_transcript - First observed
get_translation - First observed
search_video
TDQS
Each tool has a clearly distinct purpose: get_subtitles generates subtitle files, get_summary creates a summary, get_transcript retrieves the transcript, get_translation provides a translated transcript, and search_video searches within a transcript. There is no overlap or ambiguity between these functions.
All tool names follow a consistent verb_noun pattern using snake_case (e.g., get_subtitles, get_summary). The naming is uniform and predictable across all five tools.
With 5 tools, the server is well-scoped for YouTube translation and content analysis. Each tool serves a unique and necessary function, making the count appropriate without being too thin or heavy.
The tool set covers core operations for YouTube video analysis: retrieving transcripts, generating summaries and subtitles, translating, and searching. A minor gap might be the lack of tools for managing or editing transcripts, but the existing tools support key workflows effectively.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- AlicenseAqualityDmaintenanceA 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.1797590MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables retrieval of transcripts from YouTube videos with language-specific support.17971MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI assistants to extract transcripts from YouTube videos, allowing AI to analyze and work with video content directly.1273MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video transcripts and subtitles through a simple interface, making it ideal for content analysis and processing.146236MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/brianshin22/youtube-translate-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server