search_moviesLABSCO SUMMARY
The library question that ends in a playlist.
Searching Plex is only half the job; the useful move is going from a result — every Hitchcock you own — straight to a playlist that exists on the server. The project also demonstrates the inverse: finding which of a director's films are missing from the collection.
What it is
A Python MCP server on top of PlexAPI that searches a Plex Media Server's movie library and manages playlists on it.
What you get
- Movies searched in your own library, including by director
- Full details for a given movie
- Genres listed across the library
- Playlists created directly from what a search returned
- Playlist contents listed, and playlists deleted
- Every playlist on the server listed
Requirements
Python 3.8 or higher and the uv package manager. Two environment values: PLEX_TOKEN and PLEX_SERVER_URL — the token comes from running window.localStorage.getItem('myPlexAccessToken') in the Plex web app console.
Setup effort
Build from source — git clone https://github.com/djbriane/plex-mcp.git
USE CASES
Finding everything one director made in your library
Search by director rather than scrolling the movie grid.
Turning a search into something you can press play on
Create the playlist from the results in the same breath.
Seeing what is in a playlist you made months ago
List your playlists and read the contents of the one you meant.
Deciding what to watch by genre
Read the genres in the library, then search within the one you are in the mood for.
Checking a film before committing an evening
Pull the details on it rather than starting and abandoning it.
Clearing out playlists that have served their purpose
Delete the ones from last month's theme night.
9 tools
Listed in project docs. Your client may show a different list.
get_movie_detailsget_movie_genreslist_playlistsget_playlist_itemscreate_playlistdelete_playlistadd_to_playlistrecent_moviesBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
- uv on PATH
- Python 3.8 or later
- PLEX_TOKEN in your environment
- PLEX_SERVER_URL in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/djbriane/plex-mcp.git
cd plex-mcp
uv venv
source .venv/bin/activate
uv syncMCP Clients
Claude Desktop
{
"mcpServers": {
"plex": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_PROJECT>",
"run",
"src/plex_mcp/plex_mcp.py"
],
"env": {
"PLEX_TOKEN": "<YOUR_PLEX_TOKEN>",
"PLEX_SERVER_URL": "<YOUR_PLEX_SERVER_URL>"
}
}
}
}<YOUR_PATH_TO_PROJECT> is the full path of the plex-mcp folder you cloned, and <YOUR_PLEX_SERVER_URL> is your server's address, for example http://192.168.1.100:32400.