This is a Model Control Protocol (MCP) server that provides a tool to fetch transcripts from YouTube videos.
- Extracts video ID from any valid YouTube URL
- Returns plain-text transcripts (without timestamps)
- Uses the
youtube-transcript-apilibrary
# Install dependencies
pip install youtube-transcript-api "mcp[fastmcp]"Run the server:
python main.pyThe server exposes a single tool:
get_transcript: Takes a YouTube URL and returns the video ID and transcript
Using the MCP client:
from mcp.client import Client
client = Client(transport="stdio")
response = client.call("get_transcript", {"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"})
print(f"Video ID: {response['video_id']}")
print(f"Transcript: {response['transcript'][:100]}...") # First 100 charsThe server handles these error cases:
- Invalid YouTube URLs
- Videos without available transcripts