# YouTube MCP Server

> **YouTube MCP Server** is a hosted, multitenant Model Context Protocol (MCP) server run by **MewCP** (https://mewcp.com), giving AI agents managed access to YouTube.
>
> MewCP takes care of all MCP infrastructure for you — credential storage, OAuth flows,
> token refresh, and production-grade auto-scaling — so your AI agents can connect to
> third-party services and run freely without you managing any MCP server yourself.
>
> Server page:  https://mewcp.com/mcp/youtube
> MewCP docs:   https://docs.mewcp.com
> All servers:  https://mewcp.com/servers (JSON: https://mewcp.com/api/servers)
> About MewCP:  https://mewcp.com/llms.txt

---

## About

Manage YouTube content including videos, channels, playlists and creator operations. Search content, organize media, publish updates and interact with YouTube resources programmatically.

---

## Details

- Server ID: `youtube`
- Version: 1.0.0
- Tools: 16
- Authentication: OAuth, managed by MewCP
- Calls served: 1193
- Transport: http

---

## Access

The gateway URL below serves your **entire MewCP toolset**, not this server on its
own. Pasting a config snippet is not enough — YouTube has to be in the toolset
first. In order:

1. Add YouTube to your toolset at https://mewcp.com/mcp/youtube
2. Connect your YouTube account (OAuth); MewCP stores the credential and attaches it to each call
3. Add the gateway URL to your client (see Connect below). It signs in with OAuth
   the first time it connects, so there is no key to copy.

Once connected, an agent does **not** see this server's tools as top-level tools.
It sees four meta-tools and reaches everything through them:

- `search(query)` — find tools by keyword across the toolset
- `get_schema(tools)` — full description and arguments for the tools you picked
- `list_accounts(provider)` — only when one app has several connected accounts
- `call_tool(server_maskedId, tool_name, args)` — execute

So the list below is what `search` can return for this server, not a set of
callable tool names on their own.

---

## Tools (16)

Descriptions are truncated to 160 characters; call `get_schema`
for the full text and the argument schema. Where a tool is annotated, its type
is shown — treat `destructive` as irreversible.

- `get_my_channel` _(read)_ — Get information about the authenticated user's YouTube channel. Returns snippet, contentDetails, and statistics for the channel.
- `get_my_playlists` _(read)_ — Get playlists from the authenticated user's channel. Returns snippet and contentDetails for each playlist.
- `get_my_subscriptions` _(read)_ — Get the authenticated user's channel subscriptions. Returns snippet and contentDetails for each subscription.
- `get_my_activities` _(read)_ — Get recent activities on the authenticated user's channel. Returns snippet and contentDetails for each activity.
- `subscribe_to_channel` _(write)_ — Subscribe to a YouTube channel. Returns the created subscription resource including snippet details.
- `search_videos` _(read)_ — Search for videos on YouTube.
- `get_video_details` _(read)_ — Get detailed information about a specific video by ID.
- `get_channel_videos` _(read)_ — Get videos from a specific channel.
- `get_video_comments` _(read)_ — Get comments for a specific video.
- `post_comment` _(write)_ — Post a comment on a video.
- `rate_video` _(write)_ — Rate a video (like or dislike).
- `get_playlist_items` _(read)_ — Get videos from a specific playlist.
- `create_playlist` _(write)_ — Create a new playlist on the authenticated user's channel.
- `add_video_to_playlist` _(write)_ — Add a video to a playlist.
- `get_video_transcript` _(read)_ — Fetch the transcript (captions) for a YouTube video as plain text and individual timed segments. Uses auto-generated or manually created captions. Specify…
- `list_video_transcripts` _(read)_ — List all available transcript tracks for a YouTube video, including language, language code, whether the track is auto-generated, and whether it can be…

---

## Connect

- URL: https://gateway.mewcp.com/personal/mcp
- Transport: Streamable HTTP (remote). Nothing to install.
- Sign-in: OAuth. On first connect the client opens a browser window to sign in
  to MewCP and approve access. No API key.
- Headless clients (SDKs, servers without a browser) send an API key instead:
  `Authorization: Bearer <API_KEY>`, key from https://mewcp.com/dashboard/api-keys

Agents setting themselves up: follow https://mewcp.com/SKILL.md

Step-by-step guide per client:

- Claude Desktop: https://mewcp.com/mcp/youtube/connect/claude
- ChatGPT: https://mewcp.com/mcp/youtube/connect/chatgpt
- VS Code: https://mewcp.com/mcp/youtube/connect/vscode
- Cursor: https://mewcp.com/mcp/youtube/connect/cursor
- Codex: https://mewcp.com/mcp/youtube/connect/codex
- Claude Code: https://mewcp.com/mcp/youtube/connect/claude-code
- OpenCode: https://mewcp.com/mcp/youtube/connect/opencode
- OpenClaw: https://mewcp.com/mcp/youtube/connect/openclaw
- Antigravity: https://mewcp.com/mcp/youtube/connect/antigravity
- Hermes: https://mewcp.com/mcp/youtube/connect/hermes
- DeepSeek Harness: https://mewcp.com/mcp/youtube/connect/dsh
- Python: https://mewcp.com/mcp/youtube/connect/python
- TypeScript: https://mewcp.com/mcp/youtube/connect/typescript