Back to MCP directory
publicPublicdnsLocal runtime

plex-mcp-server

Plex MCP Server是一个为Plex Media Server提供标准化JSON接口的中间层服务,支持多种传输方式和丰富的媒体管理功能。

article

README

🚀 Plex MCP 服务器

Plex MCP 服务器是一个强大的模型 - 控制器 - 协议服务器,它能够与 Plex 媒体服务器进行交互,通过提供标准化的 JSON 接口,助力实现自动化操作、脚本编写以及与其他工具的集成,极大提升了媒体管理的便捷性和效率。

🚀 快速开始

Plex MCP Server 在 Plex 媒体服务器 API 之上构建了统一的 API 层,具备以下优势:

  • 标准化 JSON 响应:确保能与自动化工具、人工智能系统及其他集成工具完美兼容。
  • 多种传输方式:支持标准输入输出和 SSE 两种方式,提供灵活的集成选项。
  • 丰富的命令集:可用于管理库、集合、播放列表、媒体、用户等各类操作。
  • 一致的错误处理格式:便于开发者快速定位和解决问题。
  • 易于集成:能轻松与自动化平台(如 n8n)和自定义脚本集成。

✨ 主要特性

  • 提供标准化的 JSON 接口,方便与各种工具集成。
  • 支持多种传输方式,满足不同场景需求。
  • 拥有丰富的命令集,可对媒体服务器进行全面管理。
  • 具备一致的错误处理格式,提升开发效率。

📦 安装指南

安装前提

  • Python 3.8+
  • 带有有效认证令牌的 Plex Media Server
  • 可访问 Plex 服务器(本地或远程)

安装步骤

  1. 克隆此仓库。
  2. 安装所需的依赖项:
    pip install -r requirements.txt
    
  3. 根据 .env.example 创建一个 .env 文件:
    cp .env.example .env
    
  4. 将您的 Plex 服务器 URL 和令牌添加到 .env 文件中:
    PLEX_URL=http://your-plex-server:32400
    PLEX_TOKEN=your-plex-token
    

💻 使用示例

标准输入输出(stdio)模式

启动服务器的命令如下:

python server.py

SSE 模式

启动服务器的命令如下:

python sse_server.py

📚 详细文档

命令模块

库模块

  • add_library:添加新的库。
  • remove_library:删除现有库。
  • list_libraries:列出所有库。
  • update_library:更新特定库的配置。

媒体模块

  • search_media:按标题、类型或年份搜索媒体。
  • get_media_info:获取特定媒体的详细信息。
  • add_media:添加新的媒体到库中。
  • remove_media:从库中删除特定媒体。

播放列表模块

  • create_playlist:创建新的播放列表。
  • delete_playlist:删除现有的播放列表。
  • add_to_playlist:将媒体添加到播放列表中。
  • remove_from_playlist:从播放列表中移除媒体。

响应格式

成功操作响应

对于成功操作,响应通常包括:

{
  "success_field": true,
  "relevant_data": "value",
  "additional_info": {}
}

错误响应

对于错误,响应格式为:

{
  "error": "错误消息,描述发生的问题"
}

多匹配项响应

对于多个匹配项(按标题搜索时),结果以包含识别信息的对象数组的形式返回:

[
  {
    "title": "项目标题",
    "id": 12345,
    "type": "电影",
    "year": 2023
  },
  {
    "title": "另一个项目",
    "id": 67890,
    "type": "剧集",
    "year": 2022
  }
]

🔧 技术细节

为了开发和调试,您可以使用随附的 watcher.py 脚本,该脚本会监视文件更改并自动重启服务器,大大提高开发效率。

📄 许可证

[在此处包含您的许可信息]

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