DeepSRT

by deepsrt

33 stars
Not rated
GitHub

About

Integrates with DeepSRT's API to generate multi-language video summaries in narrative or bullet-point formats, leveraging content caching and CDN edge delivery for efficient retrieval.

Details

Author
deepsrt
Repository
DeepSRT/deepsrt-mcp
GitHub stars
33
Categories
Productivity, Other, Design, Developer Tools, Media, Infrastructure, API, Frontend
Tags
#integration

- Generate summaries for YouTube videos
- Extract full transcripts with timestamps from YouTube videos
- Support for both narrative and bullet-point summary modes
- Multi-language support (default: zh-tw)
- Direct YouTube caption access (no API key required)
- Seamless integration with MCP-enabled environments

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name DeepSRT
    Command (node, npx, python, etc.) bunx
    Arguments
    • Argument 1 @deepsrt/deepsrt-mcp@latest
    • Argument 2 --server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Direct Cli Commands No Installation Required

# Extract transcript with timestamps bunx @deepsrt/deepsrt-mcp get-transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ bunx @deepsrt/deepsrt-mcp get-transcript dQw4w9WgXcQ --lang=en # Generate video summary bunx @deepsrt/deepsrt-mcp get-summary dQw4w9WgXcQ --lang=zh-tw --mode=bullet bunx @deepsrt/deepsrt-mcp get-summary https://youtu.be/dQw4w9WgXcQ --lang=ja
# Install globally npm install -g @deepsrt/deepsrt-mcp # MCP Server Mode deepsrt-mcp # Starts MCP server deepsrt-mcp --server # Explicit server mode # CLI Commands deepsrt-mcp get-transcript https://youtu.be/dQw4w9WgXcQ --lang=en deepsrt-mcp get-summary dQw4w9WgXcQ --lang=zh-tw --mode=narrative
bunx @deepsrt/deepsrt-mcp get-transcript <video-url> [options] Options: --lang=<language> Preferred language code for captions (default: en) --lang <language> Alternative format Examples: en, zh-tw, ja, es, fr Examples: bunx @deepsrt/deepsrt-mcp get-transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ bunx @deepsrt/deepsrt-mcp get-transcript dQw4w9WgXcQ --lang=zh-tw bunx @deepsrt/deepsrt-mcp get-transcript https://youtu.be/dQw4w9WgXcQ --lang ja
bunx @deepsrt/deepsrt-mcp get-summary <video-url> [options] Options: --lang=<language> Target language for summary (default: zh-tw) --lang <language> Alternative format Examples: zh-tw, en, ja, es, fr --mode=<mode> Summary format (default: narrative) --mode <mode> Alternative format Options: narrative, bullet Examples: bunx @deepsrt/deepsrt-mcp get-summary https://www.youtube.com/watch?v=dQw4w9WgXcQ bunx @deepsrt/deepsrt-mcp get-summary dQw4w9WgXcQ --lang=en --mode=bullet bunx @deepsrt/deepsrt-mcp get-summary https://youtu.be/dQw4w9WgXcQ --lang ja --mode narrative

The CLI accepts multiple YouTube URL formats:

# Full YouTube URLs https://www.youtube.com/watch?v=dQw4w9WgXcQ https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=30s # Short URLs https://youtu.be/dQw4w9WgXcQ # Embed URLs https://www.youtube.com/embed/dQw4w9WgXcQ # Direct video IDs dQw4w9WgXcQ

- Direct execution: No installation required withbunx
- Multiple URL formats: Full URLs, short URLs, or direct video IDs
- Flexible argument formats: Both--key=valueand--key valueformats supported
- Language support: Specify target language for summaries and transcript preferences
- Summary modes: Choose between narrative or bullet-point formats
- Rich output: Colored console output with progress indicators
- Error handling: Clear error messages with suggestions

# Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) Author: Rick Astley Duration: 3:33 Captions: English (manual) ## Transcript [00:18] ♪ We're no strangers to love ♪ [00:22] ♪ You know the rules and so do I ♪ [00:27] ♪ A full commitment's what I'm thinking of ♪ ...
# 瑞克·艾斯利 - 永遠不會放棄你 Author: Rick Astley Duration: 3:33 Language: zh-tw Mode: narrative ## Summary 這是一首經典的流行歌曲,表達了對愛情的承諾和忠誠...
# How Robots Are Helping Amazon Deliver on Prime Day Author: Bloomberg Television Duration: 5:45 Language: zh-tw Mode: bullet ## Summary 本影片主要探討亞馬遜如何運用機器人技術來提升倉儲效率... # 機器人技術在亞馬遜倉儲的應用與效益 - 亞馬遜已部署了第一百萬個機器人,並在Prime Day等高峰期用於滿足訂單需求 [00:00:00] - 機器人旨在為員工提供安全且高生產力的工作環境 [00:00:30] - 移動機器人可以搬運超過一千磅的貨物,並移動貨架以減少員工的行走距離 [00:00:54] ...

Option 1 Direct Usage With Bunx Recommended No Installation Required

Use the unified interface directly without any installation:

# MCP Server Mode (for Claude Desktop/Cline) bunx @deepsrt/deepsrt-mcp # Default: starts MCP server bunx @deepsrt/deepsrt-mcp --server # Explicit server mode # CLI Commands (direct usage) bunx @deepsrt/deepsrt-mcp get-transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ bunx @deepsrt/deepsrt-mcp get-summary dQw4w9WgXcQ --lang=zh-tw --mode=bullet # Always uses latest version automatically bunx @deepsrt/deepsrt-mcp@latest get-transcript dQw4w9WgXcQ --lang=en

Option 2 Global Installation For Frequent Use

# Install globally for easier access npm install -g @deepsrt/deepsrt-mcp # Then use directly with shorter command deepsrt-mcp get-transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ deepsrt-mcp get-summary dQw4w9WgXcQ --lang zh-tw --mode bullet

Option 3 Installing For Claude Desktop Recommended

Add this configuration to your Claude Desktop config file:

- On macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- On Windows:%APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "deepsrt": { "type": "stdio", "command": "bunx", "args": [ "@deepsrt/deepsrt-mcp@latest", "--server" ] } } }

- ✅No local installation required
- ✅Always uses latest version
- ✅Automatic updateswhen you restart Claude
- ✅Cross-platform compatibility
- ✅Simple and clean configuration

Add this configuration to yourcline_mcp_settings.json:

{ "mcpServers": { "deepsrt": { "type": "stdio", "command": "bunx", "args": [ "@deepsrt/deepsrt-mcp@latest", "--server" ] } } }

Or just ask Cline to install in the chat:

"Hey, install this MCP server for me fromhttps://github.com/DeepSRT/deepsrt-mcp"

You can run the server directly with bunx without installation:

# Run from the project directory bunx --bun src/index.ts # Or use npm scripts npm run start:bun # Uses Bun npm run start:node # Uses Node.js npm run dev # Development mode with Bun

The server provides the following tools for MCP clients:

- videoId(required): YouTube video ID
- lang(optional): Language code (e.g., zh-tw) - defaults to zh-tw
- mode(optional): Summary mode ("narrative" or "bullet") - defaults to narrative

Gets a transcript for a YouTube video with timestamps.

- videoId(required): YouTube video ID or full YouTube URL
- lang(optional): Preferred language code for captions (e.g., en, zh-tw) - defaults to en

// Get video summary const summaryResult = await mcp.use_tool("deepsrt", "get_summary", { videoId: "dQw4w9WgXcQ", lang: "zh-tw", mode: "narrative" }); // Get video transcript const transcriptResult = await mcp.use_tool("deepsrt", "get_transcript", { videoId: "dQw4w9WgXcQ", lang: "en" });
// Get video summary const summaryResult = await mcp.use_tool("deepsrt", "get_summary", { videoId: "dQw4w9WgXcQ", lang: "zh-tw", mode: "bullet" }); // Get video transcript const transcriptResult = await mcp.use_tool("deepsrt", "get_transcript", { videoId: "https://www.youtube.com/watch?v=dQw4w9WgXcQ", lang: "en" });
# Run unit tests (fast, no network calls) npm test # Run unit tests only npm run test:unit # Run network tests (requires internet, may be slower) npm run test:network # Run all tests including network tests npm run test:all # Run tests in watch mode npm run test:watch # Run tests with CI reporter (for CI/CD) npm run test:ci

