MCP 서버

YouTube

io.github.mcp-dir/youtube-mcp

이 MCP로 할 수 있는 일

Searches and retrieves YouTube videos, channels, playlists, comments, feeds, trends, and related media, with tools for channel comment management.

authenticate
MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.
멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'token': {'type': 'string'}}}
connect
Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
marketplace
The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.
외부 접근 가능
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number', 'default': 10}, 'query': {'type': 'string', 'default': ''}, 'action': {'enum': ['search', 'describe', 'install', 'uninstall', 'subscribe', 'cancel', 'resume', 'report_bug', 'request_mcp', 'list_tools', 'invoke', 'search_prompts', 'get_prompt', 'publish_prompt'], 'type': 'string', 'default': 'search'}, 'mcp_id': {'type': 'string', 'default': ''}, 'message': {'type': 'string', 'default': ''}, 'tool_id': {'type': 'string', 'default': ''}, 'arguments': {'type': 'string', 'default': '{}'}, 'immediate': {'type': 'boolean', 'default': False}, 'tier_slug': {'type': 'string', 'default': ''}, 'prompt_body': {'type': 'string', 'default': ''}, 'prompt_slug': {'type': 'string', 'default': ''}, 'prompt_tool': {'type': 'string', 'default': ''}, 'prompt_vars': {'type': 'string', 'default': '{}'}, 'conversation': {'type': 'string', 'default': '[]'}, 'prompt_title': {'type': 'string', 'default': ''}, 'request_name': {'type': 'string', 'default': ''}, 'cancel_reason': {'enum': ['too_expensive', 'missing_features', 'switched_service', 'unused', 'customer_service', 'too_complex', 'low_quality', 'other'], 'type': 'string'}, 'cancel_comment': {'type': 'string', 'default': ''}, 'prompt_targets': {'type': 'array', 'items': {'enum': ['claude', 'chatgpt', 'cursor', 'lovable'], 'type': 'string'}, 'default': []}, 'report_context': {'type': 'string', 'default': ''}, 'prompt_category': {'type': 'string', 'default': ''}, 'request_details': {'type': 'string', 'default': ''}, 'prompt_description': {'type': 'string', 'default': ''}}}
report_bug
Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['message'], 'properties': {'context': {'type': 'string', 'default': ''}, 'message': {'type': 'string'}, 'conversation': {'type': 'string', 'default': '[]'}}}
show_version
Show the current MCP platform and adapter versions.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
toolkit_info
Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
youtube_api
Escape hatch: call any path on the YouTube backend. Pass path (e.g. /search), optional method (default GET), query map, and JSON body for POST. Prefer the named youtube_* tools when available; this is for routes not in the manifest.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['path'], 'properties': {'body': {}, 'path': {'type': 'string'}, 'query': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'boolean'}]}}, 'method': {'enum': ['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE'], 'type': 'string'}}}
youtube_channel_about
Channel description, links, country, subscriber count, banner. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'forUsername': {'type': 'string'}}}
youtube_channel_community
Community posts tab for a channel. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_channel_featured
Featured channels listed on a channel. Note: YouTube deprecated the featured-channels tab; this route exists upstream but typically returns an empty/error envelope. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_channel_home
Channel home page payload (featured shelves + meta). Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_channel_playlists
Channel playlists tab. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'sort_by': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_channel_search
Search a channel's own videos and playlists. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'query': {'type': 'string'}, 'token': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_channel_shorts
Channel shorts tab. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_channel_shorts_post
POST variant of channel shorts. Requires a `params` continuation token from a prior GET response. Skip in daily smoke (no synthetic params). Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['params'], 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'params': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_channel_store
Store / merch shelf for a channel. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'forUsername': {'type': 'string'}}}
youtube_channel_videos
Channel videos tab. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'sort_by': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_channel_videos_post
POST variant of channel videos. Requires a `params` continuation token captured from a prior GET response — used to fetch deeper pages or filtered shelves that the GET surface can't address. Skip in daily smoke (no synthetic params). Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['params'], 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'params': {'type': 'string'}, 'forUsername': {'type': 'string'}}}
youtube_comment_delete
Apaga DEFINITIVAMENTE um comentário (não tem desfazer). Só funciona em comentário do próprio canal ou em vídeo do canal conectado. Para esconder sem apagar, prefira youtube_comment_moderate com `rejected`. Custa 50 unidades da cota. Bulk support: accepts comment_ids for batched execution.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['comment_id'], 'properties': {'account': {'type': 'string'}, 'comment_id': {'type': 'string'}, 'comment_ids': {'type': 'array', 'items': {'type': 'string'}}}}
youtube_comment_moderate
Modera comentários no canal conectado: publica (`published`), segura para revisão (`heldForReview`) ou rejeita (`rejected`). `ban_author` só é aceito junto de `rejected`. Vale apenas para comentários em vídeos do próprio canal. Custa 50 unidades por comentário.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['comment_ids', 'status'], 'properties': {'status': {'enum': ['published', 'heldForReview', 'rejected'], 'type': 'string'}, 'account': {'type': 'string'}, 'ban_author': {'type': 'boolean'}, 'comment_ids': {'type': 'array', 'items': {'type': 'string'}}}}
youtube_comment_post
Publica um comentário NOVO de topo em um vídeo, como o canal conectado. Para responder alguém, use youtube_comment_reply. Custa 50 unidades da cota. Bulk support: accepts video_ids for batched execution.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['video_id', 'text'], 'properties': {'text': {'type': 'string'}, 'account': {'type': 'string'}, 'video_id': {'type': 'string'}, 'video_ids': {'type': 'array', 'items': {'type': 'string'}}}}
youtube_comment_reply
Responde comentários como o canal conectado. Aceita VÁRIAS respostas numa chamada (`replies`), e um item que falha não derruba os outros. `parent_id` tem que ser o id de um comentário de TOPO (campo `id` do thread devolvido por youtube_comment_threads), nunca o id de uma resposta. Cada resposta consome 50 unidades da cota da API do YouTube, então responda o que importa em vez de varrer o canal.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['replies'], 'properties': {'account': {'type': 'string'}, 'replies': {'type': 'array', 'items': {'type': 'object', 'required': ['parent_id', 'text'], 'properties': {'text': {'type': 'string'}, 'parent_id': {'type': 'string'}}}}}}
youtube_comments
Top-level comments thread for a video. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}, 'sort_by': {'type': 'string'}}}
youtube_comment_threads
Comentários de TOPO pela API oficial, com as respostas já existentes. É daqui que sai o `parent_id` usado em youtube_comment_reply (o id do thread), então prefira esta tool a youtube_comments quando a intenção for responder. Sem `video_id`, traz os comentários do canal conectado inteiro (bom para 'o que ainda não respondi'). Custa 1 unidade da cota. Bulk support: accepts video_ids, channel_ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'order': {'enum': ['time', 'relevance'], 'type': 'string'}, 'account': {'type': 'string'}, 'video_id': {'type': 'string'}, 'video_ids': {'type': 'array', 'items': {'type': 'string'}}, 'channel_id': {'type': 'string'}, 'page_token': {'type': 'string'}, 'channel_ids': {'type': 'array', 'items': {'type': 'string'}}, 'max_results': {'type': 'number'}, 'search_terms': {'type': 'string'}, 'moderation_status': {'enum': ['heldForReview', 'likelySpam', 'published'], 'type': 'string'}}}
youtube_comment_update
Edita o texto de um comentário ou resposta PUBLICADO pelo canal conectado (corrigir um erro sem apagar e repostar, o que perderia as curtidas e o encadeamento). Só funciona em comentário de autoria do próprio canal. Custa 50 unidades da cota. Bulk support: accepts comment_ids for batched execution.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['comment_id', 'text'], 'properties': {'text': {'type': 'string'}, 'account': {'type': 'string'}, 'comment_id': {'type': 'string'}, 'comment_ids': {'type': 'array', 'items': {'type': 'string'}}}}
youtube_download
Stream/download metadata for a video (formats, audio/video URLs, status). Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'cgeo': {'type': 'string'}}}
youtube_hashtag
Posts under a hashtag (without leading #).
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['tag'], 'properties': {'tag': {'type': 'string'}, 'type': {'type': 'string'}, 'token': {'type': 'string'}}}
youtube_home_feed
YouTube home feed (anonymous, geo/lang aware).
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'geo': {'type': 'string'}, 'lang': {'type': 'string'}, 'token': {'type': 'string'}}}
youtube_hype
YouTube Hype: viral / hyped videos feed.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'geo': {'type': 'string'}, 'lang': {'type': 'string'}, 'token': {'type': 'string'}}}
youtube_my_channels
Lista os canais do YouTube conectados (os que podem responder e moderar comentários), com id, nome e estatísticas. Use antes de responder para confirmar de qual canal a resposta vai sair. Custa 1 unidade da cota.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'account': {'type': 'string'}}}
youtube_playlist
Playlist items by playlist id. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}}}
youtube_resolve_url
Resolve a YouTube URL or share link to its videoId / pageType.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string'}}}
youtube_search
Search videos, channels, playlists.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'geo': {'type': 'string'}, 'lang': {'type': 'string'}, 'type': {'type': 'string'}, 'query': {'type': 'string'}, 'token': {'type': 'string'}, 'sort_by': {'type': 'string'}, 'duration': {'type': 'string'}, 'upload_date': {'type': 'string'}}}
youtube_trending
Trending videos by region.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'geo': {'type': 'string'}, 'lang': {'type': 'string'}, 'type': {'type': 'string'}}}
youtube_video_related
Related videos for a given video id. Bulk support: accepts ids for batched execution.
읽기 전용 멱등성
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string'}, 'ids': {'type': 'array', 'items': {'type': 'string'}}, 'token': {'type': 'string'}}}
추가됨
authenticate
2026년 9월 17일 12:45 PM
추가됨
marketplace
2026년 9월 17일 12:45 PM
추가됨
toolkit_info
2026년 9월 17일 12:45 PM
추가됨
connect
2026년 9월 17일 12:45 PM
추가됨
report_bug
2026년 9월 17일 12:45 PM
추가됨
show_version
2026년 9월 17일 12:45 PM
추가됨
youtube_comment_delete
2026년 9월 17일 12:45 PM
추가됨
youtube_comment_moderate
2026년 9월 17일 12:45 PM
추가됨
youtube_comment_update
2026년 9월 17일 12:45 PM
추가됨
youtube_comment_post
2026년 9월 17일 12:45 PM
추가됨
youtube_comment_reply
2026년 9월 17일 12:45 PM
추가됨
youtube_comment_threads
2026년 9월 17일 12:45 PM
추가됨
youtube_my_channels
2026년 9월 17일 12:45 PM
추가됨
youtube_api
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_shorts_post
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_videos_post
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_search
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_store
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_featured
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_community
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_playlists
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_shorts
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_videos
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_about
2026년 9월 17일 12:45 PM
추가됨
youtube_channel_home
2026년 9월 17일 12:45 PM
추가됨
youtube_video_related
2026년 9월 17일 12:45 PM
추가됨
youtube_comments
2026년 9월 17일 12:45 PM
추가됨
youtube_playlist
2026년 9월 17일 12:45 PM
추가됨
youtube_hashtag
2026년 9월 17일 12:45 PM
추가됨
youtube_hype
2026년 9월 17일 12:45 PM