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

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