- Unit Tests(src/index.test.ts,src/integration.test.ts) - Fast tests with mocked data
- Network Tests(src/transcript.test.ts,src/e2e.test.ts) - Real YouTube API integration tests

See theexamples/directory for reference implementations:

- examples/standalone-summarizer.ts- Standalone script showing direct API usage patterns

With Bun (Recommended for development - faster startup):

# Development mode (runs TypeScript directly) npm run dev # or bun src/index.ts # Using npm script npm run start:bun
# Build first npm run build # Then run npm run start:node # or node build/index.js

You can test the server using the MCP inspector:

# List available tools echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | bun src/index.ts # Test get_transcript echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_transcript", "arguments": {"videoId": "dQw4w9WgXcQ", "lang": "en"}}}' | bun src/index.ts

- https://www.threads.net/@pahud/post/DGmIR7gOG5M
-
https://www.threads.net/@pahud/post/DGoGiMDuWa9

A: This is because the video summary is not cached in the CDN edge location, you need to open this video using DeepSRT chrome extension to have it cached in the CDN network before you can get that summary using MCP.

You can verify the cache status using cURL like this

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

If you seecache-status: HITthe content is cached in the CDN edge location and your MCP server shoud not get404.

Your YouTube AI Assistant To Create More Videos And Save 10+ Hours A Week

Fetch and summarize YouTube videos by extracting their titles, descriptions, and transcripts.

Turn YouTube playlists into AI-generated flashcards with spaced repetition — create, search, and export decks via MCP.

Converts video links into AI-generated Markdown notes

Video transcoding (H.264, VP9, ProRes 422, GIF), document conversion (Markdown ↔ DOCX ↔ PDF ↔ HTML ↔ XLSX), and speaker-labelled transcription for AI agents. Per-job billing, free $1 trial, no AWS or FFmpeg required.

Official MCP server for Clipform - the video-first form builder.

get_summary

Gets a summary for a YouTube video. Parameters: videoId (required), lang (optional, defaults to zh-tw), mode (optional, defaults to narrative)

get_transcript

Gets a transcript for a YouTube video with timestamps. Parameters: videoId (required), lang (optional, defaults to en)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "deepsrt": {
            "cwd": "string",
            "env": {},
            "args": [
                "@deepsrt/deepsrt-mcp@latest",
                "--server"
            ],
            "shell": false,
            "command": "bunx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "@deepsrt/deepsrt-mcp@latest",
        "--server"
    ],
    "command": "bunx"
}

Macos

{
    "cwd": "string",
    "env": [],
    "args": [
        "@deepsrt/deepsrt-mcp@latest",
        "--server"
    ],
    "shell": false,
    "command": "bunx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "bunx",
        "@deepsrt/deepsrt-mcp@latest",
        "--server"
    ],
    "command": "cmd"
}

A Model Context Protocol (MCP) server that provides YouTube video summarization and transcript extraction functionality through integration with DeepSRT's API and direct YouTube caption access.

