youtube mcp
适用于YouTube Live工作流的FastMCP服务器:列出已完成的广播、克隆或创建流、绑定广播、上传缩略图和阅读实时聊天。
需求
- Python 3.12
uv(可选但推荐)
快速开始
uv sync
cp .env.example .env # create your env file
uv run python -m main标准模式
uv run python -m stdio_main笔记:
- Stdio模式不公开
/callbackHTTP路由。对于OAuth,使用HTTP模式捕获重定向。
OAuth设置
设置这些 .env:
YOUTUBE_CLIENT_ID=...
YOUTUBE_CLIENT_SECRET=...
YOUTUBE_REDIRECT_URI=http://localhost:9000/callback
YOUTUBE_SCOPES=https://www.googleapis.com/auth/youtube.force-ssl然后使用MCP工具:
youtube_oauth_authorization_url
同意后,谷歌重定向到 /callback 以及服务器 自动存储令牌 在 .tokens.json (可配置为 TOKEN_STORE_PATH).每个条目都包括用户id/名称、时间戳和令牌。活动帐户存储在 .active_account (可配置为 ACTIVE_ACCOUNT_PATH).
重要提示:
- 这是 仅限本地/dev 并使用 无需额外的安全强化 超出文件权限。
- 多账户支持 不用于生产 使用。
MCP工具(高级)
youtube_live_broadcasts_list_completedyoutube_live_broadcasts_list_by_statusyoutube_live_broadcasts_list_upcomingyoutube_live_chats_listyoutube_live_broadcasts_getyoutube_live_streams_getyoutube_live_broadcasts_insertyoutube_live_streams_insertyoutube_live_broadcasts_bindyoutube_thumbnails_setyoutube_live_chat_messages_listyoutube_live_chat_messages_insertyoutube_accounts_listyoutube_accounts_set_active
输入结构(命名参数)
所有工具均接受 直接命名字段 (无额外费用 params 包装)。示例:
{"max_results": 10, "page_token": "...", "channel_id": "UC..."}{"broadcast_id": "...", "part": "snippet,contentDetails,status"}{"title": "...", "scheduled_start_time": "2026-02-01T15:00:00Z", "privacy_status": "unlisted"}