get_videosLABSCO SUMMARY
The study tools are what set it apart from a search wrapper.
Search, comments and channel stats are table stakes; flash cards with timestamps back into the video, and a quiz drawn from the transcript rather than the title, are not. Both work from content the API already gives you, so there is no second service in the loop. Budget for the YouTube quota — comment and trending calls are the expensive ones.
What it is
A YouTube Data API wrapper with a study layer on top. Beyond search, metadata and comments it uses the transcript and description to generate learning material — flash cards and a mixed-format quiz — from a video you point it at.
What you get
- Videos searched by term with a result cap —
get_videos - One video's details, and a channel's statistics —
get_video_info,get_channel_details - Comments on a video, defaulting to 100, and trending videos by region code, defaulting to US and 50 results —
get_video_comments_tool,get_trending_videos_tool - Related videos for a given video —
get_related_videos_tool - A comprehensive summary of a video, optionally including its comments —
summarize_video - Flash cards generated from the content, with fill-in-the-blank, question-and-answer and definition types, timestamps for reference, and optional category and difficulty filters —
generate_video_flashcards - A quiz of exactly 10 questions mixing multiple choice, true/false and fill-in-the-blank, with answers and explanations —
generate_video_quiz
Requirements
A Google Cloud project with the YouTube Data API v3 enabled. Two credentials are involved: an API key in YOUTUBE_API_KEY in a .env file, and OAuth 2.0 desktop-app credentials downloaded as credentials.json in the project root — the first run opens a browser to authorise and writes a token.pickle. Optional settings are YOUTUBE_API_QUOTA_LIMIT and YOUTUBE_API_REGION. Python 3.11 with uv; install with uv pip install -e . and launch mcp_videos.py through uv --directory <YOUR_BASE_DIRECTORY>/youtube-mcp-server run mcp_videos.py. Keep credentials.json and token.pickle out of version control.
Setup effort
Build from source — git clone https://github.com/temiedani/youtube-mcp-server.git
USE CASES
Studying from a long technical talk
Generate flash cards with timestamps so each card points back at the moment in the video it came from.
Deciding whether a video is worth watching
Summarise it, optionally folding in the comments, before committing forty minutes.
Checking what an audience actually said
Pull the comments on a video and read the themes rather than scrolling them.
Mapping what is popular in a market
Read trending videos for a region code and follow related videos out from the ones that matter.
Testing whether a team absorbed a training video
Generate a ten-question quiz from the video with answers and explanations included.
9 tools
Listed in project docs. Your client may show a different list.
get_video_infoget_channel_detailsget_video_comments_toolget_trending_videos_toolget_related_videos_toolsummarize_videogenerate_video_flashcardsgenerate_video_quizBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation. summarize_video, generate_video_flashcards and generate_video_quiz only work on videos that have a transcript, and every call counts against Google's API quota (YOUTUBE_API_QUOTA_LIMIT, 10000 per day by default).
Requires
YOUTUBE_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
Install Python 3.11 and uv (curl -LsSf https://astral.sh/uv/install.sh | sh)
git clone https://github.com/temiedani/youtube-mcp-server.git
cd youtube-mcp-server
python -m venv .venv
source .venv/bin/activateOn Windows (Command Prompt) the activation command is .venv\Scripts\activate instead.
uv pip install -e .Create Google Cloud OAuth 2.0 credentials, download the JSON and save it as credentials.json in the project root
Create a .env file with YOUTUBE_API_KEY (optionally YOUTUBE_API_QUOTA_LIMIT and YOUTUBE_API_REGION)
python mcp_videos.pyThe first run opens a browser for Google sign-in and writes token.pickle.
Add the mcpServers block to the Claude Desktop MCP configuration
MCP Clients
Claude Desktop
{
"mcpServers": {
"youtube_videos": {
"command": "uv",
"args": [
"--directory",
"<YOUR_BASE_DIRECTORY>/youtube-mcp-server",
"run",
"mcp_videos.py"
]
}
}
}The configuration on this page does not set YOUTUBE_API_KEY; the project's instructions put it in a .env file. Check which folder the server reads that file from before you rely on it.