Skip to main content
Glama
Vinaykumarreddy467

YouTube Summarizer MCP Server

YouTube Summarizer MCP Server

An MCP (Model Context Protocol) server that fetches YouTube video transcripts and exposes them to AI agents as tools, resources, and prompts.

Works with any MCP client — OpenWork, Claude Desktop, or any custom MCP host.

Features

Tools (callable by agents)

Tool

Description

get_youtube_transcript(video_url)

Full plain-text transcript

search_transcript(video_url, keyword)

Case-insensitive search, returns matching lines with timestamps

get_timestamped_transcript(video_url)

Every line prefixed with [MM:SS] — ideal for citing moments

Resources (readable by agents)

URI

Description

youtube://transcript/{video_id}

Full plain text

youtube://transcript/{video_id}/segments

Timestamped segments

youtube://transcript/{video_id}/stats

Word count, duration, estimated reading time

Prompt

  • summarize_video(video_url, format_style) — generates a prompt template that asks the LLM to summarize a video. The LLM can read the transcript resource and return a summary in the requested format (default: bullet points).

Related MCP server: ytmcp

Usage

Run directly

uv run --directory /path/to/yt-summarizer python3 summarizer.py

Or with the fastmcp CLI:

uv run --directory /path/to/yt-summarizer fastmcp run summarizer.py

Connect from Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "yt-summarizer": {
      "command": "/path/to/uv",
      "args": [
        "run",
        "--directory",
        "/path/to/yt-summarizer",
        "python3",
        "summarizer.py"
      ]
    }
  }
}

Connect from OpenWork

Add to opencode.jsonc:

{
  "mcp": {
    "youtube-summarizer": {
      "type": "local",
      "command": ["uv", "run", "--directory", "/path/to/yt-summarizer", "python3", "summarizer.py"],
      "enabled": true
    }
  }
}

Example

An agent can fetch and summarize a video in one interaction:

  1. Agent reads youtube://transcript/dQw4w9WgXcQ/stats — sees "1250 words, 5 min duration"

  2. Agent calls get_youtube_transcript("https://youtube.com/watch?v=dQw4w9WgXcQ") — gets the full text

  3. Agent calls search_transcript("https://youtube.com/watch?v=dQw4w9WgXcQ", "important topic") — finds relevant parts with timestamps

  4. Agent uses the summarize_video prompt template to format the final summary

Supported URL formats

  • https://youtube.com/watch?v=VIDEO_ID

  • https://youtu.be/VIDEO_ID

  • https://youtube.com/shorts/VIDEO_ID

  • https://youtube.com/embed/VIDEO_ID

  • https://youtube.com/v/VIDEO_ID

Requirements

  • Python 3.10+

  • fastmcp — MCP server framework

  • youtube-transcript-api — fetches YouTube transcripts

Project structure

yt-summarizer/
├── summarizer.py          # Main MCP server
├── yt-summarizer.py       # Original minimal version
├── yt-summarizer1.py      # Older version with logging
├── pyproject.toml         # Dependencies
├── plan.txt               # Dev notes
└── README.md
Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vinaykumarreddy467/yt-summarizer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server