- Home
- MCP servers
- Youtube
Youtube
- typescript
2
GitHub Stars
typescript
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"comzee-youtube-ultimate-toolkit-mcp": {
"command": "node",
"args": [
"/path/to/Youtube-Ultimate-Toolkit-MCP/dist/index.js"
],
"env": {
"OAUTH_CLIENT_ID": "youtube-mcp-client",
"YOUTUBE_API_KEY": "your-api-key-here",
"AUTH_PASSWORD_HASH": "$2b$12$...your-hash-here...",
"OAUTH_CLIENT_SECRET": "your-secret-here"
}
}
}
}You can run a powerful MCP server that integrates YouTube content into Claude workflows. It exposes transcripts, metadata, comments, screenshots, and audio clips, and works with both local Claude Desktop and Claude Web UI using secure remote access when needed.
How to use
Set up your MCP server locally or remotely, then connect it to your Claude client. You’ll access video data using the provided tools to fetch transcripts with optional timestamps and time ranges, search within transcripts, list playlist videos, read top comments, capture screenshots at specific timestamps, and extract short audio clips for analysis.
How to install
Prerequisites are installed on your system before you begin.
-
Install Node.js 18+
-
Install yt-dlp for YouTube content fetching
-
Install ffmpeg for screenshots and audio extraction (optional)
-
Optionally, prepare a YouTube API key for comments support
Clone the MCP repository and build the server
git clone https://github.com/Comzee/Youtube-Ultimate-Toolkit-MCP.git
cd Youtube-Ultimate-Toolkit-MCP
npm install
npm run build
Additional setup and configuration
Local (stdio) mode runs the MCP server directly on your machine. You’ll start it with node and point Claude to the compiled index file.
Remote (http) mode is configured through environment variables and an HTTPS proxy setup when you want Claude Web UI access. The remote setup includes OAuth credentials, a password-protected consent page, and optional YouTube API access for comments.
If you want the local stdio path to run from Claude Desktop, use the following example configuration.
{
"mcpServers": {
"youtube": {
"command": "node",
"args": ["/path/to/Youtube-Ultimate-Toolkit-MCP/dist/index.js"]
}
}
}
Prerequisites details
Node.js 18+ must be installed. Keep yt-dlp up to date to ensure transcripts and video data continue to fetch reliably. Install ffmpeg if you plan to use screenshots or audio extraction. Optionally, you can provide a YouTube API key to enable the get_comments tool.
Security and access
Remote access is secured with OAuth 2.1 and PKCE. The consent page is password-protected, and password hashes are stored using bcrypt. The system includes rate limiting and protections against common web vulnerabilities to keep your data and access safe.
Troubleshooting
If transcripts stop updating after changes on YouTube, update yt-dlp and try again. Common connection issues can involve HTTPS setup, service status checks, and log inspection.
If the OAuth flow isn’t starting, check that the HTTPS proxy and well-known endpoints respond correctly and that the authorization flow can reach the consent page.
Tools overview
The MCP exposes a set of tools to work with YouTube data: get_video for video metadata and transcripts with optional timestamps and search, get_playlist to list videos in a playlist, get_comments to fetch top comments (requires a YouTube API key), get_screenshot to capture frames, and get_audio to extract short audio clips for analysis.
Notes
The server uses in-memory sessions and temporary token storage. Restarting the server clears sessions, so plan for persistent deployment if you need long-running state.
Available tools
get_video
Fetches video metadata and transcript with optional timestamps, time ranges, and search term highlighting.
get_playlist
Lists all videos in a YouTube playlist.
get_comments
Fetches top comments for a video (requires a YouTube API key).
get_screenshot
Captures a video frame at a specified timestamp and returns a base64-encoded JPEG.
get_audio
Extracts a short audio clip for analysis and returns a base64-encoded MP3.