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.
- Filtering that goes past title and year: search_plex and browse_library both take genre, mood, musical_key, bpmMin and bpmMax, loudness, dynamic range, acoustic ratio, audio_format, resolution, content_rating, actor, director, writer, studio, duration, file size, rating and year ranges.
- Play history as a filter, not just a report: never_played, played_in_last_days, play_count_min and play_count_max, last_played_after and last_played_before narrow a search, while get_watch_history, get_on_deck and get_watched_status answer the question directly.
- Library navigation: browse_libraries lists what the server holds, get_recently_added covers new arrivals, get_collections and browse_collection walk collections, and get_library_stats reports storage use and file counts.
- Playlists built from what the search returned: list_playlists, browse_playlist with full track metadata, create_playlist, add_to_playlist and delete_playlist.
- Music-specific reads: get_listening_stats returns statistics and recommendations from play history over a time period, and discover_music takes a natural-language query with context.
- File-level detail through get_media_info — codecs, bitrates and file sizes for a specific item.
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 plus a key — npx -y @smithery/cli install @vyb1ng/plex-mcp --client claude, then supply credentials
