Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLEX_URL | Yes | The URL of your Plex server (e.g., http://your-plex-server:32400) | |
| PLEX_TOKEN | No | Your Plex authentication token (optional, can use OAuth instead). Get your token from https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/ | |
| MCP_HTTP_DEBUG | No | Enable comprehensive HTTP request/response logging for troubleshooting connection issues | false |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_plex | Search for movies, TV shows, and other content in Plex libraries |
| browse_libraries | List all available Plex libraries (Movies, TV Shows, Music, etc.) |
| browse_library | Browse content within a specific Plex library with filtering and sorting options |
| get_recently_added | Get recently added content from Plex libraries |
| get_watch_history | Get playback history for the Plex server |
| get_on_deck | Get 'On Deck' items (continue watching) for users |
| list_playlists | List all playlists on the Plex server |
| browse_playlist | Browse and view the contents of a specific playlist with full track metadata |
| create_playlist | Create 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. |
| add_to_playlist | Add items to an existing playlist |
| delete_playlist | Delete an existing playlist |
| get_watched_status | Check watch status and progress for specific content items |
| get_collections | List all collections available on the Plex server |
| browse_collection | Browse content within a specific collection |
| get_media_info | Get detailed technical information about media files (codecs, bitrates, file sizes, etc.) |
| get_library_stats | Get comprehensive statistics about Plex libraries (storage usage, file counts, content breakdown, etc.) |
| get_listening_stats | Get detailed listening statistics and music recommendations based on play history and patterns |
| discover_music | Natural language music discovery with smart recommendations based on your preferences and library |
| authenticate_plex | Initiate Plex OAuth authentication flow to get user login URL |
| check_auth_status | Check if Plex authentication is complete and retrieve the auth token |
| clear_auth | Clear stored authentication credentials |
| validate_llm_response | Validate LLM response format and content against expected schemas for different prompt types |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| playlist_description | Generate a creative description for a playlist |
| content_recommendation | Generate content recommendations based on viewing history or preferences |
| smart_playlist_rules | Generate smart playlist criteria and rules |
| media_analysis | Analyze and categorize media content |
| server_troubleshooting | Help diagnose Plex server connection or performance issues |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Connection Status | Current Plex server connection status |