
YouTube Toolbox
STDIOAI assistant tools for YouTube video search, transcripts, comments, and content analysis.
AI assistant tools for YouTube video search, transcripts, comments, and content analysis.
An MCP server that provides AI assistants with powerful tools to interact with YouTube, including video searching, transcript extraction, comment retrieval, and more.
py-mcp-youtube-toolbox provides the following YouTube-related functionalities:
git clone https://github.com/jikime/py-mcp-youtube-toolbox.git cd py-mcp-youtube-toolbox
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv -p 3.12 source .venv/bin/activate # On MacOS/Linux # or .venv\Scripts\activate # On Windows
uv pip install -r requirements.txt
cp env.example .env vi .env # Update with your YouTube API key YOUTUBE_API_KEY=your_youtube_api_key
docker build -t py-mcp-youtube-toolbox .
docker run -e YOUTUBE_API_KEY=your_youtube_api_key py-mcp-youtube-toolbox
mcp run server.py
mcp dev server.py
Add the server configuration to your MCP settings file:
npx -y @smithery/cli install @jikime/py-mcp-youtube-toolbox --client claude
~/Library/Application Support/Claude/claude_desktop_config.json
Add this to the mcpServers
object:
{ "mcpServers": { "YouTube Toolbox": { "command": "/path/to/bin/uv", "args": [ "--directory", "/path/to/py-mcp-youtube-toolbox", "run", "server.py" ], "env": { "YOUTUBE_API_KEY": "your_youtube_api_key" } } } }
open ~/.cursor/mcp.json
Add this to the mcpServers
object:
{ "mcpServers": { "YouTube Toolbox": { "command": "/path/to/bin/uv", "args": [ "--directory", "/path/to/py-mcp-youtube-toolbox", "run", "server.py" ], "env": { "YOUTUBE_API_KEY": "your_youtube_api_key" } } } }
{ "mcpServers": { "YouTube Toolbox": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "YOUTUBE_API_KEY=your_youtube_api_key", "py-mcp-youtube-toolbox" ] } } }
search_videos
: Search for YouTube videos with advanced filtering options (channel, duration, region, etc.)get_video_details
: Get detailed information about a specific YouTube video (title, channel, views, likes, etc.)get_video_comments
: Retrieve comments from a YouTube video with sorting optionsget_related_videos
: Find videos related to a specific YouTube videoget_trending_videos
: Get trending videos on YouTube by regionget_channel_details
: Get detailed information about a YouTube channel (name, subscribers, views, etc.)get_video_transcript
: Extract transcripts/captions from YouTube videos in specified languagesget_video_enhanced_transcript
: Advanced transcript extraction with filtering, search, and multi-video capabilitiestranscript_summary
: Generate summaries of YouTube video content based on transcripts with customizable optionsyoutube://available-youtube-tools
: Get a list of all available YouTube toolsyoutube://video/{video_id}
: Get detailed information about a specific videoyoutube://channel/{channel_id}
: Get information about a specific channelyoutube://transcript/{video_id}?language={language}
: Get transcript for a specific videoFor local testing, you can use the included client script:
# Example: Search videos uv run client.py search_videos query="MCP" max_results=5 # Example: Get video details uv run client.py get_video_details video_id=zRgAEIoZEVQ # Example: Get channel details uv run client.py get_channel_details channel_id=UCRpOIr-NJpK9S483ge20Pgw # Example: Get video comments uv run client.py get_video_comments video_id=zRgAEIoZEVQ max_results=10 order=time # Example: Get video transcript uv run client.py get_video_transcript video_id=zRgAEIoZEVQ language=ko # Example: Get related videos uv run client.py get_related_videos video_id=zRgAEIoZEVQ max_results=5 # Example: Get trending videos uv run client.py get_trending_videos region_code=ko max_results=10 # Example: Advanced transcript extraction uv run client.py get_video_enhanced_transcript video_ids=zRgAEIoZEVQ language=ko format=timestamped include_metadata=true start_time=100 end_time=200 query=에이전트 case_sensitive=true segment_method=equal segment_count=2 # Example:
MIT License