1. Conduid
  2. Social
  3. Youtube Music MCP Server
MCP server · Social

Youtube Music MCP Server

YouTube Music MCP Server - Search, curate, and manage YouTube Music playlists through Claude AI

Unclaimed last commit 9 months ago social
39Low

Scored 4 days ago · breakdown

About Youtube Music MCP Server

Youtube Music MCP Server is an MCP server published by CaullenOmdahl in the Social category: youTube Music MCP Server - Search, curate, and manage YouTube Music playlists through Claude AI.

The repository has 14 stars and 6 forks, with the last commit 9 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/CaullenOmdahl/youtube-music-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Youtube Music MCP Server

Powered by Claude · Grounded in docs

I know everything about Youtube Music MCP Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 2 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • !No dynamic code executionSource scan found eval or shell execution. Review how tool inputs reach it before granting credentials.

1 check has not been run yet.

README

YouTube Music MCP Server

MCP TypeScript

Full-featured MCP server for YouTube Music — search, manage playlists, and create smart recommendations through AI assistants.

Highlights

  • Complete Playlist Control — Create, edit, delete playlists with batch operations
  • Smart Recommendations — AI-driven playlist creation using ListenBrainz (unbiased, no payola)
  • Rich Metadata — Every response includes artist, album, year, and duration
  • Secure Auth — OAuth 2.1 + PKCE with encrypted token storage
  • Rate Limited — Configurable limits to respect API quotas

Quick Start

npm install
cp .env.example .env
# Add your Google OAuth credentials to .env
npm run build
npm start

MCP Configuration

{
  "mcpServers": {
    "youtube-music": {
      "command": "node",
      "args": ["path/to/youtube-music-mcp-server/dist/index.js"],
      "env": {
        "GOOGLE_OAUTH_CLIENT_ID": "your-client-id",
        "GOOGLE_OAUTH_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Tools

Search & Discovery

Tool Description
search_songs Search songs with configurable limits
search_albums Search albums
search_artists Search artists
get_song_info Detailed song information
get_album_info Album with all tracks
get_artist_info Artist with top songs
get_library_songs User's liked music (filters non-music)

Playlist Management

Tool Description
get_playlists List user's playlists
get_playlist_details Playlist with all tracks
create_playlist Create new playlist
edit_playlist Update metadata
delete_playlist Delete playlist
add_songs_to_playlist Batch add songs
remove_songs_from_playlist Batch remove songs

Smart Playlists

Tool Description
start_smart_playlist Begin creation session
add_seed_artist Add artist influence
add_seed_track Add track as seed
refine_recommendations Set preferences (exclude, tags, diversity)
get_recommendations Generate recommendations
preview_playlist Preview before creating
create_smart_playlist Create on YouTube Music
get_user_taste_profile Analyze listening habits

Response Format

All tools return structured JSON with metadata:

{
  "songs": [{
    "videoId": "abc123",
    "title": "Song Title",
    "artists": [{"id": "...", "name": "Artist"}],
    "album": {"id": "...", "name": "Album", "year": 2023},
    "duration": "3:45",
    "durationSeconds": 225
  }],
  "metadata": {
    "returned": 20,
    "hasMore": true
  }
}

Example Workflows

"Make me a playlist based on Radiohead and Boards of Canada"

→ start_smart_playlist()
→ add_seed_artist("Radiohead")
→ add_seed_artist("Boards of Canada")
→ get_recommendations()
→ create_smart_playlist("Late Night Electronica")

"Add these songs to my workout playlist"

→ search_songs("high energy workout")
→ add_songs_to_playlist(playlistId, [videoId1, videoId2, ...])

Architecture

src/
├── index.ts              # Entry point
├── server.ts             # MCP server setup
├── youtube-music/        # Custom YTM client
│   ├── client.ts         # API methods
│   └── parsers.ts        # Response parsing
├── musicbrainz/          # MusicBrainz integration
├── listenbrainz/         # ListenBrainz recommendations
├── recommendations/      # Smart playlist engine
├── auth/                 # OAuth 2.1 + PKCE
└── tools/                # MCP tool definitions

Docker

docker build -t youtube-music-mcp .
docker run -p 8081:8081 \
  -e GOOGLE_OAUTH_CLIENT_ID="..." \
  -e GOOGLE_OAUTH_CLIENT_SECRET="..." \
  youtube-music-mcp

Development

npm run dev                           # Development mode
BYPASS_AUTH_FOR_TESTING=true npm run dev  # Skip OAuth for testing

Links

License

MIT

README fetched from the repository 2 days ago. The original is authoritative.

Questions

About Youtube Music MCP Server

How do I install Youtube Music MCP Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Youtube Music MCP Server safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 3 of the 5 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Youtube Music MCP Server still maintained?

The last commit was 9 months ago and 4 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.