Plex媒体管理工具

MCP服务器为Plex Media Server提供媒体发现、搜索、库管理和播放控制功能,包含24种精细工具,适用于Claude和其他LLM代理。

  • by obrien-matthew
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 obrien-matthew/mcp-plex

使用说明

mcp综合体

Plex Media server的MCP服务器,专注于媒体发现、搜索、库管理和播放控制。24个专为与Claude和其他LLM代理一起使用而设计的粒度工具。

先决条件

设置

1.获取您的Plex令牌

查找Plex令牌的最简单方法:

  1. 登录到…… Plex Web应用程序
  2. 浏览到任何媒体项目并单击 显示简介 (或 ... > 显示简介)
  3. 点击 查看XML 在左下角
  4. 在URL栏中,找到 X-Plex-Token= 参数——这是你的令牌

或者,检查 Plex支持文章 对于其他方法。

2.安装

cd mcp-plex
uv sync

3.配置环境变量

在运行服务器之前设置这些:

export PLEX_SERVER_URL="http://your-plex-server:32400"
export PLEX_TOKEN="your_plex_token"

4.测试连接

uv run mcp-plex-server

服务器在启动时连接到您的Plex服务器并验证令牌。如果连接失败,请检查您的服务器URL和令牌是否正确。

克劳德桌面/Claude代码配置

添加到您的MCP服务器配置中。如果从PyPI安装:

{
  "mcpServers": {
    "plex": {
      "command": "uvx",
      "args": ["mcp-plex-server"],
      "env": {
        "PLEX_SERVER_URL": "http://your-plex-server:32400",
        "PLEX_TOKEN": "your_plex_token"
      }
    }
  }
}

或者,如果从本地克隆运行:

{
  "mcpServers": {
    "plex": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-plex", "run", "mcp-plex-server"],
      "env": {
        "PLEX_SERVER_URL": "http://your-plex-server:32400",
        "PLEX_TOKEN": "your_plex_token"
      }
    }
  }
}

工具

发现

工具 参数 说明
search_media query, media_type="", limit=20 搜索所有图书馆。可选类型过滤器:“电影”、“节目”、“剧集”、“艺术家”、“专辑”、“曲目”。
get_recently_added limit=20, library_name="" 最近添加的媒体,可选择过滤到库中。
get_on_deck limit=10 继续观看/下一集列表。

图书馆浏览

工具 参数 说明
get_libraries (无) 列出所有具有类型和项目计数的库节。
get_library_contents library_name, sort="titleSort", limit=50 浏览库。按标题、添加日期、年份或评级排序。
get_media_details rating_key 一个项目的完整细节:摘要、流派、演员、导演、评级。
get_library_stats library_name="" 一个或所有库的项目计数和统计数据。

节目

工具 参数 说明
get_seasons rating_key 列出电视节目的季节。
get_episodes rating_key, season_number=0 列出剧集(全部或按季)。

集合

工具 参数 说明
get_collections library_name 列出库中的集合(包括智能/常规类型)。
get_collection_items rating_key 获取收藏详细信息及其包含的所有项目。
create_collection library_name, title, rating_keys 从特定项目创建常规集合。
create_smart_collection library_name, title, filters, libtype="", sort="", limit=0 创建智能(基于过滤器)自动更新集合。
edit_collection rating_key, title="", summary=None, sort_order="", mode="" 编辑集合元数据(标题、摘要、排序、显示模式)。
add_to_collection rating_key, item_rating_keys 将项目添加到常规收藏中。
remove_from_collection rating_key, item_rating_keys 从常规收藏中删除项目。
delete_collection rating_key 删除收藏集(不影响媒体项目)。

播放列表

工具 参数 说明
get_playlists (无) 列出服务器上的所有播放列表。
get_playlist_items rating_key 获取播放列表中的项目。

观察状态

工具 参数 说明
mark_watched rating_key 将电影、剧集或曲目标记为已完全观看。
mark_unwatched rating_key 将项目标记为未监视,重置进度。
remove_from_continue_watching rating_key 从“继续观看/在甲板上”中删除电影或剧集。
set_playback_progress rating_key, progress_ms 以毫秒为单位设置播放位置(必须大于0)。

管理

工具 参数 说明
scan_library library_name 触发后台库扫描。

发展

uv run mcp-plex-server              # Run the server
uv run ruff check src/       # Lint
uv run ruff format src/      # Format
uv run pyright src/          # Type check

预提交钩子

此项目使用 左钩 用于预提交检查。安装时使用 brew install lefthook (或参见 其他安装方法)那么:

lefthook install