Plex MCP Server
An MCP server for managing your Plex media library with AI assistants.
Plex MCP Server
A Model Context Protocol (MCP) server for Plex media management, enabling AI assistants like Claude to interact with your Plex library.
Features
- Movie Management: Search, browse, and analyze your movie collection
- Library Statistics: Get insights into your media collection
- Genre & Director Search: Find content by specific criteria
- Recent Additions: Track newly added content
- Extensible Architecture: Easy to add TV shows and other media types
Requirements
- Python 3.8 or higher
- Plex Media Server with accessible API
- Network access to your Plex server
Setup
Quick Setup (Recommended)
# Clone the repository
git clone https://github.com/richarddas/plex_mcp_server.git
cd plex_mcp_server
# Run the setup script (creates venv and installs dependencies)
./setup.sh
# Edit your Plex details
nano .env
# Activate virtual environment and start the server
source venv/bin/activate
python main.py
Manual Setup
-
Create and activate virtual environment:
python3 -m venv venv source venv/bin/activate -
Install dependencies:
pip install --upgrade pip pip install -r requirements.txt -
Configure environment variables:
cp .env.example .env nano .envUpdate the values in
.env:PLEX_URL: Your Plex server URL (e.g.,http://192.168.1.100:32400)PLEX_TOKEN: Your Plex authentication token (How to find it)HOSTandPORT: Server binding (defaults are fine for most setups)LOG_LEVEL: Logging verbosity (INFO recommended)
-
Run the server:
python main.py
Daily Usage
After initial setup, to run the server:
cd plex-mcp-server
source venv/bin/activate # Activate virtual environment
python main.py # Start server
# When done: deactivate # Exit virtual environment
Claude Desktop Configuration
Add to your Claude Desktop config.json:
{
"globalShortcut": "",
"mcpServers": {
"plex": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://your-server:8000/sse",
"--allow-http"
]
}
}
}
Available Tools
Movie Tools
get_library_stats- Overall library statisticslist_all_movies- Browse all movies with paginationsearch_movies- Search by titlesearch_by_genre- Find movies by genresearch_by_director- Find movies by directorsearch_by_year_range- Find movies by year rangeget_all_genres- List all available genresget_all_directors- List all directorsget_recent_movies- Recently added movies
Project Structure
plex_mcp_server/
├── main.py # FastAPI server
├── config.py # Configuration
├── plex_client.py # Plex connection
├── mcp_handler.py # MCP message handling
├── tools/
│ ├── movie_tools.py # Movie-related tools
│ └── tv_tools.py # TV tools (future)
└── requirements.txt # Dependencies
Development
To add new tools:
- Add methods to the appropriate tools file
- Update the
get_tool_definitions()method - Register the tool in
mcp_handler.py
License
MIT License
Related Servers
mcp-cli-catalog
An MCP server that publishes CLI tools on your machine for discoverability by LLMs
Monzo
Access and manage your Monzo banking data, allowing you to check balances and view transactions.
SwitchBot
Control SwitchBot smart home devices through its official API, enabling automation and integration with AI assistants.
RequestRepo MCP
A MCP for RequestRepo
mycop
AI code security scanner with 100 built-in rules covering OWASP Top 10 and CWE Top 25
Bonnard
Ultra-fast to deploy agentic-first mcp-ready semantic layer. Let your data be like water.
Minecraft MCP
Control a Minecraft character to build, explore, and interact with the game world using natural language.
rfcxml-mcp
MCP server for structural understanding of RFC documents.
Vintage Chocolate Recipes (1914)
146 historic chocolate recipes from 1914. Search cakes, candies, and beverages from Maria Parloa's classic cookbook.
Aegntic MCP Servers
A collection of Model Context Protocol (MCP) servers for various tasks and integrations, supporting both Python and Node.js environments.