Discord RPC for Jellyfin
June 4, 2026 ยท View on GitHub
Jellyfin RPC updates your Discord status with what you're watching or listening to on your Jellyfin server. Make sure your Discord client is open and that your Activity Privacy settings are configured correctly.

Installation
-
For Windows and macOS, download the latest release for the GUI.
-
For Linux, use pip to install the CLI tool and refer to the CLI usage.
pip install git+https://github.com/kennethsible/jellyfin-rpc.git
Configuration
To generate a Jellyfin API key, go to the server dashboard and select API Keys under Advanced. The Jellyfin host can be either a public or a local URL for your server. However, with a local URL, posters and album covers won't be retrievable from your Jellyfin server. In that case, you will need to rely on public metadata providers (see below for details).
If you prefer to use the CLI over the GUI (or you're on Linux), fill out the included INI config. If you run into any issues, please change log_level in the INI to DEBUG and include the output in your GitHub Issue.
%AppData%\Jellyfin RPC~/Library/Application Support/Jellyfin RPC
Important
TMDB can optionally be used to fetch posters for movies and TV shows. However, you must create a TMDB account and generate an API key. MusicBrainz and the Cover Art Archive can be used to fetch album covers.
show_when_pausedshows the activity with a paused timer instead of a progress bar. If disabled, the activity stops displaying when you pause your media.show_server_nameshows your server name as the activity name instead of saying 'Jellyfin'.show_jellyfin_iconshows a small Jellyfin icon in the bottom right of the poster or album cover.poster_languagesis a comma-separated list of two-letter language codes (ISO 639-1) for TMDB.textless_posterscontrols whether textless TMDB posters are prioritized over language posters.always_use_tmdbcontrols whether TMDB is the default source for posters or a fallback provider.season_over_seriescontrols whether season posters are preferred over series posters for shows.always_use_musicbrainzcontrols whether MusicBrainz is the default source for album covers or a fallback provider.release_over_groupcontrols whether release album covers are preferred over group album covers. The distinction between release and release group is described in the MusicBrainz documentation. In short, a release is a specific release of an album that belongs to a release group (one per album).find_best_matchsearches for missing TMDB or MusicBrainz IDs before fetching posters or covers, respectively. Ideally, you should make sure that Jellyfin has populated these metadata tags.
GUI Screenshot

CLI Usage
usage: main.py [-h] --ini-path INI_PATH [--log-path LOG_PATH]
options:
--ini-path INI_PATH
--log-path LOG_PATH
Local Build Instructions
-
Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh -
Create Python Environment
uv venv .venv --python 3.14 -
Build Standalone Executable
uv run --extra gui pyinstaller main.spec