返回 MCP 目录
public公开dns本地运行

plex-mcp

Plex MCP Server是一个基于Python的服务,通过PlexAPI库与Plex媒体服务器API集成,提供电影搜索、播放列表管理等功能。支持按导演/类型筛选电影、查找缺失影片、创建播放列表等操作,可通过Claude应用配置使用。

article

README

🚀 Plex MCP 服务器

这是一个基于 Python 的 MCP 服务器,它与 Plex 媒体服务器 API 集成,可用于搜索电影和管理播放列表。该服务器借助 PlexAPI 库,实现了与 Plex 服务器的无缝交互。

🚀 快速开始

Plex MCP 服务器能让你轻松与 Plex 媒体服务器交互,实现电影搜索和播放列表管理等功能。以下是使用前的安装和配置步骤。

✨ 主要特性

  • 按导演查找电影:可通过指定导演姓名在 PLEX 库中搜索电影。
  • 查找缺失电影:能识别特定导演作品中不在 PLEX 库中的电影。
  • 创建播放列表:可使用搜索到的电影在 PLEX 库中创建新播放列表。

📦 安装指南

先决条件

  • Python 3.8 或更高版本
  • uv 包管理器
  • 带有 API 访问权限的 Plex 媒体服务器

安装方法

使用 Smithery 自动安装

要通过 Smithery 自动为 Claude 桌面安装 Plex 媒体服务器集成,可运行以下命令:

npx -y @smithery/cli install @djbriane/plex-mcp --client claude

手动安装

  1. 克隆此仓库:
git clone <repository-url>
cd plex-mcp
  1. 使用 uv 安装依赖项:
uv venv
source .venv/bin/activate
uv install
  1. 运行服务器:
uv run python src/main.py

📚 详细文档

配置

环境变量

创建一个 .env 文件,并添加以下内容:

PLEX_SERVER_URL=https://your-plex-server-url:32400
PLEX_TOKEN=yourPlexTokenHere

使用方法

运行服务器后,您可以通过 API 或 Web 界面与 Plex 交互。

命令列表

以下是 Plex MCP 服务器支持的主要命令: | 命令 | 描述 | | ---- | ---- | | search_movies | 搜索 PLEX 库中的电影 | | create_playlist | 创建新播放列表 | | add_to_playlist | 将电影添加到播放列表 | | remove_from_playlist | 从播放列表中移除电影 | | delete_playlist | 删除播放列表 |

整合测试

端到端测试

在项目根目录下运行以下命令执行端到端测试:

uv run pytest tests/

集成测试

要运行集成测试,请先创建一个包含 Plex 配置的 .env 文件,然后运行:

uv run pytest -m integration

代码风格和约定

  • 模块结构:使用清晰的部分标题来区分导入、日志设置、实用函数、类定义、全局辅助工具和主执行部分(由 if __name__ == "__main__": 保护)。
  • 命名约定:使用 CamelCase 定义类,使用 lower_snake_case 定义函数、变量和 fixtures。在测试中,将内置 fixture(如 monkeypatch)列在自定义 fixture 之前。
  • 文档与注释:每个模块、类和函数都包含简洁的 docstring,并为复杂逻辑添加内联注释。
  • 错误处理与日志记录:使用 Python 的 logging 模块,使用一致的错误消息(以 “ERROR:” 为前缀)和显式的异常处理。
  • 异步模式:将 I/O 绑定函数定义为异步,并在处理阻塞操作时使用 asyncio.to_thread()

🔍 截图

1. 按导演查找 PLEX 库中的电影

通过指定导演姓名在您的 PLEX 库中搜索电影。例如,搜索 "Alfred Hitchcock" 将返回他在您库中的电影列表。 按导演查找电影

2. 查找某个导演的缺失电影

识别特定导演作品中不在您 PLEX 库中的电影。这有助于发现您收藏中的空白。 查找缺失电影

3. 在您的 PLEX 库中创建播放列表

使用搜索到的电影在您的 PLEX 库中创建新播放列表。这样可以方便地组织您的库。 创建播放列表

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端