Provides a full MCP server and CLI to automate YouTube workflows, enabling programmatic control of videos, channels, playlists, comments, and more.
Configuration
View docs{
"mcpServers": {
"eat-pray-ai-yutu": {
"command": "yutu",
"args": [
"mcp"
],
"env": {
"YUTU_CREDENTIAL": "/absolute/path/to/client_secret.json",
"YUTU_CACHE_TOKEN": "/absolute/path/to/youtube.token.json"
}
}
}
}You can run yutu as a fully functional MCP server and CLI to automate your YouTube workflows. It can manage videos, playlists, channels, captions, comments, and more, enabling chat-like interactions with YouTube resources through MCP clients.
You use an MCP client to connect to the yutu MCP server. Start the local server, then configure your MCP client to point at the yutu executable with the mcp command. The MCP client will communicate through standard input/output, letting you issue YouTube operations in a conversational style.
Prerequisites depend on your platform and preferred installation method. You need Go tooling or a prebuilt binary, plus a YouTube API credential file named client_secret.json and a YouTube token file named youtube.token.json for authentication.
# Optional: verify you have Go installed
go versionInstall using the Linux script, macOS Homebrew, Docker, Go, or Windows package managers as shown.
# Linux
curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
# macOS (Homebrew, recommended)
brew install yutu
# macOS or Linux script alternative
curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
# Docker (pull and run)
docker pull ghcr.io/eat-pray-ai/yutu:latest
docker run --rm ghcr.io/eat-pray-ai/yutu:latestWindows users can install via winget.
winget install yutuVerify installation integrity with attestations if you installed through a distribution method that supports them.
# Linux/macOS (shell script install)
gh attestation verify $(which yutu) --repo eat-pray-ai/yutu
# Windows
gh attestation verify $(where.exe yutu.exe) --repo eat-pray-ai/yutuTo run yutu as an MCP server locally, you connect via a standard input/output configuration. The server is started by invoking the yutu executable with the MCP subcommand in the proper environment.
{
"yutu": {
"type": "stdio",
"command": "yutu",
"args": [
"mcp"
],
"env": {
"YUTU_CREDENTIAL": "/absolute/path/to/client_secret.json",
"YUTU_CACHE_TOKEN": "/absolute/path/to/youtube.token.json"
}
}
}In MCP clients such as VS Code or Cursor, add this configuration to connect to the local server. Replace the paths with your actual credential and token file locations.
Once the MCP server is running, you can perform a wide range of YouTube actions via the MCP client’s chat-like interface. Available commands include activity, auth, caption, channel, playlist, video, comment, and many more. Use the help command in the MCP client to discover all supported actions and their arguments.
The server provides a broad set of tools to manipulate YouTube resources. Each tool corresponds to a specific resource or operation, such as listing activities, managing channels and playlists, updating video details, handling comments and captions, and retrieving information like video categories or i18n data.
Store your OAuth client secrets and tokens securely. Keep client_secret.json and youtube.token.json in a safe location and reference them via the MCP configuration. Do not share your credentials publicly.
Contributions are welcome. Follow standard practices to add new MCP capabilities, improve authentication flows, or enhance client integrations. Ensure code changes are accompanied by tests and update the MCP configuration if needed.
List YouTube activities for a channel or user.
Authenticate with YouTube API to obtain access tokens.
Manipulate YouTube captions for videos.
Manipulate YouTube channel details.
Insert or update the YouTube channel banner.
Manipulate YouTube channel sections.
Manipulate YouTube comments.
Manipulate YouTube comment threads.
Generate autocompletion script for the specified shell.
List YouTube i18n languages.
List YouTube i18n regions.
Start the MCP server to enable chat-like YouTube operations.
List channel members' information.
List memberships levels information.
Manipulate YouTube playlists.
Manipulate YouTube playlist images.
Manipulate YouTube playlist items.
Search YouTube resources.
Manipulate YouTube subscriptions.
List Super Chat events for a channel.
Set a video thumbnail.
Show the version of yutu.
Manipulate YouTube videos.
List YouTube video abuse report reasons.
List YouTube video categories.
Manipulate YouTube channel watermark.