SkillAgentSearch skills...

jellyfin-mcp

Jellyfin MCP Server and A2A / AG-UI Agent

Install / Use

claude mcp add Knuckles-Team -- npx -y github:Knuckles-Team/jellyfin-mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

67/100

Supported Platforms

Claude Code
Claude Desktop

Our assessment of jellyfin-mcp

jellyfin-mcp scores 67/100 on our quality scale, 3877th of 4,624 Development & Engineering skills we index.

Its MCP Server is 58 KB long, well organised into 47 sections with 12 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.

It has 3 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
21/30
Structure
20/20
Description
8/15
Adoption
3/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so jellyfin-mcp is actively maintained.
  • Our last check on 2026-09-20 found the source still online.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 87/100, with 2 cautions 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.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-10-18. Automated pattern scan on 2026-10-18. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

jellyfin-mcp compared with similar skills

All 4 of these similar skills score higher than jellyfin-mcp; compare them before choosing.

SkillScoreStarsUpdatedFormat
jellyfin-mcp (this skill)by Knuckles-Team673todayMCP Server
taste-skillby Leonxlnx100111.3k2d agoCLAUDE.md
Agent-Reachby Panniantong100109.7ktodayCLAUDE.md
headroomby headroomlabs-ai10079.0ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10070.1k1d agoCLAUDE.md

Frequently asked questions

How do I install jellyfin-mcp?
Run claude mcp add Knuckles-Team -- npx -y github:Knuckles-Team/jellyfin-mcp. The install tabs above show the steps for each supported agent.
Which AI agents does jellyfin-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 jellyfin-mcp safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 87/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 jellyfin-mcp still maintained?
The repository was last updated today, so jellyfin-mcp is actively maintained.

Jellyfin Mcp

CLI or API | MCP

PyPI - Version MCP Server PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Version: 2.3.0

Documentation — Installation, deployment, usage across the MCP, API, and A2A agent interfaces, and guidance for provisioning the Jellyfin media server are maintained in the official documentation.


Table of Contents


Overview

Jellyfin Mcp is a production-grade Agent and Model Context Protocol (MCP) server designed to interface directly with Jellyfin MCP Server for Agentic AI!.


Quick Start

1. Installation

Install the package directly from PyPI:

uv pip install jellyfin-mcp[all]

2. Configure Environment

Set up the operator's connection keys and Jellyfin host details (see .env.example for complete list):

export JELLYFIN_URL="http://localhost:8096"
export JELLYFIN_API_KEY="your_api_key_here"

3. Run the MCP Server

Start the server over standard standard I/O (stdio) transport:

jellyfin-mcp

4. Run the Agent CLI

To start the interactive Graph Agent terminal interface:

jellyfin-agent --provider openai --model-id gpt-4o


Key Features

  • Consolidated Action-Routed MCP Tools: Minimizes token overhead and eliminates tool bloat in LLM contexts by grouping methods into optimized, togglable tool modules.
  • Enterprise-Grade Security: Complete support for Eunomia policies, OIDC token delegation, and granular execution context tracking.
  • Integrated Graph Agent: Built-in Pydantic AI agent supporting the Agent Control Protocol (ACP) and standard Web interfaces (AG-UI).
  • Native Telemetry & Tracing: Out-of-the-box OpenTelemetry exports and native Langfuse tracing.

CLI or API

This agent wraps the Jellyfin MCP Server for Agentic AI! API. The operator can interact with it programmatically or via its integrated execution entrypoints.

Detailed instructions on how to use the underlying API wrappers, extended schema bindings, and developer SDK references are maintained in docs/index.md.


MCP

This server use dynamic Action-Routed tools to optimize token overhead and maximize IDE compatibility.

Available MCP Tools

Auto-generated from the live MCP server — do not edit by hand.

<!-- MCP-TOOLS-TABLE:START -->

Condensed action-routed tools (MCP_TOOL_MODE=condensed)

| MCP Tool | Toggle Env Var | Description | |----------|----------------|-------------| | jellyfin_ingest_library | KG_INGESTTOOL | Natively ingest the Jellyfin library into epistemic-graph as typed nodes. | | jellyfin_ingest_posters | KG_INGESTTOOL | Ingest item posters as content-addressed :Blob + :AssetOccurrence (best-effort). | | jellyfin_library | CONDENSED_JELLYFINTOOL | Execute library searches, items, collection updates, and catalog queries dynamically. | | jellyfin_media | CONDENSED_JELLYFINTOOL | Execute media playback, stream, artist, playlist, and audio/video queries dynamically. | | jellyfin_system | CONDENSED_JELLYFINTOOL | Execute administrative actions, system status, configurations, backups, and user management. |

