/ 目錄 / 演練場 / media-library-organizer-skill
● 社群 Innei ⚡ 即開即用

media-library-organizer-skill

作者 Innei · Innei/media-library-organizer-skill

為 Jellyfin/Plex/Emby 整理媒體庫——清除垃圾檔案、合併分散的劇集、統一資料夾命名規則,並透過 TMDB 驗證完整性。

一個 Claude Code 技能(附帶獨立 bash 腳本),可系統性地整理媒體伺服器的電影/劇集/動漫庫。掃描目錄、移除垃圾檔案(.DS_Store、SMB 殘留、空資料夾)、依標題+年份+畫質合併重複項目、整合分散在不同發布組的資料夾、統一命名為 Title (Year) 格式,並與 TMDB 交叉比對以標記缺失的劇集。採分層安全機制:僅有確定是垃圾的刪除操作會自動執行——實質性變更需等待你的確認。

為什麼要用

核心特性

即時演示

實際使用效果

media-library-organizer-skill.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "media-library-organizer-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ],
      "_inferred": true
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "media-library-organizer-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "media-library-organizer-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ],
      "_inferred": true
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "media-library-organizer-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ],
      "_inferred": true
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "media-library-organizer-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/Innei/media-library-organizer-skill",
        "~/.claude/skills/media-library-organizer-skill"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "media-library-organizer-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/Innei/media-library-organizer-skill",
          "~/.claude/skills/media-library-organizer-skill"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add media-library-organizer-skill -- git clone https://github.com/Innei/media-library-organizer-skill ~/.claude/skills/media-library-organizer-skill

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: media-library-organizer-skill

將雜亂的下載庫整理好以供 Jellyfin 使用

👤 下載資料夾一片混亂的家用媒體伺服器使用者 ⏱ ~60 min intermediate

何時使用: 在將 Jellyfin 指向一個充滿發布組命名混亂的資料夾之前執行。

前置條件
  • Skill installed — git clone https://github.com/Innei/media-library-organizer-skill ~/.claude/skills/media-library-organizer-skill
  • TMDB API key for completeness checks — themoviedb.org -> Settings -> API -> free key
步驟
  1. 掃描與分析
    Use media-library-organizer on /media/downloads. Scan-only — list junk, duplicates, scattered episodes.✓ 已複製
    → 包含三個區塊的報告:垃圾檔案 / 重複項目 / 分散劇集
  2. 自動清理垃圾(安全層級)
    Proceed with junk cleanup (.DS_Store, SMB metadata, empty dirs).✓ 已複製
    → 少量刪除操作,無風險內容
  3. 確認並合併重複項目
    Now consolidate duplicates — I'll approve each.✓ 已複製
    → 逐一顯示標題/年份/畫質以供確認
  4. 統一資料夾命名
    Rename to Title (Year) format — warn if anything is currently seeding.✓ 已複製
    → 重新命名前顯示做種警告
  5. 透過 TMDB 驗證
    Cross-check episode counts against TMDB — list missing.✓ 已複製
    → 每部劇集的缺失集數清單

結果: Jellyfin/Plex 能辨識所有內容;缺少的集數一目了然。

注意事項
  • 重新命名導致正在做種的 Torrent 中斷 — 技能會發出警告;重新命名前請先停止做種或建立硬連結
  • 合併不同畫質版本時遺失了較好的版本 — 技能會優先保留較高畫質的版本——確認前請仔細核對
搭配使用: filesystem

整合混雜多個發布組的動漫庫

👤 動漫收藏者 ⏱ ~45 min intermediate

何時使用: 你的動漫庫中每部作品分散在不同資料夾下有 3 個發布組版本。

步驟
  1. 掃描
    Scan /anime for scattered-episode patterns across release groups.✓ 已複製
    → 每部作品的合併候選清單
  2. 為每部作品選擇標準版本
    For each candidate, pick the highest-quality release group and merge others into it (or trash).✓ 已複製
    → 每部作品各有一個命名一致的資料夾

結果: 每部作品只有一個資料夾,且命名一致。

組合

與其他 MCP 搭配,撬動十倍槓桿

media-library-organizer-skill + filesystem

在同一個工作階段中編輯 NFO 檔案或自訂附屬檔案

While organizing, also add .nfo files for each movie with TMDB id.✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
scan root path 任何整理工作階段的起始步驟 0 — local
clean_junk root path, safe_only=true 第一次破壞性清理操作 0
merge_duplicates duplicate pair list 重複項目經確認後執行 0
normalize_names root path 清理完成後執行 0
verify_tmdb show paths, TMDB_API_KEY 執行完整性檢查 TMDB free quota

成本與限制

運行它的成本

API 配額
TMDB:免費方案對家用媒體庫來說非常充裕
每次呼叫 Token 數
低——技能主要是協調 shell 指令
費用
免費
提示
先執行僅掃描模式;確定要進行清理後再執行完整分析,避免浪費 token

安全

權限、密鑰、影響範圍

最小權限: Filesystem read/write on the library root only
憑證儲存: TMDB 金鑰存放於環境變數中
資料出站: TMDB API 用於完整性檢查(僅限公開後設資料)
切勿授予: Run as root on the media disk — use a user with write on just the library

故障排查

常見錯誤與修復

Everything flagged as 'junk'

你指定的路徑不是媒體資料夾——請確認根目錄是否正確

驗證: ls /media/downloads
TMDB verify returns 401

TMDB_API_KEY 未設定或設定錯誤

驗證: curl https://api.themoviedb.org/3/movie/550?api_key=$TMDB_API_KEY
Jellyfin still doesn't detect after rename

強制重新掃描媒體庫;確認資料夾名稱符合 Jellyfin 預期的命名格式

替代方案

media-library-organizer-skill 對比其他方案

替代方案何時用它替代權衡
FileBot你想要有圖形介面且內建規則的工具需付費,無 Claude 整合循環
tinyMediaManager你的需求側重於後設資料管理而非垃圾清理不支援合併或分散劇集處理

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills