protogrid

Search / io.github.mcp-dir/youtube-mcp

YouTube

R0· no sign-in

Search, video, channel, playlist, comments, trending and related items from YouTube. Hosted by the p

v0.1.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality88good
Trust91of 100
Uptime, 30 days97%
Latency p50155 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "youtube-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_youtube"
    }
  }
}
claude mcp add --transport http youtube-mcp https://api.mcp.ai/p_youtube
[mcp_servers.youtube-mcp]
url = "https://api.mcp.ai/p_youtube"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "youtube-mcp": {
      "type": "remote",
      "url": "https://api.mcp.ai/p_youtube",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "youtube-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_youtube"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=youtube-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLm1jcC5haS9wX3lvdXR1YmUifQ%3D%3D"
}
{
  "servers": {
    "youtube-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_youtube"
    }
  }
}
{
  "mcpServers": {
    "youtube-mcp": {
      "httpUrl": "https://api.mcp.ai/p_youtube"
    }
  }
}
extensions:
  "youtube-mcp":
    enabled: true
    name: "youtube-mcp"
    type: streamable_http
    uri: "https://api.mcp.ai/p_youtube"
    timeout: 300

Quality 88 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations35 of 35 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 5,099 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

35 tools, about 5,099 tokens to load them all · tool set 68ee5e9a453e · checked 2026-10-20 11:08 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 91 / 100

provenance80
liveness99
freshness85
hygiene100

+repository +namespace-matches-repo +reachable +uptime-97% ~updated-60d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.mcp.ai/p_youtube streamable-httpnoneyes97%155 ms2025-11-252026-10-20

Tools (35)

authenticateMCP.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.
connectread-onlyReturns 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.
marketplaceThe 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.
report_bugReport a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.
show_versionread-onlyShow the current MCP platform and adapter versions.
toolkit_inforead-onlyReturns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.
youtube_apiread-onlyEscape 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.
youtube_channel_aboutread-onlyChannel description, links, country, subscriber count, banner. Bulk support: accepts ids for batched execution.
youtube_channel_communityread-onlyCommunity posts tab for a channel. Bulk support: accepts ids for batched execution.
youtube_channel_featuredread-onlyFeatured 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.
youtube_channel_homeread-onlyChannel home page payload (featured shelves + meta). Bulk support: accepts ids for batched execution.
youtube_channel_playlistsread-onlyChannel playlists tab. Bulk support: accepts ids for batched execution.
youtube_channel_searchread-onlySearch a channel's own videos and playlists. Bulk support: accepts ids for batched execution.
youtube_channel_shortsread-onlyChannel shorts tab. Bulk support: accepts ids for batched execution.
youtube_channel_shorts_postread-onlyPOST 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.
youtube_channel_storeread-onlyStore / merch shelf for a channel. Bulk support: accepts ids for batched execution.
youtube_channel_videosread-onlyChannel videos tab. Bulk support: accepts ids for batched execution.
youtube_channel_videos_postread-onlyPOST 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.
youtube_comment_deleteApaga 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.
youtube_comment_moderateModera 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.
youtube_comment_postPublica 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.
youtube_comment_replyResponde 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.
youtube_commentsread-onlyTop-level comments thread for a video. Bulk support: accepts ids for batched execution.
youtube_comment_threadsread-onlyComentá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.
youtube_comment_updateEdita 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.
youtube_downloadread-onlyStream/download metadata for a video (formats, audio/video URLs, status). Bulk support: accepts ids for batched execution.
youtube_hashtagread-onlyPosts under a hashtag (without leading #).
youtube_home_feedread-onlyYouTube home feed (anonymous, geo/lang aware).
youtube_hyperead-onlyYouTube Hype: viral / hyped videos feed.
youtube_my_channelsread-onlyLista 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.
youtube_playlistread-onlyPlaylist items by playlist id. Bulk support: accepts ids for batched execution.
youtube_resolve_urlread-onlyResolve a YouTube URL or share link to its videoId / pageType.
youtube_searchread-onlySearch videos, channels, playlists.
youtube_trendingread-onlyTrending videos by region.
youtube_video_relatedread-onlyRelated videos for a given video id. Bulk support: accepts ids for batched execution.

Schemas: list_tools.

Similar MCP servers

More from io.github.mcp-dir

And 1,107 more from this publisher.

Official server.json
{
  "name": "io.github.mcp-dir/youtube-mcp",
  "title": "YouTube",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.mcp.ai/p_youtube",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "repository": {
    "url": "https://github.com/mcp-dir/youtube-mcp",
    "source": "github"
  },
  "description": "Search, video, channel, playlist, comments, trending and related items from YouTube. Hosted by the p"
}