{ "mcpServers": { "deepsrt": { "type": "stdio", "command": "bunx", "args": [ "@deepsrt/deepsrt-mcp@latest", "--server" ] } } }
graph TB subgraph "MCP Client" Client[Claude Desktop / Cline] end subgraph "DeepSRT MCP Server" Server[MCP Server] SummaryTool[get_summary] TranscriptTool[get_transcript] Server --> SummaryTool Server --> TranscriptTool end subgraph "External APIs" YouTube[YouTube InnerTube API] DeepSRT[DeepSRT Worker API] Captions[YouTube Caption API] end Client --> Server SummaryTool --> YouTube SummaryTool --> DeepSRT TranscriptTool --> YouTube TranscriptTool --> Captions
sequenceDiagram participant User participant MCP as MCP Client participant Server as DeepSRT MCP Server participant YouTube as YouTube InnerTube API participant DeepSRT as DeepSRT Worker API participant Captions as YouTube Caption API Note over User,Captions: Summary Generation Flow User->>MCP: Request video summary MCP->>Server: get_summary(videoId, lang, mode) Server->>Server: Extract video ID from URL Server->>YouTube: POST /youtubei/v1/player Note right of YouTube: Get video metadata<br/>and caption tracks YouTube-->>Server: Video details + caption tracks Server->>Server: Select best caption track<br/>(manual > auto-generated) Server->>Server: Extract transcript argument<br/>from caption URL par Summary Request Server->>DeepSRT: GET /transcript2?action=summarize Note right of DeepSRT: X-Transcript-Arg header<br/>contains caption URL params DeepSRT-->>Server: Generated summary and Title Translation Server->>DeepSRT: GET /transcript2?action=translate DeepSRT-->>Server: Translated title end Server->>Server: Format markdown response<br/>with metadata + summary Server-->>MCP: Formatted summary response MCP-->>User: Display summary Note over User,Captions: Transcript Extraction Flow User->>MCP: Request video transcript MCP->>Server: get_transcript(videoId, lang) Server->>Server: Extract video ID from URL Server->>YouTube: POST /youtubei/v1/player YouTube-->>Server: Video details + caption tracks Server->>Server: Select best caption track<br/>for preferred language Server->>Captions: GET caption XML from baseUrl Captions-->>Server: Raw XML transcript Server->>Server: Parse XML transcript<br/>- Extract timestamps<br/>- Decode HTML entities<br/>- Format text Server->>Server: Generate markdown response<br/>with timestamps Server-->>MCP: Formatted transcript MCP-->>User: Display transcript with timestamps

- Runtime Support: Both Node.js and Bun execution
- Protocol Handling: Model Context Protocol (MCP) request/response management
- Tool Registration:get_summaryandget_transcripttools
- Error Handling: Comprehensive error management with user-friendly messages

- URL Parser: Supports multiple YouTube URL formats and direct video IDs
- InnerTube Integration: Direct YouTube API access without API keys
- Caption Discovery: Automatic detection of available caption tracks
- Quality Selection: Prioritizes manual captions over auto-generated ones

- XML Parser: Handles YouTube's<timedtext>format
- Entity Decoder: Converts HTML entities to readable text
- Timestamp Formatter: Converts milliseconds to[MM:SS]format
- Content Filter: Removes music notation and empty segments

- DeepSRT Integration: Direct API calls toworker.deepsrt.com
- Multi-language Support: Supports zh-tw, en, ja, and other languages
- Mode Selection: Narrative and bullet-point summary formats
- Title Translation: Automatic title translation to target language

- Works immediately for any YouTube video with captions
- Real-time transcript extraction and processing
- No dependency on external caching systems

- Priority Order: Manual > Auto-generated > Any available
- Language Preference: Respects user's preferred language
- Fallback Strategy: Graceful degradation to available options

- Network timeout management (30-second timeout)
- API error translation to user-friendly messages
- Graceful handling of videos without captions
- Comprehensive validation of input parameters

- Markdown Formatting: Rich text with headers and metadata
- Structured Data: Video information, duration, author details
- Timestamped Transcripts: Precise timing information
- Localized Summaries: Content in user's preferred language

- Fast Startup: < 1 second server initialization
- Efficient Processing: Parallel API calls for summary + title translation
- Memory Efficient: Streaming XML parsing, no large data buffering
- Network Optimized: Single request per video for metadata + captions

- ✅Fixed critical test logic flaws: Tests now correctly validate API responses instead of checking non-existentsuccessproperties
- ✅Enhanced error handling: Improved graceful handling of YouTube API rate limiting (HTTP 429)
- ✅Robust test suite: All 56 tests now pass consistently with proper error resilience
- ✅Verified API integration: Confirmed both DeepSRT and YouTube APIs work correctly when not rate limited
- ✅Multi-language support: Validated zh-tw, en, ja summary generation
- ✅Production-ready: Test suite handles real-world API limitations professionally

- ✅Fixed CLI argument parsing: Now supports both--key=valueand--key valueformats
- ✅Fixed bullet mode:--mode bulletnow works correctly and generates bullet-point summaries
- ✅Improved bunx compatibility: Direct execution withbunx @deepsrt/deepsrt-mcpworks without installation

- ✅Fixed CLI execution: Made CLI the default binary for direct npx/bunx execution
- ✅Updated package configuration: Proper binary resolution for different execution methods

