Plex MCP Server

Un servidor MCP para gestionar tu biblioteca multimedia de Plex con asistentes de IA.

Documentación

Servidor Plex MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) para la gestión de medios de Plex, que permite a asistentes de IA como Claude interactuar con tu biblioteca de Plex.

Características

  • Gestión de Películas: Busca, explora y analiza tu colección de películas
  • Estadísticas de Biblioteca: Obtén información sobre tu colección de medios
  • Búsqueda por Género y Director: Encuentra contenido según criterios específicos
  • Adiciones Recientes: Haz seguimiento del contenido recién agregado
  • Arquitectura Extensible: Fácil de añadir programas de TV y otros tipos de medios

Requisitos

  • Python 3.8 o superior
  • Servidor de Medios Plex con API accesible
  • Acceso de red a tu servidor Plex

Configuración

Configuración Rápida (Recomendada)

# 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

Configuración Manual

  1. Crea y activa el entorno virtual:

    python3 -m venv venv
    source venv/bin/activate
    
  2. Instala las dependencias:

    pip install --upgrade pip
    pip install -r requirements.txt
    
  3. Configura las variables de entorno:

    cp .env.example .env
    nano .env
    

    Actualiza los valores en .env:

    • PLEX_URL: La URL de tu servidor Plex (por ejemplo, http://192.168.1.100:32400)
    • PLEX_TOKEN: Tu token de autenticación de Plex (Cómo encontrarlo)
    • HOST y PORT: Enlace del servidor (los valores predeterminados son suficientes para la mayoría de las configuraciones)
    • LOG_LEVEL: Verbosidad del registro (INFO recomendado)
  4. Ejecuta el servidor:

    python main.py
    

Uso Diario

Después de la configuración inicial, para ejecutar el servidor:

cd plex-mcp-server
source venv/bin/activate  # Activate virtual environment
python main.py            # Start server
# When done: deactivate   # Exit virtual environment

Configuración de Claude Desktop

Añade a tu config.json de Claude Desktop:

{
  "globalShortcut": "",
  "mcpServers": {
    "plex": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://your-server:8000/sse",
        "--allow-http"
      ]
    }
  }
}

Herramientas Disponibles

Herramientas de Películas

  • get_library_stats - Estadísticas generales de la biblioteca
  • list_all_movies - Explora todas las películas con paginación
  • search_movies - Busca por título
  • search_by_genre - Encuentra películas por género
  • search_by_director - Encuentra películas por director
  • search_by_year_range - Encuentra películas por rango de años
  • get_all_genres - Lista todos los géneros disponibles
  • get_all_directors - Lista todos los directores
  • get_recent_movies - Películas agregadas recientemente

Estructura del Proyecto

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

Desarrollo

Para añadir nuevas herramientas:

  1. Añade métodos al archivo de herramientas correspondiente
  2. Actualiza el método get_tool_definitions()
  3. Registra la herramienta en mcp_handler.py

Licencia

Licencia MIT