Skip to content
Conduit

mcp server

axiomworks-youtube-mcp

The definitive YouTube + YouTube Music MCP server — 68 tools for search, playlists, comments, analytics, live streaming, and full YouTube Music library management.

axiom-works-ai/axiomworks-youtube-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "axiomworks-youtube-mcp": {
      "command": "uvx",
      "args": [
        "axiomworks-youtube-mcp"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 26, 2026

Axiom Works YouTube + YouTube Music MCP Server

The definitive MCP server for YouTube and YouTube Music. 68 tools across search, playlists, comments, analytics, live streaming, and full YouTube Music library management.

No other YouTube MCP server covers analytics, live streaming, comments (write), video uploads, or YouTube Music. This one covers all of them.

License Python CI MCP Tools

Quick Start

# Install
pip install axiomworks-youtube-mcp

# Or run directly with uvx (zero install)
uvx axiomworks-youtube-mcp run

Add to Claude Code

{
  "mcpServers": {
    "youtube": {
      "command": "uvx",
      "args": ["axiomworks-youtube-mcp", "run"]
    }
  }
}

Add to Claude Desktop

{
  "mcpServers": {
    "youtube": {
      "command": "uvx",
      "args": ["axiomworks-youtube-mcp", "run"]
    }
  }
}

Setup

The server works immediately with zero configuration (Tier 0). Add credentials to unlock more features:

axiomworks-youtube-mcp setup
TierSetup TimeWhat You Get
Tier 0 — Zero config0 secondsTranscripts (via yt-dlp), YouTube Music search/browse/charts/moods
Tier 1 — API key30 seconds+ YouTube search, video details, comments (read), trending, channels, playlists (read)
Tier 2 — OAuth2 minutes+ Everything: likes, comments (write), uploads, analytics, live streaming, YouTube Music library/playlists/history

Getting an API Key (Tier 1)

  1. Go to Google Cloud Console
  2. Create a project (or use an existing one)
  3. Enable YouTube Data API v3
  4. Create an API key
  5. Run axiomworks-youtube-mcp setup and paste the key

Setting Up OAuth (Tier 2)

YouTube OAuth (likes, comments, uploads, analytics):

  1. In Google Cloud Console, create OAuth 2.0 Client ID (Desktop application)
  2. Configure the OAuth consent screen (External, Testing mode, add your email as test user)
  3. Download the client secrets JSON file
  4. Place it at ~/.config/axiomworks-youtube-mcp/client_secrets.json
  5. Run axiomworks-youtube-mcp setup and follow the OAuth flow

YouTube Music (library, history, playlists):

YouTube Music library access requires browser cookie authentication due to limitations in Google's internal API. Two options:

Option A: Interactive setup (recommended)

  1. Run axiomworks-youtube-mcp setup and select "Yes" for Step 3
  2. Follow the prompts to paste request headers from Chrome DevTools

Option B: Manual setup

  1. Open https://music.youtube.com in Chrome while logged in
  2. Open DevTools (F12) → Network tab → click any request to music.youtube.com
  3. Right-click the request → Copy → Copy request headers
  4. Run ytmusicapi setup and paste the headers when prompted
  5. Move the output file to ~/.config/axiomworks-youtube-mcp/ytmusic-browser.json

Note: Browser cookies expire periodically. If YouTube Music library calls stop working, re-run the setup to refresh cookies.

Tools (68 total)

YouTube Search & Discovery (3 tools)

ToolDescriptionAuth
youtube_searchSearch for videos, channels, or playlistsAPI key
youtube_trendingGet trending videos by region/categoryAPI key
youtube_categoriesList available video categoriesAPI key

Video Operations (8 tools)

ToolDescriptionAuth
youtube_video_detailsGet metadata for one or more videosAPI key
youtube_video_transcriptGet captions/transcript (via yt-dlp)None
youtube_video_rateLike, dislike, or remove ratingOAuth
youtube_video_get_ratingGet your rating on videosOAuth
youtube_video_uploadUpload a video to YouTubeOAuth
youtube_video_updateUpdate video metadataOAuth
youtube_video_deleteDelete a videoOAuth
youtube_thumbnail_setUpload custom thumbnailOAuth

Channel Operations (6 tools)

ToolDescriptionAuth
youtube_channel_detailsGet channel info and statsAPI key
youtube_channel_videosList videos from a channelAPI key
youtube_channel_sectionsGet channel page sectionsAPI key
youtube_subscriptions_listList your subscriptionsOAuth
youtube_subscribeSubscribe to a channelOAuth
youtube_unsubscribeUnsubscribe from a channelOAuth

Playlist Operations (7 tools)

ToolDescriptionAuth
youtube_playlist_detailsGet playlist metadata and itemsAPI key
youtube_playlist_createCreate a new playlistOAuth
youtube_playlist_updateUpdate playlist metadataOAuth
youtube_playlist_deleteDelete a playlistOAuth
youtube_playlist_add_videoAdd a video to a playlistOAuth
youtube_playlist_remove_videoRemove a video from a playlistOAuth
youtube_my_playlistsList your playlistsOAuth

Comments (7 tools)

ToolDescriptionAuth
youtube_comments_listGet comments on a videoAPI key
youtube_comment_repliesGet replies to a commentAPI key
youtube_comment_postPost a comment on a videoOAuth
youtube_comment_replyReply to a commentOAuth
youtube_comment_updateEdit a commentOAuth
youtube_comment_deleteDelete a commentOAuth
youtube_comment_moderateSet moderation statusOAuth

Analytics (5 tools)

ToolDescriptionAuth
youtube_analytics_queryFlexible analytics with dimensions/metricsOAuth
youtube_analytics_videoPerformance metrics for a specific videoOAuth
youtube_analytics_top_videosTop-performing videos by metricOAuth
youtube_analytics_demographicsAudience age, gender, geographyOAuth
youtube_analytics_revenueRevenue and monetization metricsOAuth

Live Streaming (3 tools)

ToolDescriptionAuth
youtube_live_broadcastsList live broadcastsOAuth
youtube_live_chat_messagesRead live chat messagesOAuth
youtube_live_chat_sendSend a message to live chatOAuth

YouTube Music — Search & Browse (11 tools)

ToolDescriptionAuth
ytmusic_searchSearch songs, albums, artists, playlistsNone
ytmusic_get_artistArtist page: bio, top songs, albumsNone
ytmusic_get_albumAlbum details and track listingNone
ytmusic_get_songFull song metadataNone
ytmusic_get_lyricsSong lyricsNone
ytmusic_get_watch_playlistRadio/up-next queue for a songNone
ytmusic_homePersonalized recommendationsOAuth
ytmusic_chartsMusic charts by countryNone
ytmusic_moodsBrowse mood/genre categoriesNone
ytmusic_mood_playlistsPlaylists for a mood/genreNone
ytmusic_new_releasesNew music releasesNone

YouTube Music — Library (9 tools)

ToolDescriptionAuth
ytmusic_library_playlistsYour music playlistsOAuth
ytmusic_library_songsYour saved songsOAuth
ytmusic_library_albumsYour saved albumsOAuth
ytmusic_library_artistsYour followed artistsOAuth
ytmusic_liked_songsYour liked songsOAuth
ytmusic_historyListening historyOAuth
ytmusic_rate_songLike/dislike a songOAuth
ytmusic_subscribe_artistFollow an artistOAuth
ytmusic_unsubscribe_artistUnfollow an artistOAuth

YouTube Music — Playlists (6 tools)

ToolDescriptionAuth
ytmusic_playlist_detailsGet playlist tracks and metadataNone/OAuth
ytmusic_playlist_createCreate a playlistOAuth
ytmusic_playlist_editEdit playlist metadataOAuth
ytmusic_playlist_deleteDelete a playlistOAuth
ytmusic_playlist_add_itemsAdd songs to a playlistOAuth
ytmusic_playlist_remove_itemsRemove songs from a playlistOAuth

YouTube Music — Podcasts (3 tools)

ToolDescriptionAuth
ytmusic_get_podcastPodcast details and episodesNone
ytmusic_get_episodeEpisode detailsNone
ytmusic_get_channelPodcast channel pageNone

Quota Management

The YouTube Data API has a 10,000 units/day quota. This server includes built-in quota tracking:

OperationCostDaily Limit
Search100 units~100 searches
Read (details, comments, etc.)1 unit~10,000 reads
Write (comment, like, playlist edit)50 units~200 writes
Video upload1,600 units~6 uploads
  • Warnings at 80% usage (8,000 units)
  • Errors at 100% to prevent failed API calls
  • Quota resets daily at midnight Pacific Time
  • YouTube Music tools use a separate internal API and are not subject to this quota

Response Caching

Repeated queries are served from a local SQLite cache to reduce quota usage:

CategoryCache Duration
Search results5 minutes
Video details15 minutes
Channel info1 hour
Trending30 minutes
Comments5 minutes
Analytics1 hour
Music browse30 minutes
Music library5 minutes

API Gaps

Some YouTube features are not available through any official API. See API_GAPS.md for a comprehensive list of limitations and our recommendations to YouTube for improvement.

Key gaps: no watch history API, no YouTube Shorts-specific endpoints, no YouTube Music official API, no playback control.

Development

# Clone
git clone https://github.com/axiomworks-ai/axiomworks-youtube-mcp.git
cd axiomworks-youtube-mcp

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

# Lint
ruff check src/

# Type check
mypy src/

Architecture

src/axiomworks_youtube_mcp/
├── server.py          # MCP server + 68 tool definitions
├── config.py          # Configuration and auth tier management
├── cli.py             # CLI: setup, status, run, version
├── clients/
│   ├── youtube.py     # YouTube Data API v3 client
│   ├── ytmusic.py     # YouTube Music client (ytmusicapi)
│   ├── analytics.py   # YouTube Analytics API client
│   └── live.py        # YouTube Live Streaming client
└── utils/
    ├── cache.py       # Response caching (SQLite)
    └── quota.py       # Daily quota tracking and warnings

Comparison

FeatureThis ServerZubeidHendricks (472★)kirbah (npm)anaisbetts (507★)
YouTube SearchYesYesYesNo
Video DetailsYesYesYesNo
TranscriptsYesNoYesYes (only feature)
Comments (read)YesNoNoNo
Comments (write)YesNoNoNo
Playlists CRUDYesRead-onlyRead-onlyNo
SubscriptionsYesNoNoNo
Video UploadYesNoNoNo
AnalyticsYesNoNoNo
Live StreamingYesNoNoNo
YouTube MusicYesNoNoNo
Music LibraryYesNoNoNo
Music PlaylistsYesNoNoNo
Music PodcastsYesNoNoNo
Quota TrackingYesNoNoNo
Response CacheYesNoNoNo
Total Tools681091

License

Apache License 2.0 — Free to use, modify, and distribute. Attribution required.

Copyright 2026 Axiom Works AI

Documentation

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Areas where help is especially valued:

  • Additional YouTube Music features via ytmusicapi upstream contributions
  • Test coverage
  • Documentation and examples
  • Integration guides for different MCP clients
↑↓ navigate openesc close