
YouTube工具箱
STDIOYouTube视频搜索、字幕提取和内容分析工具
YouTube视频搜索、字幕提取和内容分析工具
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