jellyfin-mcp
WIPJellyfin media server control.
WHAT IT DOES
jellyfin-mcp is a Model Context Protocol server for
Jellyfin.
Point an MCP-compatible client at it and your media server becomes a set of tools the
agent can call: list who is watching what, pause a session, scan a library, run a
scheduled task, message a client, or manage users, all as typed tool calls.
It exposes 56 tools across system info, libraries, users, sessions, items, scheduled
tasks, user-data writes, playlists, collections, discovery, and Quick Connect.
Destructive or privileged operations (restart, shutdown, delete_user,
set_user_password, Quick Connect authorize, Continue Watching clears, bulk session
controls, resume-position writes) require an explicit confirm: true.
Upstream Jellyfin error responses are summarized to status only before being returned to the model; the full body is logged to stderr for operators, so internal server detail is not surfaced to the assistant.
Status: work in progress. Published to npm as jellyfin-mcp (v0.4.0);
expect the tool surface to keep shifting while it stabilizes.
INSTALL
Published to npm. Install globally to get the jellyfin-mcp binary, or build
from source. Requires Node.js 20+ and a Jellyfin server with API access.
Configure with JELLYFIN_URL and JELLYFIN_API_KEY (Dashboard
› API Keys). Optional: JELLYFIN_TIMEOUT (default 30s) and
JELLYFIN_VERIFY_SSL (set false only for self-signed certs;
the relaxed check is scoped to the Jellyfin connection alone).
CLIENT CONFIG
A sample mcpServers entry (Claude Desktop, or any MCP client that reads the
same shape). It runs the installed binary over stdio.
{
"mcpServers": {
"jellyfin": {
"command": "jellyfin-mcp",
"env": {
"JELLYFIN_URL": "http://localhost:8096",
"JELLYFIN_API_KEY": "your-api-key-here"
}
}
}
}
For Claude Code use claude mcp add jellyfin --env JELLYFIN_URL=... --env
JELLYFIN_API_KEY=... -- jellyfin-mcp. The README also documents OpenClaw, Codex
CLI, and Hermes Agent, plus an SSH-tunnel recipe for a remote Jellyfin bound to
localhost.
CAPABILITIES / TOOLS EXPOSED
56 MCP tools across system, libraries, sessions and playback, user data, items, playlists, collections, discovery, users, tasks, and Quick Connect. Grouped below; see the README for the full per-argument reference.
System & libraries
Sessions & playback
User data & discovery
Items, playlists & collections
Users, tasks & Quick Connect
Note: jellyfin_set_user_password takes the new password as plaintext tool
input, so it transits the LLM conversation and provider logs. Treat any password set
this way as exposed: use a throwaway value or set passwords in the Jellyfin dashboard.