Skip to main content
Glama

Servidor MCP DeepSRT

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona la funcionalidad de resumen de videos de YouTube a través de la integración con la API de DeepSRT.

Características

  • Generar resúmenes para vídeos de YouTube

  • Admite modos de resumen narrativo y con viñetas

  • Compatibilidad con varios idiomas (predeterminado: zh-tw)

  • Integración perfecta con entornos habilitados para MCP

Related MCP server: youtube-mcp

Cómo funciona

  1. Almacenamiento en caché de contenido

    • Los videos primero deben abrirse a través de DeepSRT para garantizar que el contenido esté almacenado en caché en el servicio.

    • Esta visualización inicial activa el proceso de almacenamiento en caché en el servicio DeepSRT

  2. Recuperación del resumen de MCP

    • Al solicitar resúmenes a través de MCP, el contenido se sirve desde las ubicaciones de borde de CDN de DeepSRT

    • Esto garantiza una entrega rápida y eficiente de resúmenes.

  3. Contenido prealmacenado en caché

    • Es posible que algunos videos ya estén almacenados en caché en el sistema debido a solicitudes de usuarios anteriores.

    • Si bien es posible obtener resúmenes de estos videos almacenados previamente en caché, no se garantiza la disponibilidad.

    • Para obtener mejores resultados, asegúrese de que los videos se abran primero a través de DeepSRT

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#2496ED', 'secondaryColor': '#38B2AC', 'tertiaryColor': '#1F2937', 'mainBkg': '#111827', 'textColor': '#E5E7EB', 'lineColor': '#4B5563', 'noteTextColor': '#E5E7EB'}}}%%
sequenceDiagram
    participant User
    participant DeepSRT
    participant Cache as DeepSRT Cache/CDN
    participant MCP as MCP Client

    Note over User,MCP: Step 1: Initial Caching
    User->>DeepSRT: Open video through DeepSRT
    DeepSRT->>Cache: Process and cache content
    Cache-->>DeepSRT: Confirm cache storage
    DeepSRT-->>User: Display video/content

    Note over User,MCP: Step 2: MCP Summary Retrieval
    MCP->>Cache: Request summary via MCP
    Cache-->>MCP: Return cached summary from edge location

    Note over User,MCP: Alternative: Pre-cached Content
    rect rgba(31, 41, 55, 0.6)
        MCP->>Cache: Request summary for pre-cached video
        alt Content exists in cache
            Cache-->>MCP: Return cached summary
        else Content not cached
            Cache-->>MCP: Cache miss
        end
    end

Instalación

Instalación para Claude Desktop

  1. Primero, construya el servidor:

npm install
npm run build
  1. Agregue la configuración del servidor a su archivo de configuración de Claude Desktop:

  • En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • En Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "deepsrt-mcp": {
      "command": "node",
      "args": [
        "/path/to/deepsrt-mcp/build/index.js"
      ]
    }
  }
}

Instalación para Cline

Simplemente pídale a Cline que lo instale en el chat:

"Hola, instala este servidor MCP para mí desde https://github.com/DeepSRT/deepsrt-mcp "

Cline instalará automáticamente deepsrt-mcp para usted y actualizará su cline_mcp_settings.json .

Uso

El servidor proporciona la siguiente herramienta:

obtener_resumen

Obtiene un resumen de un vídeo de YouTube.

Parámetros:

  • videoId (obligatorio): ID de video de YouTube

  • lang (opcional): código de idioma (por ejemplo, zh-tw); el valor predeterminado es zh-tw

  • mode (opcional): modo resumen ("narrativo" o "viñetas"): el valor predeterminado es narrativo

Ejemplo de uso

Usando Claude Desktop:

// The MCP tool will fetch the video summary
const result = await mcp.use_tool("deepsrt-mcp", "get_summary", {
  videoId: "dQw4w9WgXcQ",
  lang: "zh-tw",
  mode: "narrative"
});

Usando Cline:

const result = await mcp.use_tool("deepsrt", "get_summary", {
  videoId: "dQw4w9WgXcQ",
  lang: "zh-tw",
  mode: "bullet"
});

Desarrollo

Instalar dependencias:

npm install

Iniciar servidor de desarrollo:

npm run dev

Construir para producción:

npm run build

Manifestación

Preguntas frecuentes

P: Me aparece el error 404 , ¿por qué?

