mcp-plex
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLEX_TOKEN | Yes | Your Plex authentication token | |
| PLEX_SERVER_URL | Yes | URL of your Plex Media Server (e.g., http://your-plex-server:32400) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_server_versionA | Return the installed version of the mcp-plex-server package. |
| search_mediaA | Search for media across all Plex libraries. Searches movies, shows, music, and other media by title. Optional media_type filter: "movie", "show", "episode", "artist", "album", "track". Returns titles, years, ratings, and rating keys for further lookup. |
| get_recently_addedC | Get recently added media from Plex. Returns the most recently added items across all libraries, or filtered to a specific library by name (e.g. "Movies", "TV Shows"). |
| get_on_deckB | Get the "On Deck" continue-watching list from Plex. Returns items that are partially watched or next episodes in a series. |
| get_librariesA | List all library sections on the Plex server. Returns library names, types (movie, show, artist), item counts, and last updated timestamps. |
| get_library_contentsA | Browse the contents of a specific Plex library. library_name must match exactly (e.g. "Movies", "TV Shows"). Use get_libraries to see available names. Sort options: "titleSort" (default), "addedAt:desc", "year:desc", "rating:desc", "audienceRating:desc". |
| get_media_detailsA | Get detailed information about a specific media item. Use the rating_key from search or browse results. Returns full details including summary, genres, cast, directors, and ratings. |
| get_library_statsA | Get statistics for Plex libraries. Without library_name: returns item counts for all libraries. With library_name: returns detailed stats for that library. |
| get_seasonsA | Get the seasons of a TV show. Provide the rating_key of a show (from search or browse). Returns season numbers, episode counts, and rating keys. |
| get_episodesA | Get episodes for a TV show or season. Provide the rating_key of a show. Optionally filter by season_number (0 = all seasons). Returns episode titles, numbers, and durations. |
| get_collectionsA | List collections in a Plex library. Returns collection names, types (smart/regular), item counts, and rating keys. Use get_collection_items to see the contents. |
| get_collection_itemsB | Get the items in a Plex collection with full collection details. Provide the rating_key of a collection. Returns collection metadata (title, smart, mode, sort, labels) and the media items it contains. |
| create_collectionA | Create a new regular collection in a Plex library. library_name: exact library name (e.g. "Movies"). title: name for the collection. rating_keys: list of rating keys for items to include. |
| create_smart_collectionA | Create a smart (filter-based) collection that auto-updates. library_name: exact library name (e.g. "Movies"). title: name for the collection. filters: dict of field/value pairs with optional operators. Operators are appended to the key: ">>" = greater than, "<<" = less than, "!" = not. Examples: {"genre": "Action"} -- genre is Action {"year>>": 2000} -- year greater than 2000 {"genre!": "Horror"} -- genre is not Horror {"genre": "Action", "year>>": 2000} -- both conditions Common fields: genre, year, decade, rating, audienceRating, contentRating, resolution, studio, label, director, actor. libtype: content type to filter (required for show libraries). "movie", "show", "episode", "season", "artist", "album", "track". sort: sort order (e.g. "titleSort", "year:desc", "rating:desc"). limit: max items (0 = unlimited). |
| edit_collectionB | Edit a collection's metadata. rating_key: the collection's rating key. title: new title (empty = no change). summary: new summary (None = no change, empty string = clear). sort_order: "release", "alpha", or "custom" (empty = no change). mode: "default", "hide", "hideItems", or "showItems" (empty = no change). |
| add_to_collectionA | Add items to a regular (non-smart) collection. rating_key: the collection's rating key. item_rating_keys: list of rating keys for items to add. |
| remove_from_collectionA | Remove items from a regular (non-smart) collection. rating_key: the collection's rating key. item_rating_keys: list of rating keys for items to remove. |
| delete_collectionB | Delete a collection from the Plex library. This permanently removes the collection. The media items themselves are not affected. |
| mark_watchedB | Mark a media item as fully watched. Works on movies, episodes, and tracks. |
| mark_unwatchedC | Mark a media item as unwatched, resetting its watch progress. Works on movies, episodes, and tracks. |
| remove_from_continue_watchingA | Remove a partially-watched item from the Continue Watching / On Deck list. Only works on movies and episodes. Does not change the item's watched/unwatched state. |
| set_playback_progressA | Set the playback progress for a media item to a specific position. rating_key: the item's rating key. progress_ms: position in milliseconds (must be > 0). To reset progress to zero, use mark_unwatched instead. |
| get_playlistsA | List all playlists on the Plex server. Returns playlist names, types, item counts, and durations. |
| get_playlist_itemsC | Get the items in a Plex playlist. Provide the rating_key of a playlist. Returns the media items contained in the playlist. |
| scan_libraryB | Trigger a library scan on the Plex server. This refreshes the library to pick up new or changed media files. The scan runs in the background on the server. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/obrien-matthew/mcp-plex'
If you have feedback or need assistance with the MCP directory API, please join our Discord server