Plex MCP Server
Plex MCP Server
Сервер Model Context Protocol (MCP), который предоставляет ИИ-ассистентам комплексный доступ к вашим Plex Media Server, Sonarr, Radarr и Trakt.tv — всё с одного унифицированного сервера.
Что это такое?
Этот MCP-сервер превращает ваш Plex Media Server в базу данных, доступную для запросов ИИ. Задавайте своему ИИ-ассистенту такие вопросы, как:
«Какие фильмы я смотрел недавно?»
«Покажи мою статистику просмотров за последний месяц»
«Какой контент на моем сервере самый популярный?»
«Найди боевики в моей библиотеке»
«Что у меня в списке продолжения просмотра?»
«Добавь это новое шоу в Sonarr»
«Что у меня в очереди на загрузку?»
«Синхронизируй мою историю просмотров с Trakt»
«Порекомендуй мне фильмы, которые я еще не видел»
Related MCP server: YARR Media Stack MCP Server
Возможности
45 инструментов «из коробки» (54 с включенными операциями записи):
Управление библиотекой Plex — просмотр библиотек, поиск медиа, получение подробных метаданных, списки воспроизведения и список отслеживания.
Аналитика в стиле Tautulli — статистика просмотров, активность пользователей, популярный контент, история просмотров.
Персонализированные рекомендации — ИИ-рекомендации фильмов на основе вашей истории просмотров, жанров, режиссеров и актеров. Поддерживает профили для каждого пользователя на серверах Plex с несколькими пользователями.
Интеграция с Sonarr/Radarr — просмотр, поиск, добавление сериалов/фильмов, просмотр очередей, запуск загрузок.
Синхронизация с Trakt.tv — OAuth-аутентификация, синхронизация истории просмотров, расширенная статистика, скробблинг. При настройке данные Trakt обогащают рекомендации, учитывая фильмы, просмотренные вне Plex.
Операции записи (по выбору) — создание/редактирование списков воспроизведения, обновление метаданных, управление списком отслеживания.
Один сервер, все инструменты. Учетные данные Trakt и Sonarr/Radarr необязательны — инструменты, которым они нужны, вернут полезное сообщение о настройке, если ключ отсутствует. Вам не нужно настраивать всё сразу.
Быстрый старт
Предварительные требования
Node.js 20+
Plex Media Server (любая актуальная версия)
Токен Plex (Как получить ваш токен)
MCP-совместимый клиент (Claude Desktop и т.д.)
Установка
# Clone the repository
git clone https://github.com/niavasha/plex-mcp-server.git
cd plex-mcp-server
# Install dependencies
npm install
# Build the project
npm run buildИли установите напрямую из npm:
npx plex-mcp-serverКонфигурация
Получите ваш токен Plex (см. инструкции ниже)
Настройте ваш MCP-клиент (например, Claude Desktop):
{
"mcpServers": {
"plex": {
"command": "node",
"args": ["/path/to/plex-mcp-server/build/plex-mcp-server.js"],
"env": {
"PLEX_URL": "http://localhost:32400",
"PLEX_TOKEN": "your_plex_token_here",
"SONARR_URL": "http://localhost:8989",
"SONARR_API_KEY": "optional_sonarr_api_key",
"RADARR_URL": "http://localhost:7878",
"RADARR_API_KEY": "optional_radarr_api_key",
"TRAKT_CLIENT_ID": "optional_trakt_client_id",
"TRAKT_CLIENT_SECRET": "optional_trakt_client_secret"
}
}
}
}Требуется только
PLEX_TOKEN. Все остальные учетные данные необязательны — инструменты для ненастроенных сервисов вернут понятное сообщение об ошибке с объяснением, как их настроить, вместо того чтобы аварийно завершать работу сервера.
API-ключи Sonarr/Radarr можно найти в разделе Settings > General > API Key в веб-интерфейсе каждого приложения.
Настройка Trakt.tv требует приложения Trakt OAuth. Создайте его с URI перенаправления
urn:ietf:wg:oauth:2.0:oob, затем добавьте Client ID и Secret в вашу конфигурацию. Как только сервер будет запущен, попросите вашего ИИ-ассистента «аутентифицироваться в Trakt» — он проведет вас через процесс OAuth. Подробные инструкции см. в руководстве по настройке Trakt.
В v1.0.x было три отдельных серверных бинарных файла (build/index.js, build/plex-trakt-server.js, build/plex-arr-server.js). В v1.1.0+ они заменены одним унифицированным бинарным файлом: build/plex-mcp-server.js.
Старые бинарные файлы все еще работают, но выдают предупреждение об устаревании. Обновите вашу конфигурацию MCP, чтобы она указывала на build/plex-mcp-server.js, и удалите все дублирующиеся записи серверов.
Полную информацию см. в руководстве по миграции.
Использование
После настройки вы можете спросить своего ИИ-ассистента:
"What movies did I watch last week?"
"Show me my most popular TV shows this month"
"Give me viewing statistics for the past 30 days"
"Search for Night of the Living Dead in my library"
"What's on my continue watching list?"
"List all my Plex libraries"
"Add that new show to Sonarr"
"What's in my Radarr download queue?"
"Sync my Plex history to Trakt"Рекомендуемые рабочие процессы
Синхронизация истории просмотров Plex с Trakt:
Настройте учетные данные Trakt (см. выше)
Спросите: «Authenticate with Trakt» — следуйте процессу OAuth
Спросите: «Do a dry run sync of my Plex history to Trakt» — предварительный просмотр того, что будет синхронизировано
Спросите: «Sync my Plex watch history to Trakt» — запустите фактическую синхронизацию
Поиск и добавление нового контента:
Спросите: «Search Sonarr for The Beverly Hillbillies» — найдите TVDB ID
Спросите: «Add The Beverly Hillbillies to Sonarr» — он автоматически определит профили качества и корневые папки
Спросите: «What's in my Sonarr download queue?» — отслеживайте прогресс
Получение персонализированных рекомендаций:
Спросите: «Recommend me some movies from my library»
Движок анализирует вашу историю просмотров — жанры, режиссеров, актеров, рейтинги
Оценивает каждый непросмотренный фильм и возвращает лучшие совпадения с причинами
Для серверов с несколькими пользователями укажите пользователя: «Recommend movies for Titus»
Если настроен Trakt, он автоматически использует и вашу историю Trakt — учитывая фильмы, которые вы смотрели вне Plex (на других платформах, до того как была настроена отслеживание)
Кроссплатформенная аналитика просмотров:
Спросите: «Show me my Plex viewing stats for the last 30 days»
Спросите: «What are my Trakt stats?» — посмотрите пожизненную статистику (просмотренные фильмы, часы, вехи)
Спросите: «What are my most popular movies this month?»
Доступные функции
Инструменты Plex (19 инструментов)
Функция | Описание |
| Список всех библиотек Plex |
| Список элементов в библиотеке с пагинацией |
| Экспорт полной библиотеки в JSON (в |
| Поиск медиа глобально или в одной библиотеке |
| Недавно добавленный контент |
| Список продолжения просмотра |
| Подробная информация о медиа |
| Показать редактируемые поля и доступные теги для элемента |
| Список всех списков воспроизведения Plex |
| Список элементов в списке воспроизведения |
| Получить текущий список отслеживания Plex |
| Недавно просмотренный контент |
| Подробные сеансы просмотра |
| Полностью просмотренные фильмы/шоу |
| Комплексная статистика просмотров |
| Статистика активности пользователей |
| Метрики использования библиотеки |
| Анализ самого популярного контента |
| Персонализированные рекомендации фильмов на основе истории просмотров |
Операции записи (9 инструментов, по выбору)
Установите PLEX_ENABLE_MUTATIVE_OPS=true, чтобы включить эти инструменты. Они позволяют вашему ИИ-ассистенту вносить изменения на ваш сервер Plex. Используйте с осторожностью — хотя мы тестируем эти инструменты, гарантий нет. Проверяйте изменения, которые предлагает ваш ассистент, перед подтверждением.
Функция | Описание |
| Обновление полей метаданных и редактируемых тегов для медиаэлемента |
| Применение JSON-полезной нагрузки метаданных с использованием сопоставления полей |
| Создание нового смарт- или статического списка воспроизведения |
| Добавление медиаэлемента в список воспроизведения |
| Удаление элемента из списка воспроизведения |
| Предварительный просмотр и опциональная очистка всех элементов из списка ( |
| Удаление списка воспроизведения без удаления самого медиа |
| Добавление медиаэлемента в список отслеживания Plex |
| Удаление медиаэлемента из списка отслеживания Plex |
Инструменты Sonarr (8 инструментов)
Функция | Описание |
| Список сериалов с опциональным фильтром по названию |
| Поиск новых сериалов в TheTVDB |
| Добавление сериала по TVDB ID |
| Отсутствующие/желаемые эпизоды |
| Очередь загрузки |
| Предстоящие эпизоды |
| Профили качества и корневые папки |
| Запуск поиска отсутствующих эпизодов |
Инструменты Radarr (8 инструментов)
Функция | Описание |
| Список фильмов с опциональным фильтром по названию |
| Поиск новых фильмов в TMDB |
| Добавление фильма по TMDB ID |
| Отсутствующие/желаемые фильмы |
| Очередь загрузки |
| Предстоящие фильмы |
| Профили качества и корневые папки |
| Запуск поиска отсутствующих фильмов |
Кросс-сервисные инструменты (1 инструмент)
Функция | Описание |
| Проверка статуса подключения Sonarr/Radarr |
Инструменты Trakt (9 инструментов)
Функция | Описание |
| Запуск процесса OAuth Trakt.tv |
| Завершение аутентификации |
| Проверка статуса аутентификации |
| Синхронизация истории Plex с Trakt |
| Получение данных Trakt для сравнения |
| Расширенная статистика от Trakt |
| Поиск в базе данных Trakt |
| Скробблинг в реальном времени |
| Проверка статуса операции синхронизации |
Получение вашего токена Plex
Откройте веб-приложение Plex в браузере
Перейдите в Settings > Account > Privacy
Нажмите "Show Advanced" внизу
Скопируйте ваш токен Plex
Альтернативный метод:
Посетите:
http://YOUR_PLEX_IP:32400/web/index.html#!/settings/accountНайдите поле "Plex Token"
Структура проекта
plex-mcp-server/
├── src/
│ ├── plex-mcp-server.ts # Unified server entry point (44+ tools)
│ ├── index.ts # Deprecated shim → plex-mcp-server
│ ├── plex-arr-server.ts # Deprecated shim → plex-mcp-server
│ ├── plex-trakt-server.ts # Deprecated shim → plex-mcp-server
│ ├── plex/ # Shared Plex module
│ │ ├── client.ts # Plex API client
│ │ ├── tools.ts # Plex tool implementations
│ │ ├── tool-registry.ts # Map-based tool dispatch
│ │ ├── tool-schemas.ts # MCP tool schema definitions
│ │ ├── constants.ts # Configuration defaults
│ │ └── types.ts # TypeScript type definitions
│ ├── arr/ # Sonarr/Radarr module
│ │ ├── client.ts # Base ArrClient + Sonarr/Radarr subclasses
│ │ ├── mcp-functions.ts # Tool implementations (17 tools)
│ │ ├── tool-registry.ts # Map-based tool dispatch
│ │ ├── tool-schemas.ts # MCP tool schema definitions
│ │ ├── constants.ts # Configuration defaults
│ │ └── types.ts # TypeScript type definitions
│ ├── trakt/ # Trakt.tv module
│ │ ├── client.ts # Trakt API client + OAuth
│ │ ├── sync.ts # Plex-to-Trakt sync engine
│ │ ├── mapper.ts # Plex-to-Trakt data mapping
│ │ ├── mcp-functions.ts # Tool implementations (9 tools)
│ │ ├── tool-registry.ts # Map-based tool dispatch
│ │ └── tool-schemas.ts # MCP tool schema definitions
│ ├── shared/ # Shared utilities
│ │ └── utils.ts # truncate, sleep, chunkArray
│ └── __tests__/ # Test suite (94 tests)
├── build/ # Compiled JavaScript output
├── docs/ # Documentation
├── package.json
├── tsconfig.json
├── vitest.config.ts
├── .env.example # Environment variables template
└── README.mdРазработка
Скрипты
# Development mode with auto-reload
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Run tests
npm test
npm run test:watchСборка из исходного кода
git clone https://github.com/niavasha/plex-mcp-server.git
cd plex-mcp-server
npm install
npm run devВклад в проект
Вклад приветствуется! Пожалуйста, не стесняйтесь отправлять Pull Request. Для серьезных изменений, пожалуйста, сначала откройте issue, чтобы обсудить, что вы хотите изменить.
Руководство по разработке
Сделайте форк репозитория
Создайте ветку для функции (
git checkout -b feature/amazing-feature)Закоммитьте изменения (
git commit -m 'Add amazing feature')Отправьте в ветку (
git push origin feature/amazing-feature)Откройте Pull Request
Устранение неполадок
Распространенные проблемы
Connection refused:
Убедитесь, что ваш сервер Plex запущен
Проверьте
PLEX_URLв конфигурации средыУбедитесь, что порт (обычно 32400) правильный
Ошибки аутентификации:
Убедитесь, что ваш токен Plex правильный
Проверьте разрешения токена в настройках Plex
Убедитесь, что срок действия токена не истек
Пустые ответы:
Некоторые функции требуют Plex Pass
Проверьте, доступны ли ваши библиотеки
Убедитесь, что медиафайлы были просканированы и доступны
Проблемы с подключением Sonarr/Radarr:
Убедитесь, что Sonarr/Radarr запущен и доступен с хоста MCP-сервера
Проверьте прави
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/niavasha/plex-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server