yt-mcp
Manages YouTube channels, videos, uploads, comments, playlists, and analytics through the YouTube Data API and YouTube Analytics API. Enables operations like retrieving channel info, listing/managing videos, uploading videos, moderating comments, managing playlists, and fetching analytics reports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@yt-mcplist my recent uploads"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
yt-mcp — YouTube MCP Server
MCP server quản lý kênh YouTube (Data API v3 + Analytics), kiến trúc stateless
theo tinh thần Facebook MCP: server không lưu token người dùng. Client giữ
refresh token, server đổi ra access token và cache RAM theo sha256(refresh_token).
Xem thiết kế chi tiết + lý do từng quyết định: docs/thiet-ke.md.
Kiến trúc
server.py → khai báo tool @mcp.tool() (passthrough mỏng)
manager.py → điều phối, ráp tham số
youtube_api.py → gọi Data API v3 + Analytics (google-api-python-client)
auth.py → refresh→access + cache theo hash(refresh token)
jobs.py → upload async in-memory (job)
web.py → route /auth, /auth/callback, /upload
config.py → scope + hằng số
run_http.py → streamable-http (stateless) + gắn route webRelated MCP server: yt-fetch
Chuẩn bị Google Cloud (1 lần)
Tạo project ở Google Cloud Console (tài khoản
hoangtuanbka93@gmail.com).Bật YouTube Data API v3 và YouTube Analytics API.
OAuth consent screen: External → Publish app → In production (chấp nhận "unverified"; nếu Testing thì refresh token chết sau 7 ngày).
Tạo OAuth client ID kiểu Web application. Thêm Authorized redirect URI:
https://<host>.<tailnet>.ts.net/auth/callback.Lấy
client_id+client_secret.
Cấu hình & chạy
Tạo file .env cạnh compose.yaml:
GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=xxx
PUBLIC_BASE_URL=https://my-host.tailnet-name.ts.netdocker compose up -d --buildEndpoint MCP:
https://<host>.<tailnet>.ts.net/mcpTrang lấy token:
https://<host>.<tailnet>.ts.net/authTrang đẩy file:
https://<host>.<tailnet>.ts.net/upload
Lấy refresh token (1 lần)
Mở https://<host>.<tailnet>.ts.net/auth bằng browser → đồng ý (bấm qua cảnh báo
"unverified app" 1 lần) → trang hiện refresh token → copy.
Khai báo ở MCP client
"yt-mcp": {
"url": "https://<host>.<tailnet>.ts.net/mcp",
"headers": { "x-youtube-refresh-token": "1//dán_refresh_token_ở_đây" }
}Quản nhiều kênh = khai báo nhiều kết nối, mỗi cái một refresh token khác.
Upload video
source của youtube_video_upload nhận 3 dạng:
Nguồn |
| Cách đưa file lên |
File trên laptop | id | mở |
File có URL |
| server tự tải |
File trên máy chủ |
| bỏ vào thư mục |
Upload chạy nền → trả job_id → poll bằng youtube_upload_status(job_id).
Danh sách tool (~30)
Channel:
youtube_channel_get(bỏ trống = whoami),youtube_channel_updateVideo:
youtube_video_get,youtube_video_list_mine,youtube_video_update,youtube_video_delete,youtube_video_rate,youtube_video_set_privacyUpload:
youtube_video_upload,youtube_upload_statusSearch:
youtube_searchComment:
youtube_comment_list,youtube_comment_thread_get,youtube_comment_reply,youtube_comment_moderate,youtube_comment_deletePlaylist:
youtube_playlist_create/list/get/update/delete,youtube_playlist_items,youtube_playlist_item_add/removeAnalytics:
youtube_analytics_video/channel/top_videos
Ràng buộc đã biết
Quota dùng chung: 1 OAuth app = 10.000 unit/ngày cho mọi client (upload=1.600/lần). Chạm trần thì xin Google nâng quota.
Upload file client-local luôn 2 bước (đẩy file → gọi tool).
Job upload lưu in-memory → mất khi restart container.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hoangvantuan/yt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server