R: Esto se debe a que el resumen del video no está almacenado en caché en la ubicación del borde de la CDN; debe abrir este video usando la extensión de Chrome DeepSRT para tenerlo almacenado en caché en la red CDN antes de poder obtener ese resumen usando MCP.

Puedes verificar el estado del caché usando cURL de esta manera

curl -s 'https://worker.deepsrt.com/transcript' \
-i --data '{"arg":"v=VafNvIcOs5w","action":"summarize","lang":"zh-tw","mode":"narrative"}' | grep -i "^cache-status"
cache-status: HIT

Si ve cache-status: HIT el contenido está almacenado en caché en la ubicación del borde de CDN y su servidor MCP no debería recibir 404 .

Available Tools

2 tools
get_summaryC

Get summary for a YouTube video

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdYesYouTube video ID
langNoTarget language (default: zh-tw)zh-tw
modeNoSummary mode (default: narrative)narrative

TDQS

C2.9/5.0
Behavior2/5

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 what the tool does but doesn't mention any behavioral traits such as rate limits, authentication needs, error handling, or what the summary output looks like (e.g., format, length). This leaves significant gaps for a tool that likely interacts with external APIs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It doesn't address key contextual aspects like the summary format, potential errors, or how it differs from the sibling tool. For a tool with external dependencies (YouTube API), more information on behavior and constraints is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (videoId, lang, mode) with descriptions and defaults. The description adds no additional meaning beyond what the schema provides, such as explaining what 'narrative' vs 'bullet' modes entail or how the lang parameter affects the summary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get summary') and resource ('for a YouTube video'), making the purpose immediately understandable. It distinguishes from the sibling tool 'get_transcript' by focusing on summaries rather than transcripts, though it doesn't explicitly mention this distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like 'get_transcript'. The description lacks context about prerequisites, limitations, or scenarios where this tool is preferred, leaving the agent with no usage direction beyond the basic purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transcriptB

Get transcript for a YouTube video with timestamps

ParametersJSON Schema
NameRequiredDescriptionDefault
videoIdYesYouTube video ID or full YouTube URL
langNoPreferred language code for captions (default: en)en

TDQS

B3.1/5.0
Behavior2/5

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 'with timestamps,' which adds some context about the output format, but fails to address critical aspects like rate limits, authentication needs, error handling, or whether the operation is read-only or has side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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 of the sentence 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.

Completeness3/5

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 minimally adequate. It covers the basic purpose and output feature (timestamps) but lacks details on behavioral traits, usage guidelines, and output structure, leaving gaps for the agent to navigate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, clearly documenting both parameters. The description adds no additional parameter semantics beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get transcript for a YouTube video with timestamps.' It specifies the verb ('Get'), resource ('transcript'), and key feature ('with timestamps'), but doesn't explicitly differentiate from the sibling tool 'get_summary' beyond the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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_summary.' It lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage based solely on the tool name and purpose.

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.

  1. 2 tool updatesv1.0.0
    • Addedget_summary
    • Addedget_transcript

TDQS

B3.1/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one retrieves a summary, the other retrieves a transcript with timestamps. There is no overlap in functionality, making it easy for an agent to select the correct tool based on the need for either a concise overview or detailed textual content.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (get_summary, get_transcript), using the same verb 'get' and descriptive nouns. This uniformity makes the tool set predictable and easy to understand.

Tool Count2/5

With only two tools, the server feels thin for a domain like YouTube video processing. While the tools cover basic retrieval, the scope is limited, lacking operations such as search, analysis, or management of video content, which could be expected from a more comprehensive server.

Completeness2/5

The tool set is severely incomplete for a YouTube-focused server. It only provides retrieval functions (summary and transcript), missing essential operations like video search, metadata fetching, comment handling, or any CRUD capabilities, leaving significant gaps in coverage for typical agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables interaction with the YouTube Data API, allowing users to search videos, get video and channel details, analyze trends, and fetch video transcripts.
    -
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables the extraction of transcripts and detailed metadata from YouTube videos. It allows users to retrieve video information like titles and descriptions, as well as transcripts with optional timestamps and language selection.
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that fetches YouTube video transcripts and optionally summarizes them. Supports multiple transcript formats (text, JSON, SRT, WebVTT), multi-language retrieval, and flexible YouTube URL parsing.
    6
    6
    MIT