Back to MCP directory
publicPublicdnsLocal runtime

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 库中创建新播放列表。这样可以方便地组织您的库。 创建播放列表

READY-TO-PASTE CONFIG

MCP client config generator

Choose your client, fill the required environment variables, then copy a config generated from this server's published metadata

terminal
data_object

This entry does not contain a standard command or remote URL, so a safe client config cannot be generated automatically

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client