Plex媒体服务器管理插件

一款用于Plex媒体服务器管理的Claude插件,提供自动化库更新、智能媒体文件命名和自动导入功能。

  • by nickperrott
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 nickperrott/plex-claude-plugin

使用说明

Plex克劳德插件

用于Plex媒体服务器管理的Claude MCP插件。提供自动库更新、智能媒体文件命名以及带文件夹监视的自动摄取。

特性

  • 图书馆管理:列出、搜索和触发Plex库上的扫描
  • 介质标识:使用guessit解析文件名,根据TMDb进行验证,构造符合Plex的名称
  • 批处理:在一次操作中识别和重命名整个媒体文件目录
  • 自动摄入:监视文件夹中的新媒体文件,自动识别、重命名、复制到库并触发扫描
  • 安全模型:三层工具分类(读/写/阻止)可防止意外损坏

建筑

使用FastMCP构建为Python MCP服务器,遵循与 TrueNAS克劳德插件.

Claude Desktop / Claude Code
  |  stdio (MCP)
  v
MCP Server (FastMCP)
  +-- PlexClient (python-plexapi)
  +-- MediaMatcher (guessit + TMDb)
  +-- FileManager (copy/rename/move)
  +-- IngestWatcher (watchdog)
  +-- IngestHistory (SQLite audit log)

需求

  • Python 3.11+
  • 具有API访问权限的Plex媒体服务器
  • TMDb API密钥(免费https://www.themoviedb.org/settings/api)
  • uv包管理器

快速开始

📖 看 QUICKSTART.md 有关详细的设置说明!

1.交互式配置(推荐)

cd videodrome-plugin/montreal-v1
./setup-config.sh

此向导将:

  • ✓ 指导您完成所有设置
  • ✓ 测试Plex和TMDb连接
  • ✓ 将配置保存到 .env 文件

2.测试服务器

uv run --env-file .env videodrome

您应该看到: Plex MCP Server started successfully!

3.联系克劳德

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "plex": {
      "command": "uv",
      "args": [
        "--directory", "/FULL/PATH/TO/videodrome-plugin/montreal-v1",
        "run", "--env-file", ".env", "videodrome"
      ]
    }
  }
}

重要:使用绝对路径并重新启动Claude Desktop!

安装

克劳德桌面(.mcpb)

下载最新 .mcpb 文件来自 发布 并使用Claude Desktop打开它。

克劳德代码(插件)

claude plugin install /path/to/videodrome-plugin

手动配置

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "plex": {
      "command": "uv",
      "args": ["--directory", "/path/to/videodrome-plugin", "run", "videodrome"],
      "env": {
        "PLEX_URL": "http://192.168.1.100:32400",
        "PLEX_TOKEN": "your-plex-token",
        "TMDB_API_KEY": "your-tmdb-api-key",
        "PLEX_MEDIA_ROOT": "/data/media",
        "PLEX_INGEST_DIR": "/data/ingest"
      }
    }
  }
}

配置

变量 必填 默认 描述
PLEX_URL 是 - Plex服务器URL
PLEX_TOKEN 是 - X-Plex-Token
TMDB_API_KEY 是 - TMDb API密钥
PLEX_MEDIA_ROOT 是 - 媒体库的根路径
PLEX_INGEST_DIR 没有 - 要监视新文件的文件夹
PLEX_AUTO_INGEST 没有 false 自动处理高置信度匹配
PLEX_CONFIDENCE_THRESHOLD 没有 0.85 自动处理的最低置信度
PLEX_WATCHER_AUTO_START 没有 false 服务器启动时启动监视器

MCP工具

只读(自动批准)

  • list_libraries -列出Plex库部分
  • list_recent -最近添加的项目
  • search_library -按标题搜索
  • get_server_info -服务器状态
  • list_directory -列出本地文件
  • parse_filename -用猜测来解析
  • search_tmdb -搜索TMDb
  • get_tmdb_details / get_tmdb_episode -TMDb元数据
  • preview_rename -预览Plex兼容名称
  • batch_identify -识别目录中的所有文件
  • get_watcher_status -观察者状态
  • get_ingest_queue -待审核项目
  • get_ingest_history -过去的操作

写(需要确认)

  • scan_library -触发库扫描
  • rename_file / copy_file / move_file -文件操作
  • create_directory -创建文件夹结构
  • execute_naming_plan -批量重命名/复制
  • execute_ingest -全摄入管道
  • start_watcher / stop_watcher -控制监视器
  • approve_ingest / reject_ingest -处理排队的物品

Claude代码命令

命令 描述
/videodrome:scan 触发库扫描
/videodrome:identify 识别媒体文件
/videodrome:rename 将文件重命名为Plex格式
/videodrome:ingest 处理一个媒体文件夹
/videodrome:status 显示服务器状态
/videodrome:plan 预览命名计划
/videodrome:watch 控制文件监视器
/videodrome:review 审查待处理的摄入项目

发展

# Clone and setup
git clone https://github.com/nickperrott/videodrome-plugin.git
cd videodrome-plugin
uv sync --extra dev

# Run tests
pytest tests/ -v

# Run server locally
uv run videodrome

Plex命名约定

电影

/Movies/Movie Name (Year) {tmdb-ID}/Movie Name (Year) {tmdb-ID}.mkv

电视节目

/TV Shows/Show Name (Year)/Season 01/Show Name (Year) - s01e01 - Episode Title.mkv

许可证

麻省理工学院