Server facts
YouTube MCP Server
Project
- Author
- ZubeidHendricks
- License
- Not specified
- Category
- Search & Web Data
Tech
- Runtime / language
- node
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 585
- Last commit
- Data as of
Tags
- Creator Discovery
- Playlists
- Transcripts
- Video Search
- Youtube
Overview
YouTube MCP Server exposes ten tools for researching videos, channels, transcripts, and playlists. Video search accepts publication-date constraints and channel filters, while detailed video lookup can request selected resource parts. Channel research includes individual and bulk lookups, searches by handle or query, and a discovery workflow that finds creators through videos mentioning a topic. Subscriber bands, latest-upload activity, and creator-oriented heuristics help narrow those searches. Channel responses can also include normalized metadata and the latest video publication time. Playlist tools retrieve playlist information and its constituent videos.
Transcript retrieval accepts an optional language and otherwise uses a configured default or English. At least one YouTube Data API key is required. The README allows three configured keys and retries a quota-exhausted request with the next available key. Local MCP configuration uses either a globally installed command or npx with the zubeid-youtube-mcp-server package. The README also documents a Docker image that defaults to stateless HTTP, with separate MCP and readiness endpoints. Its build process copies a local environment file into the runtime image, meaning credentials present during the build can be included there. Source development uses npm dependency installation and build commands. The project states an MIT license. The documented tools are oriented toward retrieving and discovering content rather than uploading videos or managing a publishing workflow.
Install & configure
Requirements
- Node.js and npx
- At least one YouTube Data API key
- An MCP-compatible client
npx -y zubeid-youtube-mcp-serverUses the README's npx configuration, not the different package in the structured config hint. YOUTUBE_API_KEY2 and YOUTUBE_API_KEY3 are optional fallback keys. YOUTUBE_TRANSCRIPT_LANG optionally changes the default transcript language. Docker defaults to HTTP at http://localhost:8088/mcp.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"youtube-mcp-server": {
"command": "npx",
"args": [
"-y",
"zubeid-youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "<YouTube Data API key>"
}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"youtube-mcp-server": {
"command": "npx",
"args": [
"-y",
"zubeid-youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "<YouTube Data API key>"
}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"youtube-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"zubeid-youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "<YouTube Data API key>"
}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"youtube-mcp-server": {
"command": "npx",
"args": [
"-y",
"zubeid-youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "<YouTube Data API key>"
}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"youtube-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"zubeid-youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "<YouTube Data API key>"
}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| videos_getVideo | Retrieve video details, optionally selecting resource parts. |
| videos_searchVideos | Search videos using date, channel, subscriber, activity, and ordering filters. |
| transcripts_getTranscript | Retrieve a video's transcript in a requested or configured language. |
| channels_getChannel | Inspect a channel with latest-upload and normalized metadata fields. |
| channels_getChannels | Retrieve several channels, optionally including their latest upload dates. |
| channels_searchChannels | Find channels by handle, name, or query with subscriber and activity filters. |
| channels_findCreators | Discover creator channels from topic-matching videos using size and activity constraints. |
| channels_listVideos | List videos belonging to a specified channel. |
| playlists_getPlaylist | Inspect details for a selected playlist. |
| playlists_getPlaylistItems | Retrieve videos contained in a playlist. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Search videos within publication dates and channel constraints.
- Retrieve transcripts for assistant-led content review.
- Discover creator channels by topic, subscriber size, and recent activity.
- Inspect channel uploads and playlist contents.
Strengths
- Combines video, transcript, channel, and playlist research.
- Creator discovery includes size and activity filters.
- Supports multiple API keys with quota-triggered fallback.
- Offers both local stdio and Docker HTTP operation.
Limitations
- At least one YouTube Data API key is required.
- Creator-only filtering uses heuristics rather than a guaranteed classification.
- The Docker build can include credentials from its copied environment file.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.