embyfin-mcp
MCP server that finds what is wrong in an Emby or Jellyfin library and helps fix it, with Go clients for both.
Install / Use
claude mcp add katbyte -- npx -y github:katbyte/embyfin-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of embyfin-mcp
embyfin-mcp scores 72/100 on our quality scale, 3762nd of 4,613 Development & Engineering skills we index.
Its MCP Server is 7.4 KB long, well organised into 8 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 4 days ago, so embyfin-mcp is actively maintained.
- It is released under GPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
embyfin-mcp compared with similar skills
All 4 of these similar skills score higher than embyfin-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| embyfin-mcp (this skill)by katbyte | 72 | 3 | 4d ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 110.6k | 1d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.2k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.9k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 69.8k | today | CLAUDE.md |
Frequently asked questions
- How do I install embyfin-mcp?
- Run
claude mcp add katbyte -- npx -y github:katbyte/embyfin-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does embyfin-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is embyfin-mcp safe to use?
- It is GPL-3.0-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is embyfin-mcp still maintained?
- The repository was last updated 4 days ago, so embyfin-mcp is actively maintained.
Skill content
View source on GitHubembyfin-mcp
An MCP server that finds what is wrong in an Emby or Jellyfin library and helps fix it, from Claude Code, Claude Desktop or any other MCP client.
Detection is code, correction is judgment. The server runs cheap, exact checks over the whole library and returns short worklists. The model reasons only about what they flag.
Install
brew install katbyte/tap/embyfin-mcp
# or
go install github.com/katbyte/embyfin-mcp@latest
A Docker image is published at ghcr.io/katbyte/embyfin-mcp. Tested against Emby 4.10 and Jellyfin 12.2.
Quick start
Make an API key in the server's dashboard, then put three settings in ~/.embyfin-mcp:
BACKEND=jellyfin
SERVER=http://nas:8096
TOKEN=...
Check that it connects, and register it with Claude Code:
embyfin-mcp info
claude mcp add embyfin -e EMBYFIN_TOOLSETS=curation -- embyfin-mcp serve
That loads the audits and everything that fixes what they find. Without EMBYFIN_TOOLSETS it loads six read-only tools.
The audits
Each audit checks a whole library for one thing that goes wrong. Each name links to its full rules.
| Audit | What it catches |
|---|---|
| audit_all | Runs the audits in one call and counts what each found. Start here. |
| audit_missing_metadata | Items with no match, no poster or no plot. Fix with item_identify, item_artwork_set or item_refresh. |
| audit_file_path | Files and folders named for another title, year or episode than the server holds. Fix with item_identify or item_edit, or rename the file. |
| audit_duplicates | The same film or show held as two entries. quality_compare says which copy is better. |
| audit_multiple_versions | One entry made of several files, such as a 4K and a 1080p copy. quality_compare says which is better. |
| audit_runtime | Runtimes nothing can have: under 2 minutes, or 12 hours and over. Replace the file, or remove it with item_delete. |
| audit_quality | Copies worth replacing: low resolution, an old format or a low bitrate. quality_compare weighs two copies. |
| audit_missing_episodes | Episodes and seasons a series is missing. show_missing checks one series. |
| audit_duplicate_episodes | One episode filed under two numbers in a season. item_delete removes the copy to go. |
| audit_spelling | Genres, tags and studios spelled more than one way. Fix with metadata_rename. |
| audit_whitespace | Stray spaces in names, tags and file names. Fix with item_edit or metadata_rename. |
| audit_language | What has, or lacks, audio or subtitles in a language. item_subtitle_download fetches subtitles. |
| audit_unwatched | Films or series nobody has watched: what to archive, remove with item_delete, or recommend with a playlist or collection. |
| audit_disc_folders | A disc copied in as loose files, which the server reads as many films. Remux the feature to one file, then library_scan. |
| audit_previews | Missing or damaged preview thumbnails, on Emby. Fix with item_previews_regenerate. |
| audit_anime_ids | Anime whose ids disagree with the community Anime-Lists. Fix a wrong match with item_identify. |
| audit_provider | Ids and runtimes that disagree with TMDB. Fix a wrong match with item_identify. Needs a TMDB key. |
| audit_orphans | Items a removed library left behind. Fix with item_orphans_delete. |
The tools
There are 92 tools. Only core loads by default, because every tool's description takes room in the client's context. Load what the job needs with EMBYFIN_TOOLSETS.
| Toolset | For | Tools |
|---|---|---|
| core | Finding libraries and items; always loaded | 6 |
| curation | The audits, and everything that fixes what they find | 39 |
| watching | Watch history, what is next, marking things watched | 8 |
| organise | Playlists and collections | 10 |
| remote | What is playing, and controlling it | 4 |
| admin | Libraries, scans, tasks, logs, accounts and deleting files | 25 |
| all | Everything | 92 |
Three more settings matter early:
EMBYFIN_READ_ONLYloads only the tools that change nothing.EMBYFIN_ENABLE_DELETEloads the tools that delete. It is off by default, and nothing deleted can be brought back.EMBYFIN_TMDB_TOKENadds the checks that compare with TMDB.
More
- The audits: each audit's full rules, edge cases and options.
- The tools: every tool, by what it acts on, and how deleting works.
- Choosing which tools load: toolsets, families, allow and deny lists.
- Configuration: every setting, the settings file, and two servers at once.
- Running it as a service: over HTTP, and in Docker.
- A typical curation session: the audits and their fixes, in order.
- Cleaning up after a removed library: removing what it left behind.
- Using the Go clients on their own: typed clients for the Emby, Jellyfin and TMDB APIs, with no MCP in them.
- Development: building, the tests and the fixtures.
- Contributing: what a change needs, and how releases are cut.
How this is built
- I set the design, the scope and the audit rules, and I decide what stays.
- Every tool must have a live test against a real Emby and a real Jellyfin in Docker. CI fails if a tool has none.
- The generated Go clients are checked another way. Every operation must have a method, and a sweep calls every read against the live servers. Every write embyfin's own code sends must be reached by a live test, and CI fails if one is not.
- CI lints with golangci-lint, actionlint, yamllint, ShellCheck, typos and markdownlint. golangci-lint covers every Go file, the generated clients and the live tests included.
- For security it runs CodeQL, govulncheck, zizmor on the workflows, and a Trivy scan of the built binary.
Related Skills
taste-skill
110.6kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
109.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
69.8kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
