youtube-gemini-mcp

youtube-gemini-mcp

Enables conversational analysis of YouTube videos using Gemini 2.5 Pro, supporting multi-turn sessions, direct URL processing, and local video uploads.

Category
Visit Server

README

YouTube Gemini MCP Hero

YouTube Gemini MCP Server

PyPI version

A Model Context Protocol (MCP) server that provides conversational YouTube video analysis capabilities using Gemini 2.5 Pro. Analyze videos through multi-turn conversations with advanced visual understanding.

๐ŸŽฏ What Problems Does This Solve?

Traditional Video Analysis Pain Points

โŒ Transcript-only limitations - Missing visual context and scene understanding
โŒ No conversation memory - Each analysis starts from scratch
โŒ Manual workflows - Complex download/upload processes

Our Solution

โœ… Full video analysis - Visual, audio, and contextual understanding
โœ… Session memory - Builds on previous analysis automatically
โœ… Integrated workflows - YouTube URL to analysis in one step

๐Ÿš€ Key Capabilities

๐Ÿ”„ Session-Based Video Conversations

Create persistent sessions for multi-turn video analysis:

# Create session
create_video_session(
    description="Analyze machine learning lecture",
    video_source="https://youtube.com/watch?v=abc123",
    source_type="youtube_url"
)

# Continue conversation
analyze_video_in_session(session_id="uuid", prompt="What are the key concepts?")
analyze_video_in_session(session_id="uuid", prompt="Explain the neural networks part")

๐Ÿ“น Direct YouTube Processing

No downloads required - process YouTube videos directly:

analyze_youtube_video(
    youtube_url="https://youtube.com/watch?v=abc123",
    prompt="Summarize this video's main points"
)

๐Ÿ’พ Local Video Support

Upload and analyze local video files (48-hour retention):

analyze_local_video(
    video_path="/path/to/video.mp4",
    prompt="What happens in this video?"
)

๐Ÿ› ๏ธ Installation

Prerequisites

  • Python 3.10+
  • Google AI API key
  • Poetry (recommended) or pip

Setup

# Clone repository
git clone https://github.com/aigentive/youtube-gemini-mcp
cd youtube-gemini-mcp

# Install with Poetry
poetry install

# Or with pip
pip install -e .

# Set environment variable
export GOOGLE_API_KEY="your_google_api_key_here"

๐Ÿ”ง Claude Desktop Integration

Quick Setup

  1. Get Google AI API Key: Visit Google AI Studio to get your free API key
  2. Add to Claude Desktop: Copy the configuration below to your Claude Desktop settings

Production Configuration

Add to your Claude Desktop MCP configuration (claude_desktop_config.json):

{
  "mcpServers": {
    "youtube-gemini-mcp": {
      "command": "youtube-gemini-mcp",
      "env": {
        "GOOGLE_API_KEY": "your_google_api_key_here"
      }
    }
  }
}

Development Configuration

For development work, use the Poetry configuration:

{
  "mcpServers": {
    "youtube-gemini-mcp-dev": {
      "command": "poetry",
      "args": ["run", "python", "-m", "youtube_gemini_mcp.server"],
      "cwd": "/absolute/path/to/youtube-gemini-mcp",
      "env": {
        "GOOGLE_API_KEY": "your_google_api_key_here",
        "LOG_LEVEL": "DEBUG"
      }
    }
  }
}

Configuration Templates

We provide ready-to-use configuration files:

  • Development: mcp-config.poetry.json - For local development
  • Production: mcp-config.private.json.example - Copy and customize

๐Ÿ“š Available Tools

Tool Description
create_video_session Create new conversational analysis session
analyze_video_in_session Analyze video within session context
analyze_youtube_video Single-shot YouTube video analysis
analyze_local_video Single-shot local video analysis
get_session_status Get session information and history
list_active_sessions List all active sessions
close_session Close session and cleanup resources
validate_youtube_url Validate and normalize YouTube URLs
get_usage_guide Comprehensive documentation
get_server_stats Server health and statistics

๐ŸŽฏ Use Cases

Educational Content Analysis

Analyze lectures, tutorials, and educational videos with follow-up questions.

Content Research

Research documentaries, interviews, and informational content systematically.

Video Summarization

