Plex Mcp

Plex Mcp

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

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-27 23:09

相似服务问题