- ✅Added comprehensive testing: Unit tests, integration tests, and end-to-end tests
- ✅Enhanced CLI tool: Full-featured command-line interface with help and examples
- ✅Direct transcript extraction: No pre-caching required, works with any YouTube video

- Generate summaries for YouTube videos
- Extract full transcripts with timestamps from YouTube videos
- Support for both narrative and bullet-point summary modes
- Multi-language support (default: zh-tw)
- Direct YouTube caption access (no API key required)
- Seamless integration with MCP-enabled environments

- Extracts video information and captions directly from YouTube using the InnerTube API
- Fetches transcript content from YouTube's caption system
- Sends transcript data to DeepSRT API for summarization

- No pre-caching required - works immediately for any video with captions
- Automatically selects the best available captions (manual preferred over auto-generated)
- Supports multiple languages and summary modes

- Transcripts are extracted directly from YouTube's caption system using the InnerTube API
- No pre-caching required - works immediately for any video with captions

- Automatically selects the best available captions (manual captions preferred over auto-generated)
- Supports language preference selection
- Falls back gracefully to available alternatives

- Provides clean, formatted transcripts with timestamps in [MM:SS] format
- Handles both manual and auto-generated captions
- Includes video metadata and caption information

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#2496ED', 'secondaryColor': '#38B2AC', 'tertiaryColor': '#1F2937', 'mainBkg': '#111827', 'textColor': '#E5E7EB', 'lineColor': '#4B5563', 'noteTextColor': '#E5E7EB'}}}%% sequenceDiagram participant User participant MCP as MCP Client participant YouTube as YouTube API participant DeepSRT as DeepSRT API Note over User,DeepSRT: Summary Generation Flow (Direct Processing) User->>MCP: Request video summary MCP->>YouTube: Get video info & captions via InnerTube API YouTube-->>MCP: Return video details & caption tracks MCP->>YouTube: Fetch transcript XML from caption URL YouTube-->>MCP: Return raw transcript content MCP->>DeepSRT: Send transcript + metadata for summarization DeepSRT-->>MCP: Return generated summary MCP-->>User: Return formatted summary Note over User,DeepSRT: Transcript Extraction Flow (Direct) User->>MCP: Request video transcript MCP->>YouTube: Get video info & captions via InnerTube API YouTube-->>MCP: Return video details & caption tracks MCP->>YouTube: Fetch transcript XML from caption URL YouTube-->>MCP: Return raw transcript content MCP->>MCP: Parse & format transcript with timestamps MCP-->>User: Return formatted transcript with metadata

The DeepSRT MCP server provides a unified interface that handles both MCP server mode and CLI commands.

# MCP Server Mode (default - for Claude Desktop/Cline) bunx @deepsrt/deepsrt-mcp # Starts MCP server on stdio bunx @deepsrt/deepsrt-mcp --server # Explicit server mode # CLI Commands (direct usage) bunx @deepsrt/deepsrt-mcp get-transcript <video-url> [options] bunx @deepsrt/deepsrt-mcp get-summary <video-url> [options] # Help bunx @deepsrt/deepsrt-mcp --help

Direct CLI Commands (No Installation Required)

