Skip to main content
Glama
README.md
# yt-analysis-mcp

An MCP server that analyzes YouTube videos using Google's Gemini API. Pass in a YouTube URL to get summaries or ask questions about the video content.

## Features

- **Summarize videos** - Get brief, medium, or detailed summaries with timestamps
- **Ask questions** - Ask specific questions about video content
- **Direct URL support** - No video downloading required; Gemini analyzes YouTube URLs directly

## Installation

```bash
git clone https://github.com/yourusername/yt-analysis-mcp.git
cd yt-analysis-mcp
pnpm install
pnpm build
```

## Configuration

Set your Gemini API key:

```bash
export GEMINI_API_KEY=your-api-key
```

Get an API key from [Google AI Studio](https://aistudio.google.com/apikey).

## Usage

### Claude Code

```bash
claude mcp add -s user -e GEMINI_API_KEY=your-key yt-analysis -- node /path/to/yt-analysis-mcp/dist/index.js
```

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "yt-analysis": {
      "command": "node",
      "args": ["/path/to/yt-analysis-mcp/dist/index.js"],
      "env": {
        "GEMINI_API_KEY": "your-key"
      }
    }
  }
}
```

## Tools

### `summarize_video`

Summarize a YouTube video's content.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `youtube_url` | string | Yes | Full YouTube URL |
| `detail_level` | string | No | `brief`, `medium` (default), or `detailed` |

### `ask_about_video`

Ask a specific question about a YouTube video's content.

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `youtube_url` | string | Yes | Full YouTube URL |
| `question` | string | Yes | Your question about the video |

## Supported URL Formats

- `https://www.youtube.com/watch?v=VIDEO_ID`
- `https://youtu.be/VIDEO_ID`
- `https://youtube.com/shorts/VIDEO_ID`

## Development

```bash
# Run in development mode
pnpm dev

# Run tests
pnpm test

# Build
pnpm build
```

## License

MIT

TDQS

A3.8/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity: ask_about_video answers questions about content, extract_frames extracts frames at user-provided timestamps, extract_screenshots uses AI to find and extract key frames, get_video_timestamps previews AI-identified timestamps, and summarize_video provides text summaries. The descriptions explicitly differentiate their use cases, such as distinguishing between extract_frames (manual timestamps) and extract_screenshots (AI-selected timestamps).

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores, using clear action verbs like ask_about, extract, get, and summarize paired with descriptive nouns like video, frames, screenshots, and timestamps. There are no deviations in style or convention, making the set predictable and easy to understand at a glance.

Tool Count5/5

With 5 tools, the count is well-scoped for the YouTube analysis domain, covering core workflows like content querying, frame extraction (both manual and AI-driven), timestamp previewing, and summarization. Each tool earns its place without redundancy, and the number is manageable for agents to navigate effectively.

Completeness4/5

The tool set provides strong coverage for video analysis, including content understanding, visual extraction, and summarization, with no dead ends. A minor gap exists in lacking direct video metadata retrieval (e.g., title, duration, uploader), but agents can work around this by using existing tools like ask_about_video or summarize_video for such information.

Maintenance

ActivityStale
ResponsivenessNo issues