add_to_playlist
Add items to an existing playlist
Search a Plex library by mood, BPM, musical key, loudness or last-played date, turn the result into a playlist, and read the codecs and file sizes behind the items that come back.
LABSCO SUMMARY
The music filters are the distinctive part — bpmMin, musical_key, loudness_max, dynamic_range_min and acoustic_ratio_min sit next to the usual actor and year fields, and browse_library accepts the same set with sorting and an offset. Playlist creation has two conditions attached: create_playlist requires an initial item_key to succeed, and smart playlists are out of scope because of their filter requirements. Authentication runs as its own two-step flow, with check_auth_status polling a pin_id until the login completes.
A Plex Media Server client covering 22 tools, over libraries, playlists, collections, watch history and listening statistics.
A Plex Media Server you can reach and its address in PLEX_URL, plus a Plex account: authenticate_plex returns a login URL, check_auth_status retrieves the token once you have signed in, and clear_auth discards it.
One command, then sign in — npx -y @smithery/cli install @vyb1ng/plex-mcp --client claude, then approve the OAuth sign-in
USE CASES
Search on the music fields, then create the playlist with the first match and add the rest to it.
Read the storage picture per library, list the largest files by filtering on file size, and check the codecs and bitrates behind the worst offenders.
On Deck answers it directly; history and per-item watch status settle the cases where several people watched on the same server.
The play-count filters turn the library into a backlog, and the listening statistics say what the played half has in common.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_to_playlistAdd items to an existing playlist
authenticate_plexInitiate Plex OAuth authentication flow to get user login URL
browse_collectionBrowse content within a specific collection
browse_librariesList all available Plex libraries (Movies, TV Shows, Music, etc.)
browse_libraryBrowse content within a specific Plex library with filtering and sorting options
browse_playlistBrowse and view the contents of a specific playlist with full track metadata
check_auth_statusCheck if Plex authentication is complete and retrieve the auth token
clear_authClear stored authentication credentials
create_playlistCreate a new regular playlist on the Plex server. Requires an initial item (item_key parameter) to be created successfully. Smart playlists are not supported due to their complex filter requirements.
delete_playlistDelete an existing playlist
discover_musicNatural language music discovery with smart recommendations based on your preferences and library
get_collectionsList all collections available on the Plex server
get_library_statsGet comprehensive statistics about Plex libraries (storage usage, file counts, content breakdown, etc.)
get_listening_statsGet detailed listening statistics and music recommendations based on play history and patterns
get_media_infoGet detailed technical information about media files (codecs, bitrates, file sizes, etc.)
get_on_deckGet 'On Deck' items (continue watching) for users
get_recently_addedGet recently added content from Plex libraries
get_watch_historyGet playback history for the Plex server
get_watched_statusCheck watch status and progress for specific content items
list_playlistsList all playlists on the Plex server
search_plexSearch for movies, TV shows, and other content in Plex libraries
validate_llm_responseValidate LLM response format and content against expected schemas for different prompt types
BEFORE YOU INSTALL
22 tools when we connected. Smart playlists are disabled because their filter logic is broken. authenticate_plex, check_auth_status and clear_auth handle login; playlist creation, editing and deletion are the only writes.
npx on PATH
PLEX_TOKEN in your environment
CONTEXT COST
Rated by the size of the 22 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y @smithery/cli install @vyb1ng/plex-mcp --client claude{
"mcpServers": {
"plex": {
"command": "npx",
"args": [
"plex-mcp"
],
"env": {
"PLEX_URL": "http://<YOUR_PLEX_SERVER>:32400"
}
}
}
}{
"mcpServers": {
"plex": {
"command": "npx",
"args": [
"plex-mcp"
],
"env": {
"PLEX_URL": "http://<YOUR_PLEX_SERVER>:32400",
"MCP_HTTP_DEBUG": "true"
}
}
}
}