# Extract transcript with timestamps bunx @deepsrt/deepsrt-mcp get-transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ bunx @deepsrt/deepsrt-mcp get-transcript dQw4w9WgXcQ --lang=en # Generate video summary bunx @deepsrt/deepsrt-mcp get-summary dQw4w9WgXcQ --lang=zh-tw --mode=bullet bunx @deepsrt/deepsrt-mcp get-summary https://youtu.be/dQw4w9WgXcQ --lang=ja
# Install globally npm install -g @deepsrt/deepsrt-mcp # MCP Server Mode deepsrt-mcp # Starts MCP server deepsrt-mcp --server # Explicit server mode # CLI Commands deepsrt-mcp get-transcript https://youtu.be/dQw4w9WgXcQ --lang=en deepsrt-mcp get-summary dQw4w9WgXcQ --lang=zh-tw --mode=narrative
bunx @deepsrt/deepsrt-mcp get-transcript <video-url> [options] Options: --lang=<language> Preferred language code for captions (default: en) --lang <language> Alternative format Examples: en, zh-tw, ja, es, fr Examples: bunx @deepsrt/deepsrt-mcp get-transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ bunx @deepsrt/deepsrt-mcp get-transcript dQw4w9WgXcQ --lang=zh-tw bunx @deepsrt/deepsrt-mcp get-transcript https://youtu.be/dQw4w9WgXcQ --lang ja
bunx @deepsrt/deepsrt-mcp get-summary <video-url> [options] Options: --lang=<language> Target language for summary (default: zh-tw) --lang <language> Alternative format Examples: zh-tw, en, ja, es, fr --mode=<mode> Summary format (default: narrative) --mode <mode> Alternative format Options: narrative, bullet Examples: bunx @deepsrt/deepsrt-mcp get-summary https://www.youtube.com/watch?v=dQw4w9WgXcQ bunx @deepsrt/deepsrt-mcp get-summary dQw4w9WgXcQ --lang=en --mode=bullet bunx @deepsrt/deepsrt-mcp get-summary https://youtu.be/dQw4w9WgXcQ --lang ja --mode narrative

The CLI accepts multiple YouTube URL formats:

# Full YouTube URLs https://www.youtube.com/watch?v=dQw4w9WgXcQ https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=30s # Short URLs https://youtu.be/dQw4w9WgXcQ # Embed URLs https://www.youtube.com/embed/dQw4w9WgXcQ # Direct video IDs dQw4w9WgXcQ

- Direct execution: No installation required withbunx
- Multiple URL formats: Full URLs, short URLs, or direct video IDs
- Flexible argument formats: Both--key=valueand--key valueformats supported
- Language support: Specify target language for summaries and transcript preferences
- Summary modes: Choose between narrative or bullet-point formats
- Rich output: Colored console output with progress indicators
- Error handling: Clear error messages with suggestions

# Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) Author: Rick Astley Duration: 3:33 Captions: English (manual) ## Transcript [00:18] ♪ We're no strangers to love ♪ [00:22] ♪ You know the rules and so do I ♪ [00:27] ♪ A full commitment's what I'm thinking of ♪ ...
# 瑞克·艾斯利 - 永遠不會放棄你 Author: Rick Astley Duration: 3:33 Language: zh-tw Mode: narrative ## Summary 這是一首經典的流行歌曲,表達了對愛情的承諾和忠誠...
# How Robots Are Helping Amazon Deliver on Prime Day Author: Bloomberg Television Duration: 5:45 Language: zh-tw Mode: bullet ## Summary 本影片主要探討亞馬遜如何運用機器人技術來提升倉儲效率... # 機器人技術在亞馬遜倉儲的應用與效益 - 亞馬遜已部署了第一百萬個機器人,並在Prime Day等高峰期用於滿足訂單需求 [00:00:00] - 機器人旨在為員工提供安全且高生產力的工作環境 [00:00:30] - 移動機器人可以搬運超過一千磅的貨物,並移動貨架以減少員工的行走距離 [00:00:54] ...

Option 1: Direct Usage with bunx (Recommended - No Installation Required)

Use the unified interface directly without any installation:

# MCP Server Mode (for Claude Desktop/Cline) bunx @deepsrt/deepsrt-mcp # Default: starts MCP server bunx @deepsrt/deepsrt-mcp --server # Explicit server mode # CLI Commands (direct usage) bunx @deepsrt/deepsrt-mcp get-transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ bunx @deepsrt/deepsrt-mcp get-summary dQw4w9WgXcQ --lang=zh-tw --mode=bullet # Always uses latest version automatically bunx @deepsrt/deepsrt-mcp@latest get-transcript dQw4w9WgXcQ --lang=en

Option 2: Global Installation (For Frequent Use)

# Install globally for easier access npm install -g @deepsrt/deepsrt-mcp # Then use directly with shorter command deepsrt-mcp get-transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ deepsrt-mcp get-summary dQw4w9WgXcQ --lang zh-tw --mode bullet

Option 3: Installing for Claude Desktop (Recommended)

Add this configuration to your Claude Desktop config file:

- On macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- On Windows:%APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "deepsrt": { "type": "stdio", "command": "bunx", "args": [ "@deepsrt/deepsrt-mcp@latest", "--server" ] } } }

