MCPcopy Index your code
hub / github.com/RickDB/PlexMALSync

github.com/RickDB/PlexMALSync @1.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2 ↗ · + Follow
16 symbols 43 edges 2 files 1 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Plex to MyAnimeList Sync

Logo

If you manage your Anime with Plex this will allow you to sync your libraries to MyAnimeList.net, recommend using Plex with the HAMA agent for best Anime name matches.

Unwatched Anime in Plex will not be synced so only those that have at least one watched episode, updates to MAL are only send with changes so need to worry about messing up watch history.

Currently planned for future releases:

  • [x] CLI improvements (colors / status)
  • [ ] Improve error handling
  • [x] Improve matching by using more MAL info, year comparision is an option but was hit and miss during testing before
  • [x] Multiple season support, right now sync is limited to season 1 and not sure if feasible with the way MAL lists them

Previous version was written in C# (.NET) but due to library issues switched to Python where there are some great ones to work with, this is the first version and rough around the edges so bugs may occur.

Installation

Step 1 - Configuration

From the project directory copy the example settings file settings.ini.example to settings.ini, open settings.ini with your favorite editor and edit where needed.

For the Direct IP authentication method you need to find your token manually:

https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/

Step 2 - Install requirements

Install requirements using this python command in the project folder:

pip install -r requirements.txt

Step 3 - Start syncing

Now that configuration is finished and requirements have been installed we can finally start the sync script:

python PlexMALSync.py

Depending on library size and server can take a few minutes to finish.

Requirements

Python 3 (tested with 3.6.4)

Support

Support thread is located on Plex Forums:

https://forums.plex.tv/discussion/305261/plexmalsync-sync-your-plex-library-to-myanimelist

Additional scripts

In the scripts directory you will find additional scripts for use in third party software.

Scrobble.py

Scrobble single show.

Parameters:

scrobble.py <mal_username> <mal_password> <show_title> <watched_episode#>

Example usage:

scrobble.py John Doe "Darling in the FranXX" 2

Credits

Python-PlexAPI

Spice

Core symbols most depended-on inside this repo

update_mal_entry
called by 2
PlexMALSync.py
read_settings
called by 1
PlexMALSync.py
plex_authenticate
called by 1
PlexMALSync.py
mal_authenticate
called by 1
PlexMALSync.py
get_anime_shows
called by 1
PlexMALSync.py
get_plex_watched_shows
called by 1
PlexMALSync.py
get_mal_list
called by 1
PlexMALSync.py
match_seasons_on_mal_list
called by 1
PlexMALSync.py

Shape

Function 16

Languages

Python100%

Modules by API surface

PlexMALSync.py14 symbols
scripts/scrobble.py2 symbols

For agents

$ claude mcp add PlexMALSync \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact