Jellyfin MCP Server

io.github.AeLuiPublished by GitHub account AeLuiv0.5.0Updated Nov 7, 2026

Jellyfin plugin: search, play and manage your media library from AI assistants, per-user tokens.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowMedia & Design

Overview

AI-generated overview

Jellyfin plugin that lets an AI assistant search and browse your media library, control playback, and manage playlists and favorites.

What you can do
  • Search, browse and inspect the library: details, people, recent, next up, continue watching, history, similar items, recommendations, collections, audio and subtitle tracks
  • List playback sessions and play, control playback, switch tracks, or show a message on a device
  • Manage the user's own watch state and favorites, plus playlists they own or may edit
  • Administrator tasks: users, scheduled tasks, library scan, metadata refresh, server status, all sessions, activity log
When to use it
Useful when you run Jellyfin 12.x and want an assistant to find something to watch, resume or control playback on your devices, or tidy up playlists and favorites from a chat client such as Claude Code.
Requirements
A Jellyfin 12.x server with the MCP Server plugin installed and restarted. A token created in Dashboard > Plugins > MCP Server, choosing the user and scopes, sent as an Authorization bearer header. The endpoint is the server's /mcp path over Streamable HTTP. Claude Desktop needs Node.js for npx mcp-remote.
Before you install
The token is shown only once and grants the scopes you pick, including admin tools for users, tasks and library scans; store it securely. Calls run as the token's Jellyfin user, and playback, favorites, playlists and admin actions change server state. claude.ai web connectors need OAuth, which the plugin does not offer, so read the security notes before exposing the endpoint beyond your LAN.

Installation

In SourceWeft

  1. Open Jellyfin MCP Server in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Follow the launch instructions in the repository.

README

Jellyfin MCP Server plugin

[MCP Server for Jellyfin]

A Jellyfin plugin that exposes your server to AI assistants through the Model Context Protocol (MCP). Assistants such as Claude can search and browse your library, see what you are watching, control playback on your devices, manage playlists and favorites, and (for administrators) run server tasks. Every call runs as the Jellyfin user who owns the access token, limited to that user's permissions and to the scopes granted to the token. The plugin has no runtime dependencies besides Jellyfin itself.

Compatibility

  • Jellyfin 12.x only (compiled against 12.4.0, targetAbi 12.4.0.0). Older servers are not supported.
  • Built with .NET 10.
  • MCP transport: Streamable HTTP, stateless, POST /mcp. Protocol revisions 2026-07-28 (stateless, with server/discover) and 2025-11-25, 2025-06-18 and 2025-03-26 (with initialize). Tools return structuredContent described by an outputSchema.
  • Clients that send a static Authorization: Bearer header work; Claude Code is the supported client. Claude Desktop through mcp-remote is expected to work but is not yet verified. claude.ai web connectors need OAuth, which this plugin does not offer.

Install in three steps

  1. In Jellyfin go to Dashboard > Plugins > Repositories > + and add https://raw.githubusercontent.com/AeLui/jellyfin-plugin-mcp/main/manifest.json.
  2. Open the Catalog, install MCP Server and restart Jellyfin.
  3. Open Dashboard > Plugins > MCP Server, create a token (pick the user and the scopes) and copy it. It is shown only once.

More detail, including a manual install, is in docs/installation.md.

Connect a client

Replace https://jellyfin.example.com with your server address and jmcp_... with your token.

Claude Code, with the plugin from this repository's marketplace (connects the server and adds the agent skill; it asks for the URL and the token, and keeps the token in your system's credential store):

/plugin marketplace add AeLui/jellyfin-plugin-mcp/plugin install jellyfin-mcp@jellyfin-plugin-mcp

On Claude Code 2.1.275 or later, one step is enough: /plugin install jellyfin-mcp --marketplace AeLui/jellyfin-plugin-mcp. To change the URL or token later, run /plugin configure jellyfin-mcp@jellyfin-plugin-mcp.

Claude Code, server only:

bash
claude mcp add --transport http jellyfin https://jellyfin.example.com/mcp \  --header "Authorization: Bearer jmcp_..."

Claude Desktop (claude_desktop_config.json; requires Node.js because it runs npx mcp-remote):

json
{  "mcpServers": {    "jellyfin": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://jellyfin.example.com/mcp",               "--header", "Authorization: Bearer jmcp_..."]    }  }}

The token dialog in the plugin page generates both snippets for you. The Claude Desktop flow is expected to work but has not been verified against a live server yet.

Scopes and tools

29 tools in four scopes. A token only sees the tools its scopes allow.

ScopeToolsPurpose
library13Read-only: search, browse, details, people, recent, next up, continue watching, history, similar items, movie recommendations, collections, audio and subtitle tracks
playback4List sessions, play (with audio and subtitle track choice), control playback and switch tracks, show a message
manage4The user's own watch state and favorites, plus playlists the user owns or may edit
admin8Users, scheduled tasks, library scan, metadata refresh, server status, all users' sessions, activity log (administrators only)

Full reference: docs/tools.md.

Agent skill

skills/jellyfin-mcp/SKILL.md is an optional Agent Skill that teaches an assistant when and how to use these tools: getting ids before acting, picking a playback session, paging, and asking before destructive actions.

The Claude Code plugin above includes it. Other agents: copy the skills/jellyfin-mcp folder into their skills directory (for Claude Code without the plugin, ~/.claude/skills/ or .claude/skills/ in a project). If you install the plugin, remove any server you added with claude mcp add, or the tools show up twice.

Privacy

The plugin runs inside your Jellyfin server and makes no outbound connections. The Claude Code plugin connects only to the Jellyfin URL you configure. What your assistant does with the tool results is governed by the assistant's own privacy policy.

Documentation

Support the project

The plugin is free and open source. If it is useful to you, you can support its development through GitHub Sponsors.

License

GPL-3.0, see LICENSE.

Source: README.md at commit cbe51ed

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

3
  1. v0.5.0LatestNov 7, 2026
  2. v0.2.0Nov 6, 2026
  3. v0.1.0Nov 4, 2026

Score

60% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts