Skip to main content
Glama
Ayaanisthebest

YouTube Transcript MCP Server

README.md
# YouTube Transcript MCP Server

A powerful Model Context Protocol (MCP) server that provides seamless access to YouTube video transcripts using the [youtube-transcript-api](https://pypi.org/project/youtube-transcript-api/) library.

## ๐Ÿš€ Features

- **๐Ÿ“ Get Full Transcripts** - Fetch complete video transcripts in text or JSON format
- **๐ŸŒ Multi-Language Support** - Discover and fetch transcripts in different languages  
- **๐Ÿ” Smart Search** - Search for specific text within video transcripts with context
- **๐Ÿ“‹ Transcript Summaries** - Get concise summaries of video content
- **๐Ÿ”— URL Flexibility** - Works with any YouTube URL format or direct video IDs

## ๐Ÿ› ๏ธ MCP Tools Available

### 1. `get_transcript`
Fetch the complete transcript for a YouTube video.

**Parameters:**
- `video_url_or_id`: YouTube video URL or video ID
- `languages`: (Optional) List of language codes (e.g., ['en', 'es'])
- `format_type`: (Optional) Output format - 'text' or 'json' (default: 'text')

### 2. `get_available_languages`
Get all available transcript languages for a video.

**Parameters:**
- `video_url_or_id`: YouTube video URL or video ID

### 3. `search_transcript`
Search for specific text within a video's transcript.

**Parameters:**
- `video_url_or_id`: YouTube video URL or video ID
- `query`: Text to search for
- `languages`: (Optional) List of language codes to search in

### 4. `get_transcript_summary`
Get a summary of the video's transcript.

**Parameters:**
- `video_url_or_id`: YouTube video URL or video ID
- `max_length`: (Optional) Maximum summary length in characters (default: 1000)
- `languages`: (Optional) List of language codes to use

## ๐Ÿ“ฆ Installation

1. **Clone the repository:**
```bash
git clone https://github.com/Ayaanisthebest/MCP-tool-for-YouTube-.git
cd MCP-tool-for-YouTube-
```

2. **Install dependencies:**
```bash
pip install -e .
```

3. **Or install manually:**
```bash
pip install youtube-transcript-api mcp[cli] fastmcp
```

## โš™๏ธ MCP Configuration

Add to your MCP client configuration:

```json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "python3",
      "args": ["-m", "youtube_transcript_mcp_server.server"]
    }
  }
}
```

**Note:** On macOS, use `python3` instead of `python`. If you have a different Python setup, you can also use the full path:
```json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "/opt/homebrew/bin/python3",
      "args": ["-m", "youtube_transcript_mcp_server.server"]
    }
  }
}
```

## ๐ŸŽฏ Usage Examples

### Get a transcript:
```python
get_transcript("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
```

### Search within a transcript:
```python
search_transcript("dQw4w9WgXcQ", "never gonna give you up")
```

### Get available languages:
```python
get_available_languages("https://youtu.be/dQw4w9WgXcQ")
```

### Get a summary:
```python
get_transcript_summary("dQw4w9WgXcQ", max_length=500)
```

## ๐Ÿ”— Supported URL Formats

The server can extract video IDs from various YouTube URL formats:
- `https://www.youtube.com/watch?v=VIDEO_ID`
- `https://youtu.be/VIDEO_ID`
- `https://www.youtube.com/embed/VIDEO_ID`
- `https://www.youtube.com/shorts/VIDEO_ID`
- Direct video ID: `VIDEO_ID`

## ๐Ÿงช Testing

Run the test script to verify everything works:

```bash
python3 test_server.py
```

## ๐Ÿ“‹ Dependencies

- `youtube-transcript-api>=0.6.2` - Core YouTube transcript functionality
- `mcp[cli]>=1.3.0` - Model Context Protocol support
- `fastmcp>=0.4.0` - FastMCP framework for easy MCP server development

## ๐Ÿ› Error Handling

The server includes comprehensive error handling for:
- Invalid video URLs or IDs
- Videos without transcripts
- Network connectivity issues
- Unsupported languages
- Rate limiting

## ๐Ÿ“„ License

MIT License - see [LICENSE](LICENSE) file for details.

## ๐Ÿ‘จโ€๐Ÿ’ป About the Developer

**Ayaan Ahmad** - Full-Stack Developer & AI Enthusiast

I'm passionate about creating innovative tools that bridge the gap between AI and real-world applications. This YouTube Transcript MCP Server is part of my ongoing work to make AI more accessible and powerful through the Model Context Protocol ecosystem.

**Connect with me:**
- GitHub: [@Ayaanisthebest](https://github.com/Ayaanisthebest)
- Building the future of AI-powered tools, one MCP server at a time! ๐Ÿš€

## ๐Ÿค Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

## ๐Ÿ“ˆ Roadmap

- [ ] Support for YouTube Shorts transcripts
- [ ] Batch transcript processing
- [ ] Transcript translation capabilities
- [ ] Enhanced search with fuzzy matching
- [ ] Transcript export to various formats

---

*Made with โค๏ธ for the AI community*

TDQS

A4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: fetching full transcripts, listing available languages, searching within a transcript, and summarizing a transcript. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (get_transcript, get_available_languages, search_transcript, get_transcript_summary). The verbs vary appropriately based on action, but the naming convention is uniform and predictable.

Tool Count5/5

With only 4 tools, the server is tightly scoped to transcript-related operations. Each tool serves a distinct and necessary function for the domain, making the count appropriate and well-balanced.

Completeness5/5

The tool set covers the core transcript workflow: retrieval, language discovery, searching, and summarization. There are no obvious dead ends or missing operations for a transcript-focused MCP server.

Maintenance

ActivityInactive
ResponsivenessNo issues