返回市场
派-麦科普-YouTube工具箱

派-麦科普-YouTube工具箱

作者:jikime20 星标更新:2025-06-16

项目介绍

py-mcp-youtube-toolbox

smithery 徽章 版本 许可证

一个提供强大的工具与YouTube互动的MCP服务器,包括视频搜索、字幕提取、评论检索等功能。

<a href="https://glama.ai/mcp/servers/@jikime/py-mcp-youtube-toolbox"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=1687408020,2399656978&fm=3081&app=3081&f=PNG?w=760&h=400" alt="YouTube 工具箱 MCP 服务器" /> </a>

概述

py-mcp-youtube-toolbox 提供以下与YouTube相关的功能:

  • 使用高级过滤选项搜索YouTube视频
  • 获取视频和频道的详细信息
  • 检索带有排序选项的视频评论
  • 提取多种语言的视频字幕和字幕
  • 查找给定视频的相关视频
  • 根据地区获取热门视频
  • 基于字幕生成视频内容摘要
  • 具有筛选、搜索和多视频能力的高级字幕分析

目录

先决条件

  1. Python: 安装Python 3.12或更高版本
  2. YouTube API 密钥:
    • 访问 Google Cloud 控制台
    • 创建新项目或选择现有项目
    • 启用YouTube数据API v3:
      1. 转到“API和服务”>“库”
      2. 搜索并启用“YouTube数据API v3”
    • 创建凭据:
      1. 转到“API和服务”>“凭据”
      2. 点击“创建凭据”>“API密钥”
      3. 记下您的API密钥

安装

Git克隆

git clone https://github.com/jikime/py-mcp-youtube-toolbox.git
cd py-mcp-youtube-toolbox

配置

  1. 安装UV包管理器:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 创建并激活虚拟环境:
uv venv -p 3.12
source .venv/bin/activate  # 在MacOS/Linux上
# 或
.venv\Scripts\activate  # 在Windows上
  1. 安装依赖项:
uv pip install -r requirements.txt
  1. 环境变量:
cp env.example .env
vi .env
# 使用您的YouTube API密钥更新
YOUTUBE_API_KEY=your_youtube_api_key

使用Docker

  1. 构建Docker镜像:
docker build -t py-mcp-youtube-toolbox .
  1. 运行容器:
docker run -e YOUTUBE_API_KEY=your_youtube_api_key py-mcp-youtube-toolbox

使用本地

  1. 运行服务器:
mcp run server.py
  1. 运行MCP Inspector:
mcp dev server.py

配置MCP设置

将服务器配置添加到您的MCP设置文件中:

Claude桌面应用

  1. 通过Smithery自动安装:
npx -y @smithery/cli install @jikime/py-mcp-youtube-toolbox --client claude
  1. 手动安装 打开 ~/Library/Application Support/Claude/claude_desktop_config.json

mcpServers 对象中添加以下内容:

{
  "mcpServers": {
    "YouTube 工具箱": {
      "command": "/path/to/bin/uv",
      "args": [
        "--directory",
        "/path/to/py-mcp-youtube-toolbox",
        "run",
        "server.py"
      ],
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key"
      }
    }
  }
}

Cursor IDE

打开 ~/.cursor/mcp.json

mcpServers 对象中添加以下内容:

{
  "mcpServers": {
    "YouTube 工具箱": {
      "command": "/path/to/bin/uv",
      "args": [
        "--directory",
        "/path/to/py-mcp-youtube-toolbox",
        "run",
        "server.py"
      ],
      "env": {
        "YOUTUBE_API_KEY": "your_youtube_api_key"
      }
    }
  }
}

对于Docker

{
  "mcpServers": {
    "YouTube 工具箱": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "YOUTUBE_API_KEY=your_youtube_api_key",
        "py-mcp-youtube-toolbox"
      ]
    }
  }
}

工具文档

视频工具

  • search_videos: 使用高级过滤选项(频道、时长、地区等)搜索YouTube视频
  • get_video_details: 获取特定YouTube视频的详细信息(标题、频道、观看次数、点赞数等)
  • get_video_comments: 检索带有排序选项的YouTube视频评论
  • get_related_videos: 查找与特定YouTube视频相关联的视频
  • get_trending_videos: 根据地区获取YouTube上的热门视频

频道工具

  • get_channel_details: 获取YouTube频道的详细信息(名称、订阅者数量、观看次数等)

字幕工具

  • get_video_transcript: 从YouTube视频中提取指定语言的字幕/字幕
  • get_video_enhanced_transcript: 具有筛选、搜索和多视频能力的高级字幕提取

提示工具

  • transcript_summary: 根据字幕生成YouTube视频内容摘要,并具有可定制选项

资源工具

  • youtube://available-youtube-tools: 获取所有可用YouTube工具的列表
  • youtube://video/{video_id}: 获取特定视频的详细信息
  • youtube://channel/{channel_id}: 获取特定频道的信息
  • youtube://transcript/{video_id}?language={language}: 获取特定视频的字幕

开发

对于本地测试,您可以使用包含的客户端脚本:

# 示例:搜索视频
uv run client.py search_videos query="MCP" max_results=5

# 示例:获取视频详情
uv run client.py get_video_details video_id=zRgAEIoZEVQ

# 示例:获取频道详情
uv run client.py get_channel_details channel_id=UCRpOIr-NJpK9S483ge20Pgw

# 示例:获取视频评论
uv run client.py get_video_comments video_id=zRgAEIoZEVQ max_results=10 order=time

# 示例:获取视频字幕
uv run client.py get_video_transcript video_id=zRgAEIoZEVQ language=ko

# 示例:获取相关视频
uv run client.py get_related_videos video_id=zRgAEIoZEVQ max_results=5

# 示例:获取热门视频
uv run client.py get_trending_videos region_code=ko max_results=10

# 示例:高级字幕提取
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

# 示例:

许可证

MIT 许可证