- ✅No local installation required
- ✅Always uses latest version
- ✅Automatic updateswhen you restart Claude
- ✅Cross-platform compatibility
- ✅Simple and clean configuration

Add this configuration to yourcline_mcp_settings.json:

{ "mcpServers": { "deepsrt": { "type": "stdio", "command": "bunx", "args": [ "@deepsrt/deepsrt-mcp@latest", "--server" ] } } }

Or just ask Cline to install in the chat:

"Hey, install this MCP server for me fromhttps://github.com/DeepSRT/deepsrt-mcp"

You can run the server directly with bunx without installation:

# Run from the project directory bunx --bun src/index.ts # Or use npm scripts npm run start:bun # Uses Bun npm run start:node # Uses Node.js npm run dev # Development mode with Bun

The server provides the following tools for MCP clients:

- videoId(required): YouTube video ID
- lang(optional): Language code (e.g., zh-tw) - defaults to zh-tw
- mode(optional): Summary mode ("narrative" or "bullet") - defaults to narrative

Gets a transcript for a YouTube video with timestamps.

- videoId(required): YouTube video ID or full YouTube URL
- lang(optional): Preferred language code for captions (e.g., en, zh-tw) - defaults to en

// Get video summary const summaryResult = await mcp.use_tool("deepsrt", "get_summary", { videoId: "dQw4w9WgXcQ", lang: "zh-tw", mode: "narrative" }); // Get video transcript const transcriptResult = await mcp.use_tool("deepsrt", "get_transcript", { videoId: "dQw4w9WgXcQ", lang: "en" });
// Get video summary const summaryResult = await mcp.use_tool("deepsrt", "get_summary", { videoId: "dQw4w9WgXcQ", lang: "zh-tw", mode: "bullet" }); // Get video transcript const transcriptResult = await mcp.use_tool("deepsrt", "get_transcript", { videoId: "https://www.youtube.com/watch?v=dQw4w9WgXcQ", lang: "en" });
# Run unit tests (fast, no network calls) npm test # Run unit tests only npm run test:unit # Run network tests (requires internet, may be slower) npm run test:network # Run all tests including network tests npm run test:all # Run tests in watch mode npm run test:watch # Run tests with CI reporter (for CI/CD) npm run test:ci

- Unit Tests(src/index.test.ts,src/integration.test.ts) - Fast tests with mocked data
- Network Tests(src/transcript.test.ts,src/e2e.test.ts) - Real YouTube API integration tests

See theexamples/directory for reference implementations:

- examples/standalone-summarizer.ts- Standalone script showing direct API usage patterns

With Bun (Recommended for development - faster startup):

# Development mode (runs TypeScript directly) npm run dev # or bun src/index.ts # Using npm script npm run start:bun
# Build first npm run build # Then run npm run start:node # or node build/index.js

You can test the server using the MCP inspector:

# List available tools echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | bun src/index.ts # Test get_transcript echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "get_transcript", "arguments": {"videoId": "dQw4w9WgXcQ", "lang": "en"}}}' | bun src/index.ts

- https://www.threads.net/@pahud/post/DGmIR7gOG5M
-
https://www.threads.net/@pahud/post/DGoGiMDuWa9

A: This is because the video summary is not cached in the CDN edge location, you need to open this video using DeepSRT chrome extension to have it cached in the CDN network before you can get that summary using MCP.

You can verify the cache status using cURL like this

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

If you seecache-status: HITthe content is cached in the CDN edge location and your MCP server shoud not get404.

Your YouTube AI Assistant To Create More Videos And Save 10+ Hours A Week

Fetch and summarize YouTube videos by extracting their titles, descriptions, and transcripts.

Turn YouTube playlists into AI-generated flashcards with spaced repetition — create, search, and export decks via MCP.

Converts video links into AI-generated Markdown notes

Video transcoding (H.264, VP9, ProRes 422, GIF), document conversion (Markdown ↔ DOCX ↔ PDF ↔ HTML ↔ XLSX), and speaker-labelled transcription for AI agents. Per-job billing, free $1 trial, no AWS or FFmpeg required.

Official MCP server for Clipform - the video-first form builder.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.