Verbose 1:1 API-mapped tools (MCP_TOOL_MODE=verbose or both)

<details> <summary>368 per-operation tools — one per public API method (click to expand)</summary>

| MCP Tool | Toggle Env Var | Description | |----------|----------------|-------------| | jellyfin_add_item_to_playlist | MEDIA_CLIENTTOOL | Adds items to a playlist. | | jellyfin_add_listing_provider | MEDIA_CLIENTTOOL | Adds a listings provider. | | jellyfin_add_media_path | LIBRARY_CLIENTTOOL | Add a media path to a library. | | jellyfin_add_to_collection | LIBRARY_CLIENTTOOL | Adds items to a collection. | | jellyfin_add_tuner_host | MEDIA_CLIENTTOOL | Adds a tuner host. | | jellyfin_add_user_to_session | USER_CLIENTTOOL | Adds an additional user to a session. | | jellyfin_add_virtual_folder | LIBRARY_CLIENTTOOL | Adds a virtual folder. | | jellyfin_apply_search_criteria | LIBRARY_CLIENTTOOL | Applies search criteria to an item and refreshes metadata. | | jellyfin_authenticate_user_by_name | USER_CLIENTTOOL | Authenticates a user by name. | | jellyfin_authenticate_with_quick_connect | USER_CLIENTTOOL | Authenticates a user with quick connect. | | jellyfin_authorize_quick_connect | USER_CLIENTTOOL | Authorizes a pending quick connect request. | | jellyfin_cancel_package_installation | LIBRARY_CLIENTTOOL | Cancels a package installation. | | jellyfin_cancel_series_timer | MEDIA_CLIENTTOOL | Cancels a live tv series timer. | | jellyfin_cancel_timer | MEDIA_CLIENTTOOL | Cancels a live tv timer. | | jellyfin_close_live_stream | MEDIA_CLIENTTOOL | Closes a media source. | | jellyfin_complete_wizard | LIBRARY_CLIENTTOOL | Completes the startup wizard. | | jellyfin_create_backup | SYSTEM_CLIENTTOOL | Creates a new Backup. | | jellyfin_create_collection | LIBRARY_CLIENTTOOL | Creates a new collection. | | jellyfin_create_key | SYSTEM_CLIENTTOOL | Create a new api key. | | jellyfin_create_playlist | MEDIA_CLIENTTOOL | Creates a new playlist. | | jellyfin_create_series_timer | MEDIA_CLIENTTOOL | Creates a live tv series timer. | | jellyfin_create_timer | MEDIA_CLIENTTOOL | Creates a live tv timer. | | jellyfin_create_user_by_name | USER_CLIENTTOOL | Creates a user. | | jellyfin_delete_alternate_sources | MEDIA_CLIENTTOOL | Removes alternate video sources. | | jellyfin_delete_custom_splashscreen | SYSTEM_CLIENTTOOL | Delete a custom splashscreen. | | jellyfin_delete_device | USER_CLIENTTOOL | Deletes a device. | | jellyfin_delete_item | LIBRARY_CLIENTTOOL | Deletes an item from the library and filesystem. | | jellyfin_delete_item_image | LIBRARY_CLIENTTOOL | Delete an item's image. | | jellyfin_delete_item_image_by_index | LIBRARY_CLIENTTOOL | Delete an item's image. | | jellyfin_delete_items | LIBRARY_CLIENTTOOL | Deletes items from the library and filesystem. | | jellyfin_delete_listing_provider | MEDIA_CLIENTTOOL | Delete listing provider. | | jellyfin_delete_lyrics | MEDIA_CLIENTTOOL | Deletes an external lyric file. | | jellyfin_delete_recording | MEDIA_CLIENTTOOL | Deletes a live tv recording. | | jellyfin_delete_subtitle | MEDIA_CLIENTTOOL | Deletes an external subtitle file. | | jellyfin_delete_tuner_host | MEDIA_CLIENTTOOL | Deletes a tuner host. | | jellyfin_delete_user | USER_CLIENTTOOL | Deletes a user. | | jellyfin_delete_user_image | USER_CLIENTTOOL | Delete the user's image. | | jellyfin_delete_user_item_rating | USER_CLIENTTOOL | Deletes a user's saved personal rating for an item. | | jellyfin_disable_plugin | SYSTEM_CLIENTTOOL | Disable a plugin. | | jellyfin_discover_tuners | MEDIA_CLIENTTOOL | Discover tuners. | | jellyfin_discvover_tuners | MEDIA_CLIENTTOOL | Discover tuners. | | jellyfin_display_content | MEDIA_CLIENTTOOL | Instructs a session to browse to an item or view. | | jellyfin_download_remote_image | LIBRARY_CLIENTTOOL | Downloads a remote image for an item. | | jellyfin_download_remote_lyrics | MEDIA_CLIENTTOOL | Downloads a remote lyric. | | jellyfin_download_remote_subtitles | MEDIA_CLIENTTOOL | Downloads a remote subtitle. | | jellyfin_enable_plugin | SYSTEM_CLIENTTOOL | Enables a disabled plugin. | | jellyfin_forgot_password | USER_CLIENTTOOL | Initiates the forgot password process for a local user. | | jellyfin_forgot_password_pin | USER_CLIENTTOOL | Redeems a forgot password pin. | | jellyfin_get_additional_part | MEDIA_CLIENTTOOL | Gets additional parts for a video. | | jellyfin_get_album_artists | MEDIA_CLIENTTOOL | Gets all album artists from a given item, folder, or the entire library. | | jellyfin_get_all_channel_features | MEDIA_CLIENTTOOL | Get all channel features. | | jellyfin_get_ancestors | LIBRARY_CLIENTTOOL | Gets all parents of an item. | | jellyfin_get_artist_by_name | MEDIA_CLIENTTOOL | Gets an artist by name. | | jellyfin_get_artist_image | MEDIA_CLIENTTOOL | Get artist image by name. | | jellyfin_get_artists | MEDIA_CLIENTTOOL | Gets all artists from a given item, folder, or the entire library. | | jellyfin_get_attachment | MEDIA_CLIENTTOOL | Get video attachment. | | jellyfin_get_audio_stream | MEDIA_CLIENTTOOL | Gets an audio stream. | | jellyfin_get_audio_stream_by_container | MEDIA_CLIENTTOOL | Gets an audio stream. | | jellyfin_get_auth_providers | USER_CLIENTTOOL | Get all auth providers. | | jellyfin_get_backup | SYSTEM_CLIENTTOOL | Gets the descriptor from an existing archive is present. | | jellyfin_get_bitrate_test_bytes | LIBRARY_CLIENTTOOL | Tests the network with a request with the size of the bitrate. | | jellyfin_get_book_remote_search_results | LIBRARY_CLIENTTOOL | Get book remote search. | | jellyfin_get_box_set_remote_search_results | LIBRARY_CLIENTTOOL | Get box set remote search. | | jellyfin_get_branding_css | SYSTEM_CLIENTTOOL | Gets branding css. | | jellyfin_get_branding_css_2 | SYSTEM_CLIENTTOOL | Gets branding css. | | jellyfin_get_branding_options | SYSTEM_CLIENTTOOL | Gets branding configuration. | | jellyfin_get_channel | MEDIA_CLIENTTOOL | Gets a live tv channel. | | jellyfin_get_channel_features | MEDIA_CLIENTTOOL | Get channel features. | | jellyfin_get_channel_items | MEDIA_CLIENTTOOL | Get channel items. | | jellyfin_get_channel_mapping_options | SYSTEM_CLIENTTOOL | Get channel mapping options. | | jellyfin_get_channels | MEDIA_CLIENTTOOL | Gets available channels. | | jellyfin_get_configuration | SYSTEM_CLIENTTOOL | Gets application configuration. | | jellyfin_get_configuration_pages | SYSTEM_CLIENTTOOL | Gets the configuration pages. | | jellyfin_get_countries | LIBRARY_CLIENTTOOL | Gets known countries. | | jellyfin_get_critic_reviews |

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars3
CategoryDevelopment
Updated12h ago
Forks0

Languages

Python

Trust signals

87/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

2 low