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
手动安装
- 克隆此仓库:
git clone <repository-url>
cd plex-mcp
- 使用
uv安装依赖项:
uv venv
source .venv/bin/activate
uv install
- 运行服务器:
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 库中创建新播放列表。这样可以方便地组织您的库。

扫码联系在线客服