YouTube视频上传服务

一个通过MCP协议向YouTube上传视频的服务,支持自定义元数据、OAuth2认证和配额检查。

  • by adamanz
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 adamanz/youtube-mcp-server

使用说明

YouTube MCP服务器

一个MCP(模型上下文协议)服务器,可以通过Claude Desktop或任何兼容MCP的客户端将视频上传到YouTube。

特性

  • 📹 上传视频:使用可自定义的元数据将视频文件上传到YouTube
  • 🔐 OAuth2身份验证:使用YouTube API进行安全身份验证
  • 📊 配额检查:监控您的YouTube API使用情况
  • 📝 类别列表:浏览可用的视频类别
  • 🔧 轻松设置:内置凭证配置工具

先决条件

  • Python 3.10或更高版本
  • 启用YouTube数据API v3的Google云项目
  • 来自Google Cloud控制台的OAuth2凭据
  • Claude Desktop(或其他MCP客户端)

安装说明

1.安装依赖项

# Clone or download this repository
cd youtube-mcp-server

# Create virtual environment
python -m venv venv

# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate

# Install required packages
pip install -r requirements.txt

2.设置Google Cloud凭据

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用YouTube数据API v3:
    • 转到“API和服务”>“库”
    • 搜索“YouTube数据API v3”
    • 单击启用
  4. 创建OAuth2凭据:
    • 转到“API和服务”>“凭据”
    • 点击“创建凭据”>“OAuth客户端ID”
    • 选择“桌面应用程序”作为应用程序类型
    • 下载凭据JSON文件

3.配置克劳德桌面

将服务器添加到您的Claude Desktop配置中:

macOS/Linux:

# Open config file
code ~/Library/Application\ Support/Claude/claude_desktop_config.json

窗户:

code $env:AppData\Claude\claude_desktop_config.json

添加此配置:

{
    "mcpServers": {
        "youtube-uploader": {
            "command": "python",
            "args": [
                "/ABSOLUTE/PATH/TO/youtube-mcp-server/youtube_uploader.py"
            ]
        }
    }
}

4.首次身份验证

  1. 重新启动克劳德桌面
  2. 使用 setup_youtube_auth 使用您的OAuth2凭据的工具:
    • 从下载的JSON中提供client_id、client_secret和project_id
  3. 尝试上传视频-浏览器窗口将打开进行身份验证
  4. 授予您的YouTube帐户权限

可用工具

1. upload_video

将视频文件上传到YouTube。

参数:

  • file_path (必填):视频文件的路径
  • title (必填):视频标题
  • description:视频描述
  • keywords:逗号分隔的标签
  • category_id:YouTube类别ID(默认值:22)
  • privacy_status:“私有”、“未列出”或“公共”(默认值:私有)
  • made_for_kidsCOPPA 合规的布尔值

例子:

Upload the video at /Users/me/video.mp4 with title "My Amazing Video" and description "This is a test upload"

2. check_upload_quota

检查您的YouTube API配额使用情况和频道信息。

3. list_video_categories

列出特定地区的可用YouTube视频类别。

参数:

  • region_code:ISO国家代码(默认值:美国)

4. setup_youtube_auth

为YouTube API访问配置OAuth2凭据。

重要提示

  • 配额限制:YouTube API有每日配额。在每日1600000个单位中,每次上传的成本约为1600个单位。
  • 文件大小:上传大文件可能需要时间。服务器使用可恢复的上传。
  • 隐私:为了安全起见,视频默认上传为“私人”。
  • 认证:OAuth2令牌存储在本地 token.json.

故障排除

  1. “缺少凭据.json”:运行 setup_youtube_auth 第一
  2. 身份验证错误:删除 token.json 并重新验证
  3. 上传失败:检查文件路径、大小和格式
  4. 超出配额:等待24小时以重置配额

安全

  • 保持你的 credentials.json 和 token.json 文件安全
  • 不要将这些文件提交到版本控制
  • OAuth2令牌过期;服务器将自动刷新它们

许可证

MIT许可证