YouTube MCP Server
Servidor MCP de YouTube
Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con datos de YouTube. Este servidor proporciona recursos y herramientas para consultar vídeos, canales, comentarios y transcripciones de YouTube mediante una interfaz stdio.
Características
Busque vídeos de YouTube con opciones de filtrado avanzadas
Obtenga información detallada sobre vídeos y canales específicos
Comparar estadísticas en varios vídeos
Descubre los vídeos de tendencia por región y categoría
Analizar el rendimiento del canal y las estadísticas de vídeo.
Recuperar comentarios y transcripciones/subtítulos de videos
Generar análisis de video y resúmenes de transcripciones
Related MCP server: YouTube MCP Server
Prerrequisitos
Node.js (v16+)
Clave API de datos de YouTube
Instalación
Instalación mediante herrería
Para instalar YouTube MCP Server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @coyaSONG/youtube-mcp-server --client claudeInstalación manual
Clonar este repositorio:
git clone https://github.com/coyaSONG/youtube-mcp-server.git cd youtube-mcp-serverInstalar dependencias:
npm installCree un archivo
.enven el directorio raíz:YOUTUBE_API_KEY=your_youtube_api_key_here PORT=3000
Uso
Construyendo y funcionando
Construir el proyecto:
npm run buildEjecutar el servidor:
npm startEjecutar en modo de desarrollo:
npm run devArtefactos de compilación limpia:
npm run clean
Implementación de Docker
El proyecto incluye un Dockerfile para implementación en contenedores:
# Build the Docker image
docker build -t youtube-mcp-server .
# Run the container
docker run -p 3000:3000 --env-file .env youtube-mcp-serverReferencia de API
Recursos
youtube://video/{videoId}- Obtenga información detallada sobre un video específicoyoutube://channel/{channelId}- Obtener información sobre un canal específicoyoutube://transcript/{videoId}- Obtener la transcripción de un video específicoParámetro de consulta opcional:
?language=LANGUAGE_CODE(p. ej.,en,ko,ja)
Herramientas
Herramientas básicas
search-videos- Busca vídeos de YouTube con opciones de filtrado avanzadasget-video-comments- Obtener comentarios para un video específicoget-video-transcript: obtener la transcripción de un video específico con idioma opcionalenhanced-transcript: extracción avanzada de transcripciones con filtrado, búsqueda y capacidades de múltiples videosget-key-moments: extrae momentos clave con marcas de tiempo de una transcripción de video para facilitar la navegación.get-segmented-transcript: divide la transcripción de un video en segmentos para facilitar su análisis.
Herramientas estadísticas
get-video-stats: obtener información estadística de un video específicoget-channel-stats: obtén el número de suscriptores, el número de visualizaciones y otras estadísticas del canalcompare-videos: compara estadísticas entre varios videos
Herramientas de descubrimiento
get-trending-videos: recupera videos de tendencia por región y categoríaget-video-categories: obtenga las categorías de video disponibles para una región específica
Herramientas de análisis
analyze-channel-videos: analiza las tendencias de rendimiento de los videos de un canal específico
Indicaciones
video-analysis- Generar un análisis de un vídeo de YouTubetranscript-summary: genera un resumen de un video basado en su transcripción con duración personalizable y extracción de palabras clave.segment-by-segment-analysis: proporciona un desglose detallado del contenido analizando cada segmento del video.
Ejemplos
Cómo acceder a una transcripción de vídeo
youtube://transcript/dQw4w9WgXcQCómo obtener una transcripción en un idioma específico
youtube://transcript/dQw4w9WgXcQ?language=enUso de las herramientas estadísticas
// Get video statistics
{
"type": "tool",
"name": "get-video-stats",
"parameters": {
"videoId": "dQw4w9WgXcQ"
}
}
// Compare multiple videos
{
"type": "tool",
"name": "compare-videos",
"parameters": {
"videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"]
}
}Cómo usar la solicitud de resumen de transcripción
{
"type": "prompt",
"name": "transcript-summary",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"language": "en"
}
}Uso de la herramienta de transcripción mejorada
// Basic multi-video transcript extraction
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ", "9bZkp7q19f0"],
"format": "timestamped"
}
}
// With search and time filtering
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ"],
"filters": {
"timeRange": {
"start": 60, // Start at 60 seconds
"end": 180 // End at 180 seconds
},
"search": {
"query": "never gonna",
"contextLines": 2
}
},
"format": "merged"
}
}
// With smart segmentation for easier analysis
{
"type": "tool",
"name": "enhanced-transcript",
"parameters": {
"videoIds": ["dQw4w9WgXcQ"],
"filters": {
"segment": {
"count": 5,
"method": "smart" // Breaks at natural pauses
}
},
"format": "timestamped",
"language": "en"
}
}Uso de las funciones de análisis de transcripciones mejoradas
// Get key moments from a video
{
"type": "tool",
"name": "get-key-moments",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"maxMoments": "5"
}
}
// Get a segmented transcript
{
"type": "tool",
"name": "get-segmented-transcript",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"segmentCount": "4"
}
}
// Get a segment-by-segment analysis
{
"type": "prompt",
"name": "segment-by-segment-analysis",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"segmentCount": "4"
}
}
// Get customized transcript summary
{
"type": "prompt",
"name": "transcript-summary",
"parameters": {
"videoId": "dQw4w9WgXcQ",
"language": "en",
"summaryLength": "detailed",
"includeKeywords": "true"
}
}Manejo de errores
El servidor maneja varias condiciones de error, entre ellas:
Clave API no válida
Vídeo o canal no encontrado
Transcripción no disponible
Problemas de red
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Expresiones de gratitud
Available Tools
12 toolsanalyze-channel-videosC
Analyze recent videos from a specific channel to identify performance trends
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes | ||
| maxResults | No | ||
| sortBy | No |
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 mentions analyzing 'recent videos' and 'performance trends,' but fails to specify what 'recent' means (e.g., time frame), what 'analyze' entails (e.g., statistical methods, output format), or any limitations like rate limits or authentication needs. For a tool with no annotations, this is a significant gap in transparency.
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, well-structured sentence that efficiently conveys the core action and goal without unnecessary words. It's front-loaded with the main purpose ('analyze recent videos'), making it easy to parse quickly, and every part of the sentence contributes directly to understanding the tool's 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 of analyzing videos for trends, no annotations, no output schema, and low schema description coverage, the description is incomplete. It doesn't explain what 'performance trends' include (e.g., views, engagement), how results are returned, or any behavioral constraints. For a tool that likely involves data processing and output, more context is needed to guide effective use.
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?
Schema description coverage is 0%, so the description must compensate for undocumented parameters. It implies the use of 'channelId' and hints at 'recent videos' (which could relate to 'maxResults' or 'sortBy'), but doesn't explain what 'maxResults' controls (e.g., number of videos analyzed) or how 'sortBy' affects the analysis. With 3 parameters and no schema descriptions, the description adds minimal semantic value beyond basic inference.
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 ('analyze') and resource ('recent videos from a specific channel'), and it specifies the outcome ('identify performance trends'). However, it doesn't explicitly differentiate this from sibling tools like 'get-channel-stats' or 'get-video-stats', which might also provide performance insights, so it falls short of a perfect 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. It doesn't mention prerequisites, such as needing a valid channel ID, or compare it to siblings like 'get-channel-stats' for broader channel analysis or 'search-videos' for different video retrieval methods. This lack of context leaves the agent to infer usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare-videosC
Compare statistics for multiple YouTube videos
| Name | Required | Description | Default |
|---|---|---|---|
| videoIds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'compare statistics' but doesn't specify what statistics are compared (views, likes, engagement metrics), how results are presented, whether there are rate limits, or if authentication is required. This leaves significant gaps in understanding the tool's behavior.
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 extremely concise at just 5 words, front-loading the core purpose without any wasted language. Every word earns its place by specifying the action, resource type, and scope.
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?
For a tool with 1 parameter but 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what statistics are compared, how results are formatted, whether there are constraints beyond the 2-10 video limit, or how this differs from other statistical tools on the server.
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 mentions 'multiple YouTube videos' which aligns with the 'videoIds' array parameter, adding context about the resource being compared. However, with 0% schema description coverage, it doesn't explain the 2-10 video limit, the format of video IDs, or what constitutes valid input beyond what's implied by 'YouTube videos.'
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 ('compare statistics') and resource ('YouTube videos'), making the tool's purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get-video-stats' or 'analyze-channel-videos' that might also involve video statistics, leaving some ambiguity about when to choose this specific comparison 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. With siblings like 'get-video-stats' (likely for single videos) and 'analyze-channel-videos' (likely for channel-level analysis), there's no indication of when comparative analysis across multiple videos is preferred over other statistical tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enhanced-transcriptA
Advanced transcript extraction tool with filtering, search, and multi-video capabilities. Provides rich transcript data for detailed analysis and processing. This tool offers multiple advanced features: 1) Extract transcripts from multiple videos in one request; 2) Filter by time ranges to focus on specific parts; 3) Search for specific content within transcripts; 4) Segment transcripts for structural analysis; 5) Format output in different ways (raw, timestamped, merged text); 6) Include video metadata. Parameters: videoIds (required) - Array of YouTube video IDs (up to 5); language (optional) - Language code; format (optional) - Output format ("raw", "timestamped", "merged"); includeMetadata (optional) - Whether to include video details; filters (optional) - Complex filtering options including timeRange, search, and segment.
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | ||
| format | No | ||
| includeMetadata | No | ||
| language | No | ||
| videoIds | 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 mentions multi-video capabilities (up to 5 videos), filtering options, and output formats, which adds useful context. However, it lacks details on rate limits, authentication needs, error handling, or what happens with invalid inputs, leaving gaps for a tool with complex parameters.
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 well-structured with a clear opening statement followed by a numbered list of features and detailed parameter explanations. It's appropriately sized for a complex tool, though the parameter section is lengthy; every sentence adds value, and it's front-loaded with key capabilities.
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 (5 parameters with nested objects, no output schema, and no annotations), the description is moderately complete. It covers parameters well but lacks output details, error handling, or performance constraints. For a tool with such rich input options, more behavioral context would improve completeness.
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 fully compensate. It explicitly lists all 5 parameters with clear explanations: 'videoIds (required) - Array of YouTube video IDs (up to 5)', 'language (optional) - Language code', etc., and details nested filter options like timeRange, search, and segment. This adds substantial meaning beyond the bare schema.
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 as 'Advanced transcript extraction tool with filtering, search, and multi-video capabilities' and lists six specific features, making it highly specific. It distinguishes itself from sibling tools like 'get-video-transcript' by emphasizing advanced capabilities like multi-video processing, filtering, and search.
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. While it mentions advanced features, it doesn't specify scenarios where this tool is preferred over simpler siblings like 'get-video-transcript' or 'get-segmented-transcript', nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-channel-statsC
Get statistical information for a specific YouTube channel (subscriber count, total views, video count, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | Yes |
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. It states what the tool does but lacks behavioral details such as rate limits, authentication requirements, error handling, or the format of returned data. This is a significant gap 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 front-loads the purpose with specific examples. There is no wasted text, and it directly communicates the core functionality without unnecessary details.
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 data retrieval tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like response format, errors, or usage constraints, leaving gaps that could hinder an AI agent's ability to use it 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?
Schema description coverage is 0%, so the description must compensate. It implies the parameter is for a 'specific YouTube channel' but doesn't explain the 'channelId' format or constraints. The description adds minimal value beyond the schema, resulting in a baseline score due to the single parameter.
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 'statistical information for a specific YouTube channel', with examples like subscriber count, total views, and video count. It distinguishes from siblings like 'get-video-stats' by focusing on channels rather than videos, though it doesn't explicitly name alternatives.
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?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a valid channel ID, or compare it to other channel-related tools like 'analyze-channel-videos'. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-key-momentsA
Extract key moments with timestamps from a video transcript for easier navigation and summarization. This tool analyzes the video transcript to identify important segments based on content density and creates a structured output with timestamped key moments. Useful for quickly navigating to important parts of longer videos. Parameters: videoId (required) - The YouTube video ID; maxMoments (optional) - Number of key moments to extract (default: 5, max: 10). Returns a formatted text with key moments and their timestamps, plus the full transcript.
| Name | Required | Description | Default |
|---|---|---|---|
| maxMoments | No | ||
| videoId | 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 describes the tool's function (extracting key moments based on content density) and output format (structured text with timestamps and full transcript), which is helpful. However, it lacks details about potential limitations (e.g., accuracy of moment identification, processing time, or error conditions like invalid video IDs), which would be valuable for an agent to understand behavioral traits beyond basic functionality.
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 appropriately sized and front-loaded, starting with the core purpose in the first sentence. Each sentence adds value: the first defines the tool, the second explains the analysis method, and the third provides usage context and parameter details. However, the last sentence about return values could be slightly more concise, and the structure might benefit from separating parameter explanations into a distinct section.
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 moderate complexity (2 parameters, no annotations, no output schema), the description is fairly complete. It covers purpose, usage, parameters, and output format. However, without annotations or an output schema, it could improve by detailing error handling, performance characteristics, or more specifics on the 'structured output' format (e.g., JSON structure or text layout), which would help an agent invoke it correctly in edge cases.
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 effectively explains both parameters: 'videoId' as the required YouTube video ID and 'maxMoments' as the optional number to extract with default (5) and maximum (10) values. This adds crucial meaning beyond the bare schema, though it doesn't specify format details for 'videoId' (e.g., length or pattern) or clarify that 'maxMoments' is a string type in the schema.
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 specific verbs ('extract', 'analyzes', 'identify', 'creates') and resources ('key moments with timestamps from a video transcript'). It distinguishes itself from sibling tools like 'get-video-transcript' (which likely retrieves raw transcript) and 'enhanced-transcript' (which might process transcript differently) by focusing on extracting structured key moments for navigation and summarization.
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 clear context for when to use this tool ('for easier navigation and summarization', 'useful for quickly navigating to important parts of longer videos'). However, it doesn't explicitly state when NOT to use it or mention specific alternatives among the sibling tools, such as when a user might prefer 'get-video-transcript' for raw data or 'enhanced-transcript' for different processing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-segmented-transcriptA
Divide a video transcript into segments for easier analysis and navigation. This tool splits the video into equal time segments and extracts the transcript for each segment with proper timestamps. Ideal for analyzing the structure of longer videos or when you need to focus on specific parts of the content. Parameters: videoId (required) - The YouTube video ID; segmentCount (optional) - Number of segments to divide the video into (default: 4, max: 10). Returns a markdown-formatted text with each segment clearly labeled with time ranges and containing the relevant transcript text.
| Name | Required | Description | Default |
|---|---|---|---|
| segmentCount | No | ||
| videoId | 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 effectively describes key behaviors: it splits transcripts into equal time segments, extracts text with timestamps, returns markdown-formatted output, and specifies defaults (segmentCount default: 4) and limits (max: 10). However, it does not cover potential errors (e.g., invalid videoId) or performance aspects like rate limits, leaving some gaps.
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 appropriately sized and front-loaded, with the core purpose in the first sentence, usage context in the second, and parameter details in the third. Every sentence adds value without redundancy, making it efficient and easy to parse for an AI agent.
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 (a processing tool with 2 parameters), no annotations, and no output schema, the description does well by covering purpose, usage, parameters, and output format. However, it lacks details on error handling or edge cases (e.g., what happens with very short videos), which would make it more complete for safe invocation.
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 fully compensate. It does so by clearly explaining both parameters: 'videoId (required) - The YouTube video ID' and 'segmentCount (optional) - Number of segments to divide the video into (default: 4, max: 10)'. This adds essential meaning beyond the bare schema, including requirements, defaults, and constraints.
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 specific verbs ('divide', 'split', 'extract') and resource ('video transcript'), distinguishing it from siblings like 'get-video-transcript' (which likely returns the full transcript) and 'get-key-moments' (which likely identifies highlights rather than equal segments). It explicitly mentions what the tool does beyond just retrieving a transcript.
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 clear context for when to use this tool ('for easier analysis and navigation', 'ideal for analyzing the structure of longer videos or when you need to focus on specific parts'), but it does not explicitly mention when not to use it or name alternatives (e.g., 'get-video-transcript' for the full transcript). This gives good guidance but lacks explicit exclusions or sibling comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-trending-videosB
Retrieve trending videos by region and category. This helps analyze current popular content trends.
| Name | Required | Description | Default |
|---|---|---|---|
| categoryId | No | ||
| maxResults | No | ||
| regionCode | No |
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 the tool 'helps analyze current popular content trends,' which implies a read-only operation for trend analysis, but lacks details on rate limits, authentication needs, pagination, or what 'trending' entails (e.g., algorithm, time frame). This is a significant gap 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 appropriately sized and front-loaded, with two concise sentences that directly state the tool's function and its analytical purpose. There is no wasted text, and every sentence adds value, making it efficient and easy to parse.
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, no output schema, no annotations), the description is incomplete. It lacks details on behavioral traits, parameter usage, and return values, which are crucial for a tool with no structured data support. This makes it inadequate for full understanding by an AI agent.
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 for undocumented parameters. It mentions 'by region and category,' which hints at 'regionCode' and 'categoryId,' but doesn't explain the third parameter 'maxResults' or provide any details on format, constraints, or usage. This leaves key parameters inadequately explained.
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 ('Retrieve') and resource ('trending videos'), and specifies the filtering criteria ('by region and category'). It distinguishes from siblings like 'search-videos' by focusing on trending content rather than general search, though it doesn't explicitly contrast them.
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 implies usage for 'analyze current popular content trends,' suggesting it's for trend analysis rather than other purposes. However, it doesn't explicitly state when to use this tool versus alternatives like 'search-videos' or 'get-video-stats,' nor does it provide exclusions or prerequisites, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-video-categoriesC
Retrieve available video categories for a specific region
| Name | Required | Description | Default |
|---|---|---|---|
| regionCode | No |
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 retrieves categories, implying a read-only operation, but lacks details on permissions, rate limits, error handling, or return format. This is a significant gap for a tool with zero annotation coverage, leaving the agent uncertain about operational traits.
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 front-loads the core purpose without unnecessary words. Every part ('Retrieve available video categories for a specific region') contributes directly to understanding the tool's function, making it highly concise and well-structured.
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 simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It lacks details on behavioral aspects, parameter usage, and output expectations, which are crucial for the agent to invoke it correctly. While concise, it doesn't provide enough context to fully understand the tool's operation.
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 mentions 'for a specific region', which hints at the 'regionCode' parameter, but with 0% schema description coverage and no details on parameter meaning, format, or constraints (e.g., region codes like 'US'), it adds minimal value beyond the schema. For a single parameter tool, this is insufficient to compensate for the coverage 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 action ('Retrieve') and resource ('available video categories'), with specificity about the scope ('for a specific region'). It distinguishes from siblings like 'get-channel-stats' or 'get-video-stats' by focusing on categories rather than statistics. However, it doesn't explicitly differentiate from all siblings, such as 'search-videos' which might also involve categories.
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 minimal guidance by implying usage when video categories for a region are needed, but it offers no explicit when-to-use rules, alternatives, or exclusions. For example, it doesn't clarify if this should be used instead of other tools like 'search-videos' for category-related queries or if there are prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-video-commentsC
Retrieve comments for a specific YouTube video
| Name | Required | Description | Default |
|---|---|---|---|
| maxResults | No | ||
| videoId | 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 mentions retrieving comments but lacks critical details like whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior, or what the output format looks like. This is inadequate for a tool with zero 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 gets straight to the point with no wasted words. It's appropriately sized for a simple retrieval tool and front-loaded with the core purpose.
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 YouTube API tool with no annotations, no output schema, and 2 parameters (one optional), the description is insufficient. It doesn't cover authentication needs, rate limits, error handling, or return format, leaving significant gaps for an AI agent to use it correctly.
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 'videoId' parameter is needed to specify the video, but doesn't explain what format it expects (e.g., YouTube URL or ID) or mention 'maxResults' at all. With 0% schema description coverage, the description adds minimal value beyond the schema's structural information, meeting the baseline for partial compensation.
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 ('Retrieve') and resource ('comments for a specific YouTube video'), making the purpose immediately understandable. However, it doesn't differentiate from potential sibling tools like 'get-video-stats' or 'get-video-transcript' that might also retrieve video-related data, 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 'search-videos' or 'get-video-stats', nor does it mention prerequisites such as needing a valid video ID. It only states what the tool does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-video-statsC
Get statistical information for a specific YouTube video (views, likes, comments, upload date, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| videoId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states what the tool does but lacks behavioral details: no mention of permissions needed, rate limits, whether it's a read-only operation (implied by 'Get'), error conditions, or response format. This is inadequate for a tool with zero 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?
Single sentence, front-loaded with the core purpose, and includes helpful examples (views, likes, etc.) without unnecessary details. Every word earns its place efficiently.
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 no annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't cover behavioral aspects (e.g., auth, errors), parameter details, or return values, leaving significant gaps for a tool that fetches video statistics.
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?
Schema description coverage is 0%, so the description must compensate. It implies the parameter is for a 'specific YouTube video' but doesn't explain the videoId format (e.g., YouTube ID syntax) or provide examples. The description adds minimal meaning beyond the schema's basic type constraint.
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 'statistical information for a specific YouTube video', with examples of what that includes (views, likes, comments, upload date). It distinguishes from siblings like get-channel-stats (channel-level) and get-video-comments (comments only), but doesn't explicitly contrast them.
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?
No guidance on when to use this tool versus alternatives like get-channel-stats (for channel-level stats) or get-video-comments (for comments only). The description implies usage for video-level statistics but doesn't provide explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-video-transcriptA
Get the transcript/captions for a YouTube video with optional language selection. This tool retrieves the full transcript of a video with timestamped captions. Each caption includes the text and its timestamp in the video. Parameters: videoId (required) - The YouTube video ID; language (optional) - Language code for the transcript (e.g., "en", "ko", "ja"). If not specified, the default language for the video will be used. Returns a text with each caption line preceded by its timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | ||
| videoId | 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. It discloses that the tool retrieves full transcripts with timestamped captions and describes the return format, but it lacks details on error handling, rate limits, authentication needs, or whether it's a read-only operation (though implied by 'get').
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 front-loaded with the core purpose, followed by details on parameters and returns in three efficient sentences with zero waste, making it easy to parse quickly.
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 2 parameters, no annotations, and no output schema, the description is mostly complete: it covers purpose, parameters, and return format. However, it lacks error cases or behavioral constraints (e.g., video availability), leaving minor gaps for a tool with no structured support.
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 fully compensates by explaining both parameters: videoId (required, YouTube video ID) and language (optional, with examples like 'en', 'ko', 'ja', and default behavior). This adds essential meaning beyond the bare schema.
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 specific action ('Get the transcript/captions for a YouTube video') and resource ('YouTube video'), distinguishing it from siblings like 'get-key-moments' or 'get-segmented-transcript' by focusing on full timestamped transcripts rather than analysis or segmentation.
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 clear context for when to use this tool (to retrieve full transcripts with timestamps) and mentions optional language selection, but it does not explicitly state when not to use it or name alternatives like 'enhanced-transcript' or 'get-segmented-transcript' from the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search-videosB
Search for YouTube videos with advanced filtering options. Supports parameters: - query: Search term (required) - maxResults: Number of results to return (1-50) - channelId: Filter by specific channel - order: Sort by date, rating, viewCount, relevance, title - type: Filter by resource type (video, channel, playlist) - videoDuration: Filter by length (short: <4min, medium: 4-20min, long: >20min) - publishedAfter/publishedBefore: Filter by publish date (ISO format) - videoCaption: Filter by caption availability - videoDefinition: Filter by quality (standard/high) - regionCode: Filter by country (ISO country code)
| Name | Required | Description | Default |
|---|---|---|---|
| channelId | No | ||
| maxResults | No | ||
| order | No | ||
| publishedAfter | No | ||
| publishedBefore | No | ||
| query | Yes | ||
| regionCode | No | ||
| type | No | ||
| videoCaption | No | ||
| videoDefinition | No | ||
| videoDuration | No |
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 'advanced filtering options' and lists parameters, but fails to describe key behaviors: it doesn't specify if this is a read-only operation, mention rate limits, authentication needs, pagination, or the format of returned results. For a search tool with 11 parameters and no output schema, this is a significant gap in transparency.
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 appropriately sized and front-loaded, starting with the core purpose. It efficiently lists parameters in a bullet-like format without unnecessary elaboration. However, it could be slightly more structured (e.g., grouping related parameters) and includes some redundancy (e.g., repeating 'Filter by' for multiple parameters), preventing a perfect score.
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 (11 parameters, no annotations, no output schema), the description is partially complete. It excels in parameter semantics but lacks behavioral context (e.g., result format, error handling) and usage guidelines. Without an output schema, the description should ideally hint at return values, but it doesn't, leaving gaps in overall completeness.
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 substantial meaning beyond the input schema, which has 0% schema description coverage. It explains each parameter's purpose (e.g., 'query: Search term (required)', 'videoDuration: Filter by length (short: <4min, medium: 4-20min, long: >20min)'), including details like required status, value ranges, and formats (ISO format for dates). This fully compensates for the schema's lack of descriptions.
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: 'Search for YouTube videos with advanced filtering options.' It specifies the verb ('search') and resource ('YouTube videos'), and the 'advanced filtering options' distinguishes it from basic search tools. However, it doesn't explicitly differentiate from sibling tools like 'get-trending-videos' or 'analyze-channel-videos', which prevents a perfect 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. It lists parameters but doesn't indicate scenarios where this search is preferred over sibling tools (e.g., 'get-trending-videos' for trending content or 'analyze-channel-videos' for channel-specific analysis). This lack of comparative context leaves the agent without usage direction.
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.
12 tool updates
v1.0.0- First observed
analyze-channel-videos - First observed
compare-videos - First observed
enhanced-transcript - First observed
get-channel-stats - First observed
get-key-moments - First observed
get-segmented-transcript - First observed
get-trending-videos - First observed
get-video-categories - First observed
get-video-comments - First observed
get-video-stats - First observed
get-video-transcript - First observed
search-videos
TDQS
Scored across 12 tools
Most tools have distinct purposes, but there is notable overlap between transcript-related tools (enhanced-transcript, get-video-transcript, get-segmented-transcript, get-key-moments) which could cause confusion. The descriptions help differentiate them, but an agent might struggle to choose the right one for basic transcript needs.
Tool names follow a consistent verb_noun pattern (e.g., get-video-stats, search-videos, analyze-channel-videos) with clear, descriptive naming. The only minor deviation is 'enhanced-transcript' which uses an adjective instead of a verb, but it still fits the overall readable convention.
With 12 tools, the server is well-scoped for YouTube data analysis, covering channels, videos, transcripts, and trends. Each tool serves a specific function without unnecessary duplication, making the count appropriate for the domain.
The toolset provides comprehensive coverage for YouTube analysis, including video and channel stats, transcripts, comments, search, and trending data. Minor gaps exist, such as no tools for playlist management or direct video upload/modification, but core analytical workflows are well-supported.
Maintenance
Related MCP Connectors
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
YouTube search, whole channels, video stats, comments and full transcripts with timestamps.
1YouTube discovery, transcripts, library search, and monitors with API keys or OAuth.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables access to YouTube video content through transcripts, translations, summaries, and subtitle generation in various languages.55MIT
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables searching YouTube videos, retrieving and storing transcripts, and performing semantic search over video content without using the official YouTube API.39MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to access YouTube data in real-time, with capabilities for searching videos, analyzing channels, retrieving video details, and extracting transcripts.13MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides comprehensive YouTube search functionality, enabling users to search for videos, channels, and playlists with advanced filtering options using the YouTube Data API.-