podcast-summarizer-mcp

podcast-summarizer-mcp

Search and discover YouTube channels via natural language, track them, and summarize videos without transcripts using Gemini API.

Category
Visit Server

README

Podcast Summarizer MCP 📝

MCP that works with OpenClaw, Claude Desktop, Claude Code. Search & discover YouTube channels via natural language and summarize videos with no transcripts or subtitles required.

License: MIT Python MCP PyPI

Claude Desktop Claude Code OpenClaw


Quick start (5 minutes)

Python 3.10+ and a Gemini API key (free) from https://aistudio.google.com.

1. Install

pip install podcast-summarizer-mcp

This puts podcast-summarizer-mcp on your PATH. (Or use pipx install / uvx install if you prefer isolated tools.)

2. Configure ONE host

Pick whichever you use. Replace AIza... with your Gemini key.

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "podcast-summarizer": {
      "command": "podcast-summarizer-mcp",
      "env": { "GEMINI_API_KEY": "AIza..." }
    }
  }
}

Quit Claude Desktop fully (⌘Q) and reopen. Click the 🔌 icon — podcast-summarizer should be listed.

Claude Code

claude mcp add podcast-summarizer \
  --env GEMINI_API_KEY=AIza... \
  -- podcast-summarizer-mcp

claude mcp list   # should show podcast-summarizer

OpenClaw

Add to ~/.openclaw/openclaw.json under mcp.servers:

"podcast-summarizer": {
  "command": "podcast-summarizer-mcp",
  "env": { "GEMINI_API_KEY": "AIza..." }
}

Restart OpenClaw (pkill -f openclaw-gateway; openclaw).

Installing from source instead? git clone, cd, then python3 -m venv .venv && .venv/bin/pip install -e ., and use the absolute path $(pwd)/.venv/bin/podcast-summarizer-mcp for the command field above.


Example prompts

Discover:

Does Andrej Karpathy have a YouTube channel?

Find me a few investing podcasts.

Track:

Add Forward Guidance to my channels

Add @ForwardGuidanceBW

What channels am I tracking?

Remove Forward Guidance

Summarize:

Summarize this video: https://www.youtube.com/watch?v=MO9ZTZPUwXY

Summarize today's new videos from all my channels in parallel

I have a 20-video backlog — no rush, do it overnight to save cost

The agent picks analyze_video_start (parallel, full price) by default and analyze_videos_batch_start (50% off, async) only when you say "no rush" / "overnight".


📱 Use via Telegram, WhatsApp & More (OpenClaw)

Connect this MCP to Telegram, WhatsApp, Discord and 20+ messaging platforms via OpenClaw — a self-hosted AI gateway. Talk to your podcast research agent from your phone, anywhere.

Telegram → OpenClaw agent (Claude / Gemini / GPT) → podcast-summarizer-mcp → Gemini + YouTube

OpenClaw routes messages from your chat platform of choice to an AI agent. The agent talks to this MCP over standard stdio — no Python wrapper or shim required.

Setup

# 1. Install OpenClaw (Node 22+)
npm install -g openclaw

# 2. Add a Telegram bot token (interactive — paste BotFather token)
openclaw configure --section channels

# 3. Add this MCP + agent + model to ~/.openclaw/openclaw.json:
#    (already covered in Quick Start — use the OpenClaw snippet)
openclaw config set agents.defaults.model "anthropic/claude-sonnet-4-5"

# 4. Start the gateway
openclaw gateway

Tools

13 tools. The agent picks; you don't call them directly.

Tool Purpose
search_youtube_channels(query, max_results=5) Fuzzy channel search
resolve_youtube_channel(handle_or_url) @handle or URL → channel
get_channel_metadata(channel_id) Subs, description, recent titles
add_tracked_channel(channel_id, name, handle?, tags?) Add to registry
remove_tracked_channel(channel_id) Remove from registry
list_tracked_channels(tag?) List tracked channels
discover_new_videos(channel_ids?, tag?, ...) New videos since last poll
get_video_info(video_url) Metadata only (no Gemini cost)
analyze_video_start(video_url, prompt?) Launch Gemini analysis (returns job_id)
analyze_video_result(job_id) Poll for the result
analyze_videos_batch_start(video_urls, prompt?) 50%-cheaper batch path (24h SLA)
analyze_videos_batch_result(batch_job_name) Poll batch result
get_state(channel_ids?) Per-channel last-seen video

Registry state lives at ~/.podcast-summarizer-mcp/channels.json.


Configuration

Set in the host's env block. Only GEMINI_API_KEY is required.

Variable Default
GEMINI_API_KEY required
VIDEO_ANALYSIS_CHANNELS_PATH ~/.podcast-summarizer-mcp/channels.json
VIDEO_ANALYSIS_STATE_PATH ~/.podcast-summarizer-mcp/video-state.json
VIDEO_ANALYSIS_JOBS_PATH ~/.podcast-summarizer-mcp/jobs.json
VIDEO_ANALYSIS_BATCH_METADATA_PATH ~/.podcast-summarizer-mcp/batches.json
VIDEO_ANALYSIS_PROMPT_PATH unset → built-in investment-podcast prompt

VIDEO_ANALYSIS_PROMPT_PATH is re-read on every analysis call (no restart). Bundled examples in prompts/: investment-podcast.md, technical-talk.md, interview.md, news-briefing.md.


MIT License.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured