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 .env
Update 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)HOST
andPORT
: 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
DealX
MCP Server for DealX platform
Weather MCP Service
Provides real-time weather information and forecasts.
MCP Epic Free Games
Provides access to information about free games on the Epic Games Store.
Wordle MCP
Fetches the Wordle solution for a specific date, available from 2021-05-19 up to 23 days in the future.
Tarkov MCP Server
Provides access to Escape from Tarkov game data using the community-maintained Tarkov API.
Euroleague Live
Provides club information and advanced player statistics for Euroleague and Eurocup basketball from the Euroleague API.
SignalK MCP Server
Provides AI agents with read-only access to SignalK marine data systems, enabling queries of vessel navigation data, AIS targets, and system alarms.
Kite Trading
A server for performing trading operations using the Kite Connect API.
Payman API
Integrates with Payman AI's payment APIs to manage payees, payments, and balances using natural language.
O'RLY Book Cover Generator
Generates O'RLY? (O'Reilly parody) book covers.