返回市场
plex-mcp-服务器

plex-mcp-服务器

作者:niavasha7 星标更新:2025-11-16

项目介绍

Plex MCP 服务器

一个**模型上下文协议(MCP)**服务器,提供全面访问您的Plex媒体服务器的AI助手。查询您的库,获取观看统计数据,并通过自然语言交互管理您的媒体。

<a href="https://glama.ai/mcp/servers/@niavasha/plex-mcp-server"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=4131349074,3275721058&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Plex Server MCP服务器" /> </a>

TypeScript Node.js MCP License: MIT

🎬 这是什么?

这个MCP服务器将您的Plex媒体服务器转换成一个可由AI查询的数据库。您可以向您的AI助手提问如下问题:

  • "我最近看过哪些电影?"
  • "显示我过去一个月的观看统计数据"
  • "我服务器上最受欢迎的内容是什么?"
  • "在我的图书馆中查找动作电影"
  • "继续观看列表上有哪些内容?"

✨ 特性

📚 库管理

  • 浏览所有Plex库
  • 在电影、电视剧、音乐等之间搜索
  • 获取任何媒体项的详细元数据

📊 Tautulli风格分析

  • 全面的观看统计数据
  • 用户活动跟踪
  • 流行内容分析
  • 带有进度跟踪的观看历史
  • 库使用指标

🎯 智能查询

  • 最近观看的内容
  • 完整观看过的电影/电视剧
  • 继续观看(在队列中)
  • 最近添加的媒体

🚀 快速开始

预备条件

  • Node.js 18+
  • Plex媒体服务器(任何最新版本)
  • Plex令牌如何获取您的令牌
  • 兼容MCP客户端(如Claude Desktop等)

安装

# 克隆仓库
git clone https://github.com/niavasha/plex-mcp-server.git
cd plex-mcp-server

# 安装依赖
npm install

# 构建项目
npm run build

配置

  1. 获取您的Plex令牌(见下方说明

  2. 创建环境文件:

# 复制示例环境文件
cp .env.example .env

# 编辑您的详细信息
PLEX_URL=http://localhost:32400
PLEX_TOKEN=your_plex_token_here
  1. 配置您的MCP客户端:

在您的MCP客户端配置中添加(例如Claude Desktop):

{
  "mcpServers": {
    "plex": {
      "command": "node",
      "args": ["/path/to/plex-mcp-server/build/index.js"],
      "env": {
        "PLEX_URL": "http://localhost:32400",
        "PLEX_TOKEN": "your_plex_token_here"
      }
    }
  }
}

使用

一旦配置完成,您可以向您的AI助手提问:

🎬 "我上周看了哪些电影?"
📺 "显示我本月最热门的电视剧"
📊 "给我过去30天的观看统计数据"
🔍 "在我的图书馆中搜索克里斯托弗·诺兰的电影"
▶️ "我的继续观看列表上有什么?"
📚 "列出我所有的Plex库"

🛠️ 可用函数

函数描述示例用法
get_libraries列出所有Plex库"我有哪些库?"
search_media跨所有媒体搜索"找到汤姆·汉克斯的电影"
get_recently_added最近添加的内容"我服务器上有什么新内容?"
get_on_deck继续观看列表"我应该继续看什么?"
get_media_details详细的媒体信息"告诉我关于《黑客帝国》的信息"
get_recently_watched最近观看的内容"我昨天看了什么?"
get_fully_watched已完成的内容"展示我看过的所有电影"
get_watch_history详细的观看会话"展示我的观看历史"
get_watch_stats观看分析"我的观看统计信息"
get_user_stats用户活动数据"谁观看最多?"
get_library_stats库信息"告诉我关于我的电影库的信息"
get_popular_content最受欢迎的媒体"我服务器上流行的内容是什么?"

🔑 获取您的Plex令牌

  1. 在浏览器中打开Plex Web应用
  2. 导航到设置 → 账户 → 隐私
  3. 点击“显示高级” 在底部
  4. 复制您的Plex令牌

另一种方法:

  • 访问:http://YOUR_PLEX_IP:32400/web/index.html#!/settings/account
  • 查找"Plex令牌"字段

📁 项目结构

plex-mcp-server/
├── src/
│   └── index.ts          # 主MCP服务器实现
├── build/                # 编译后的JavaScript输出
├── package.json          # Node.js依赖和脚本
├── tsconfig.json         # TypeScript配置
├── .env.example          # 环境变量模板
├── README.md             # 此文件
└── LICENSE               # MIT许可证

🔧 开发

脚本

# 开发模式,自动重载
npm run dev

# 构建生产环境
npm run build

# 启动生产服务器
npm start

# 运行测试(如果已实现)
npm test

从源码构建

# 克隆并设置
git clone https://github.com/niavasha/plex-mcp-server.git
cd plex-mcp-server
npm install

# 开发
npm run dev

🤝 贡献

欢迎贡献!请随意提交Pull Request。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

开发指南

  1. 分叉仓库
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加精彩功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开Pull Request

🐛 故障排除

常见问题

连接被拒绝:

  • 验证您的Plex服务器是否正在运行
  • 检查.env文件中的PLEX_URL
  • 确保端口(通常是32400)正确

身份验证错误:

  • 验证您的Plex令牌是否正确
  • 检查Plex设置中的令牌权限
  • 确保令牌未过期

空响应:

  • 某些功能需要Plex Pass
  • 检查您的库是否可访问
  • 验证媒体已被扫描且可用

MCP客户端问题:

  • 确保build/index.js的路径正确
  • 检查Node.js是否在系统PATH中
  • 验证客户端配置中的环境变量已设置

获取帮助

📋 要求

  • Node.js 18.0.0或更高版本
  • Plex媒体服务器(任何最新版本)
  • 网络访问 之间的MCP服务器和Plex服务器
  • 有效的Plex令牌 并具有适当的权限

🔒 安全注意事项

  • 确保您的Plex令牌安全 - 不要将其提交到版本控制
  • 使用环境变量 对敏感配置
  • 在受信任的网络上运行 - 服务器直接与Plex通信
  • 定期轮换令牌 - 考虑定期刷新令牌

📄 许可证

此项目根据MIT许可证发布 - 详情见LICENSE文件。

🙏 致谢

  • Anthropic 提供了模型上下文协议
  • Plex 提供了出色的媒体服务器
  • Tautulli 提供了分析灵感
  • 开源社区提供了各种库和工具

🔗 相关项目


为Plex和AI社区打造 ❤️