Jellyfin MCP Server
Jellyfin plugin: search, play and manage your media library from AI assistants, per-user tokens.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http jellyfin-mcp-server 'https://{jellyfin_host}/mcp' --header 'Authorization: <"Bearer <token>" with a token created in Jellyfin Dashboard > Plugins > MCP Server>'
{
"mcpServers": {
"jellyfin-mcp-server": {
"type": "http",
"url": "https://{jellyfin_host}/mcp",
"headers": {
"Authorization": "<\"Bearer <token>\" with a token created in Jellyfin Dashboard > Plugins > MCP Server>"
}
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Jellyfin MCP Server plugin
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,
targetAbi12.4.0.0). Older servers are not supported. - Built with .NET 10.
- MCP transport: Streamable HTTP, stateless,
POST /mcp. Protocol revisions 2025-11-25, 2025-06-18 and 2025-03-26. The stateless 2026-07-28 revision is not supported yet (see the roadmap). - Clients that send a static
Authorization: Bearerheader work; Claude Code is the supported client. Claude Desktop throughmcp-remoteis expected to work but is not yet verified. claude.ai web connectors need OAuth and are not supported yet.
Install in three steps
- In Jellyfin go to Dashboard > Plugins > Repositories > + and add
https://raw.githubusercontent.com/AeLui/jellyfin-plugin-mcp/main/manifest.json. - Open the Catalog, install MCP Server and restart Jellyfin.
- 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:
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):
{
"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
22 tools in four scopes. A token only sees the tools its scopes allow.
| Scope | Tools | Purpose |
|---|---|---|
library | 9 | Read-only: search, browse, details, people, recent, next up, continue watching, history |
playback | 4 | List sessions, play, control playback, show a message |
manage | 4 | The user's own watch state and favorites, plus playlists the user owns or may edit |
admin | 5 | Users, scheduled tasks, library scan, metadata refresh (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
- Installation and client setup
- Tool reference
- Security model - read this before exposing the endpoint beyond your LAN
- Architecture
- Development
- Roadmap
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.
Frequently asked questions
What is Jellyfin MCP Server?
Jellyfin plugin: search, play and manage your media library from AI assistants, per-user tokens.
How do I install Jellyfin MCP Server?
It runs as a remote server. In Claude Code: claude mcp add --transport http jellyfin-mcp-server 'https://{jellyfin_host}/mcp' --header 'Authorization: <"Bearer <token>" with a token created in Jellyfin Dashboard > Plugins > MCP Server>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Jellyfin MCP Server need an API key?
Yes. It expects Authorization, which you set in its configuration.
Is Jellyfin MCP Server open source?
Yes. Its code is on GitHub under the GPL-3.0 license.
Who maintains Jellyfin MCP Server?
It is published by AeLui. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.