YouTube Transcript MCP Server
# 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
Scored across 4 tools
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.
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.
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.
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.