Extract key insights and create summaries from long-form content.

Training Material Development

Analyze existing training videos to extract learning objectives and key points.

โšก Quick Examples

Analyze a YouTube Video

# Direct analysis - perfect for quick insights
analyze_youtube_video(
    youtube_url="https://youtube.com/watch?v=dQw4w9WgXcQ",
    prompt="What is this video about? Provide a comprehensive summary."
)

Session-Based Analysis

# Create persistent session for multi-turn conversation
session = create_video_session(
    description="Learning about machine learning fundamentals",
    video_source="https://youtube.com/watch?v=abc123",
    session_name="ML Fundamentals Study"
)

# Build understanding through conversation
analyze_video_in_session(
    session_id=session["session_id"], 
    prompt="What are the main topics covered in this lecture?"
)

analyze_video_in_session(
    session_id=session["session_id"], 
    prompt="Focus on the neural networks section - how are they explained?"
)

analyze_video_in_session(
    session_id=session["session_id"], 
    prompt="What practical examples or demonstrations are shown?"
)

analyze_video_in_session(
    session_id=session["session_id"], 
    prompt="Based on our discussion, what are the key takeaways for beginners?"
)

Local Video Analysis

# Upload and analyze private content
analyze_local_video(
    video_path="/path/to/your/presentation.mp4",
    prompt="Extract the key business metrics and recommendations from this quarterly review"
)

Advanced: Timestamp-Specific Analysis

# Focus on specific video segments
analyze_video_in_session(
    session_id="your-session-id",
    prompt="Analyze the demonstration shown in this segment",
    timestamp_range="5:30-8:45"
)

๐Ÿ” Configuration

Environment Variables

Required:

Optional Configuration:

MCP_MAX_SESSIONS=50               # Maximum concurrent sessions
MCP_SESSION_TIMEOUT=7200          # Session timeout in seconds (2 hours)
GEMINI_MODEL_DEFAULT="gemini-2.5-pro-preview-05-06"  # Default Gemini model
MAX_VIDEO_DURATION=7200           # Max video length in seconds
AUTO_CLEANUP_FILES=true           # Auto-cleanup uploaded files
LOG_LEVEL=INFO                    # Logging level (DEBUG, INFO, WARNING, ERROR)

System Requirements

  • Python: 3.10+ (3.11+ recommended)
  • Memory: 4GB RAM minimum for video processing
  • Storage: 500MB for session data and temporary files
  • Network: High-speed internet for video processing

Limitations & Constraints

YouTube Videos (Unlimited Sessions)

  • โœ… No file size limits - Direct URL processing
  • โœ… Unlimited session duration - No 48-hour restriction
  • โš ๏ธ 2-hour video limit - Recommended maximum for optimal performance
  • โš ๏ธ Public videos only - Private/unlisted may not be accessible

Local Videos (48-Hour Sessions)

  • โš ๏ธ 2GB file size limit - Google Files API restriction
  • โš ๏ธ 48-hour auto-deletion - Files automatically deleted after 48 hours
  • โš ๏ธ 20GB project limit - Total storage quota per Google project
  • โŒ No retention extension - Cannot extend file lifespan beyond 48 hours

Performance Guidelines

  • Concurrent sessions: Default maximum 50 active sessions
  • Session timeout: 2 hours of inactivity before cleanup
  • Memory usage: ~100MB per active session
  • Response time: 10-30 seconds for typical analysis requests

๐Ÿงช Testing

# Run tests
poetry run pytest

# With coverage
poetry run pytest --cov=youtube_gemini_mcp

# Type checking
poetry run mypy src/

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ”— Related Projects

๐Ÿ“š Documentation

๐Ÿค Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Quick Start for Contributors

  1. Fork the repository
  2. Set up development environment: poetry install
  3. Run tests: poetry run pytest
  4. Make your changes and add tests
  5. Submit a pull request

๐Ÿ“ž Support & Community

Getting Help

  1. Check Documentation: Start with LLM.md for usage questions
  2. Search Issues: Look for existing solutions in GitHub Issues
  3. Create Issue: Provide clear details and reproduction steps
  4. Community: Join discussions for general questions and ideas

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
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
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
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
Qdrant Server

Qdrant Server

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

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