YouTube

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

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
88%
Integridad del esquema
71%
Calidad de los nombres
81%
Riesgo de envenenamiento
100%
Coincidencia de permisos
90%
Cumplimiento del protocolo
100%

Hallazgos (6)

  • LOWTool 'youtube_home_feed' description lacks action verben youtube_home_feed
  • LOWTool 'youtube_trending' description lacks action verben youtube_trending
  • LOWTool 'youtube_hype' description lacks action verben youtube_hype
  • LOWTool 'youtube_hashtag' description lacks action verben youtube_hashtag
  • LOWTool 'connect' description lacks action verben connect
  • LOWTool 'youtube_resolve_url' suggests web access but openWorldHint=falseen youtube_resolve_url

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~5,395Tokens (definiciones de herramientas)
~759 BTamaño de respuesta típico
Impacto significativo en la atención (4.21% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "youtube-mcp": {
      "url": "https://api.mcp.ai/p_youtube"
    }
  }
}

Puntos de conexión remotos

https://api.mcp.ai/p_youtubestreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (35)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢youtube_home_feed(geo, lang, token)

YouTube home feed (anonymous, geo/lang aware).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "geo": {
      "type": "string"
    },
    "lang": {
      "type": "string"
    },
    "token": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_trending(geo, type, lang)

Trending videos by region.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "geo": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "lang": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_search(query, type, sort_by, duration, upload_date, ...)

Search videos, channels, playlists.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "sort_by": {
      "type": "string"
    },
    "duration": {
      "type": "string"
    },
    "upload_date": {
      "type": "string"
    },
    "geo": {
      "type": "string"
    },
    "lang": {
      "type": "string"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_resolve_url(url)

Resolve a YouTube URL or share link to its videoId / pageType.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_download(id, cgeo, ids)

Stream/download metadata for a video (formats, audio/video URLs, status). Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "cgeo": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_hype(geo, lang, token)

YouTube Hype: viral / hyped videos feed.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "geo": {
      "type": "string"
    },
    "lang": {
      "type": "string"
    },
    "token": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_hashtag(tag, type, token)

Posts under a hashtag (without leading #).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "tag": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "tag"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_playlist(id, token, ids)

Playlist items by playlist id. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_comments(id, sort_by, token, ids)

Top-level comments thread for a video. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "sort_by": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_video_related(id, token, ids)

Related videos for a given video id. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_home(id, forUsername, token, ids)

Channel home page payload (featured shelves + meta). Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_about(id, forUsername, ids)

Channel description, links, country, subscriber count, banner. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_videos(id, forUsername, sort_by, token, ids)

Channel videos tab. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "sort_by": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_shorts(id, forUsername, token, ids)

Channel shorts tab. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_playlists(id, forUsername, sort_by, token, ids)

Channel playlists tab. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "sort_by": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_community(id, forUsername, token, ids)

Community posts tab for a channel. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_featured(id, forUsername, token, ids)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_store(id, forUsername, ids)

Store / merch shelf for a channel. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_search(id, forUsername, query, token, ids)

Search a channel's own videos and playlists. Bulk support: accepts ids for batched execution.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "query": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_videos_post(id, forUsername, params, token, ids)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "params": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "params"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_channel_shorts_post(id, forUsername, params, token, ids)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "forUsername": {
      "type": "string"
    },
    "params": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "params"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_api(path, method, query, body)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET",
        "HEAD",
        "POST",
        "PUT",
        "PATCH",
        "DELETE"
      ]
    },
    "query": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      }
    },
    "body": {}
  },
  "required": [
    "path"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_my_channels(account)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "account": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢youtube_comment_threads(video_id, channel_id, order, moderation_status, search_terms, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "video_id": {
      "type": "string"
    },
    "channel_id": {
      "type": "string"
    },
    "order": {
      "type": "string",
      "enum": [
        "time",
        "relevance"
      ]
    },
    "moderation_status": {
      "type": "string",
      "enum": [
        "heldForReview",
        "likelySpam",
        "published"
      ]
    },
    "search_terms": {
      "type": "string"
    },
    "max_results": {
      "type": "number"
    },
    "page_token": {
      "type": "string"
    },
    "account": {
      "type": "string"
    },
    "video_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "channel_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪youtube_comment_reply(replies, account)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "replies": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "parent_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "parent_id",
          "text"
        ]
      }
    },
    "account": {
      "type": "string"
    }
  },
  "required": [
    "replies"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡youtube_comment_post(video_id, text, account, video_ids)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "video_id": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "account": {
      "type": "string"
    },
    "video_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "video_id",
    "text"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡youtube_comment_update(comment_id, text, account, comment_ids)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "comment_id": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "account": {
      "type": "string"
    },
    "comment_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "comment_id",
    "text"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪youtube_comment_moderate(comment_ids, status, ban_author, account)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "comment_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "status": {
      "type": "string",
      "enum": [
        "published",
        "heldForReview",
        "rejected"
      ]
    },
    "ban_author": {
      "type": "boolean"
    },
    "account": {
      "type": "string"
    }
  },
  "required": [
    "comment_ids",
    "status"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴youtube_comment_delete(comment_id, account, comment_ids)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "comment_id": {
      "type": "string"
    },
    "account": {
      "type": "string"
    },
    "comment_ids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "comment_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢show_version

Show the current MCP platform and adapter versions.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡report_bug(message, context, conversation)

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    },
    "context": {
      "default": "",
      "type": "string"
    },
    "conversation": {
      "default": "[]",
      "type": "string"
    }
  },
  "required": [
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡marketplace(action, query, mcp_id, limit, tier_slug, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "action": {
      "default": "search",
      "type": "string",
      "enum": [
        "search",
        "describe",
        "install",
        "uninstall",
        "subscribe",
        "cancel",
        "resume",
        "report_bug",
        "request_mcp",
        "list_tools",
        "invoke",
        "search_prompts",
        "get_prompt",
        "publish_prompt"
      ]
    },
    "query": {
      "default": "",
      "type": "string"
    },
    "mcp_id": {
      "default": "",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "number"
    },
    "tier_slug": {
      "default": "",
      "type": "string"
    },
    "immediate": {
      "default": false,
      "type": "boolean"
    },
    "cancel_reason": {
      "type": "string",
      "enum": [
        "too_expensive",
        "missing_features",
        "switched_service",
        "unused",
        "customer_service",
        "too_complex",
        "low_quality",
        "other"
      ]
    },
    "cancel_comment": {
      "default": "",
      "type": "string"
    },
    "message": {
      "default": "",
      "type": "string"
    },
    "report_context": {
      "default": "",
      "type": "string"
    },
    "conversation": {
      "default": "[]",
      "type": "string"
    },
    "request_name": {
      "default": "",
      "type": "string"
    },
    "request_details": {
      "default": "",
      "type": "string"
    },
    "tool_id": {
      "default": "",
      "type": "string"
    },
    "arguments": {
      "default": "{}",
      "type": "string"
    },
    "prompt_slug": {
      "default": "",
      "type": "string"
    },
    "prompt_vars": {
      "default": "{}",
      "type": "string"
    },
    "prompt_category": {
      "default": "",
      "type": "string"
    },
    "prompt_tool": {
      "default": "",
      "type": "string"
    },
    "prompt_title": {
      "default": "",
      "type": "string"
    },
    "prompt_description": {
      "default": "",
      "type": "string"
    },
    "prompt_body": {
      "default": "",
      "type": "string"
    },
    "prompt_targets": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "claude",
          "chatgpt",
          "cursor",
          "lovable"
        ]
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡authenticate(token)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada35 herramientas
verificadoversión no registrada35 herramientas