youtube-music-mcp-server

Search songs, albums, and artists on YouTube Music.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Search Songs: Search for songs on YouTube Music. Returns structured JSON with song title, album, artist, year, and video ID.
  • Search Albums: Search for albums on YouTube Music. Returns album name, artist, year, and browse ID.
  • Search Artists: Search for artists on YouTube Music. Returns artist name, browse ID, and thumbnails.

What data it sees

Do you need an account

No: the server works without sign-in

Search songs, albums, and artists on YouTube Music. Manage your library and playlists end-to-end: create, edit, and organize tracks. Generate smart, personalized playlists and analyze your taste profile to discover new music.

How to connect

How to connect youtube-music-mcp-server to Claude

The server address to paste into Claude settings:

https://youtube-music-mcp-server--caullenomdahl.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect youtube-music-mcp-server to ChatGPT

The server address to paste into ChatGPT settings:

https://youtube-music-mcp-server--caullenomdahl.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect youtube-music-mcp-server to Cursor

The server address to paste into Cursor settings:

https://youtube-music-mcp-server--caullenomdahl.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (24)

Raw names from tools/list. Only developers need these.

search_songsSearch for songs on YouTube Music. Returns structured JSON with song title, album, artist, year, and video ID.
search_albumsSearch for albums on YouTube Music. Returns album name, artist, year, and browse ID.
search_artistsSearch for artists on YouTube Music. Returns artist name, browse ID, and thumbnails.
get_song_infoGet detailed information about a specific song by video ID. Returns title, artist, album, duration, and thumbnails.
get_album_infoGet detailed album information including all tracks, year, and artist. Use browse_id from search results.
get_artist_infoGet detailed artist information including top songs. Use browse_id from search results.
get_library_songsGet the user's liked songs from their YouTube Music library. Returns structured JSON with song details.
get_playlistsGet the user's playlists from YouTube Music library. Returns playlist name, ID, and track count as structured JSON.
get_playlist_detailsGet detailed playlist information including all tracks with song, album, artist, and duration.
create_playlistCreate a new YouTube Music playlist. Returns the new playlist ID.
edit_playlistEdit playlist metadata (name, description, privacy). Only provide fields you want to change.
delete_playlistDelete a playlist from YouTube Music. This action cannot be undone.
add_songs_to_playlistAdd one or more songs to an existing playlist. Supports batch operations for efficiency.
remove_songs_from_playlistRemove one or more songs from a playlist. Requires setVideoId (not videoId) from playlist track data.
start_smart_playlistStart an interactive smart playlist creation session. Returns session ID to use with other smart playlist tools.
add_seed_artistAdd an artist to influence smart playlist recommendations. Looks up artist in MusicBrainz and retrieves tags.
add_seed_trackAdd a specific track as a seed for smart playlist recommendations.
refine_recommendationsAdjust recommendation parameters: exclude artists, prefer/avoid tags, set diversity level.
get_recommendationsGenerate playlist recommendations based on seeds and refinement settings. Searches YouTube Music for tracks.
preview_playlistPreview the smart playlist before creating it. Shows all tracks and session details.
create_smart_playlistCreate the smart playlist on YouTube Music with all recommended tracks.
get_user_taste_profileAnalyze user's liked songs to build a taste profile with top tags, artists, and genres.
get_auth_statusCheck authentication status and get OAuth URL if not authenticated. After authenticating via the returned URL, the session becomes active automatically.
get_server_statusGet server health, version, uptime, and rate limit status.