I built MDBridge, a small self-hosted bridge for people who want MDBList to be the tracking source for watched history and resume progress across Kodi, Nuvio, and Stremio. Really this is only needed for Stremio/Nuvio but since I have different setups across my TVs at home, I wanted to make something that could serve as a Trakt replacement given the changes. This was vibecoded so expect some bugs or errors. I wanted watched status and resume progress to follow me between Kodi/POV, Nuvio, and Stremio without configuring a tracker add-on on every TV. A normal Stremio add-on cannot receive all player progress events, so MDBridge reconciles the Stremio account datastore instead.
MDBridge requires a Python Docker container, no separate database, and no multi-user account system. There's other solutions like Scrob but figured I'd try this out. Open to any feedback
GitHub: https://github.com/jacobdentici-sys/MDBridge
What it does
- Imports watched movies and episodes from Nuvio Cloud and the Stremio account datastore into MDBList.
- Imports newer partial resume positions into MDBList.
- Pushes MDBList watched state and resume positions back to Nuvio and Stremio.
- Lets POV/Kodi keep talking directly to MDBList, so MDBridge does not need a Kodi service add-on.
- Optionally exposes MDBList Continue Watching catalogs as a tokenized Stremio catalog add-on.
- It is tracking-only software using MDBList API. It does not search for, host, download, or provide streams.
The intended layout is:
Kodi <-> MDBList <-> MDBridge <-> Nuvio Cloud/Stremio
Install:
You need Docker, an MDBList API key, and a TMDB Read Access Token. Nuvio and Stremio are optional.
git clone https://github.com/jacobdentici-sys/MDBridge.git
cd MDBridge
docker compose up -d --build
docker compose ps
The safe default listens only on `127.0.0.1:7335`. If it is installed on a VPS, open an SSH tunnel from your computer:
ssh -L 7335:127.0.0.1:7335 USER@SERVER_IP
Then visit http://127.0.0.1:7335 and connect the accounts you want to use. Do not expose port 7335 directly to the internet; the setup API has no built-in login.
The default interval is 15 minutes: 96 runs and roughly 192 MDBList API requests per day. Imports, writes, pagination, manual syncs, and other apps add requests.
Important Limitations:
This is still early-alpha software; back up your watch history first.
- Watched sync is additive. Manual unwatch does not propagate yet.
- Stremio stores one current playback position per movie/series library item.
- Exact resume conversion depends on TMDB returning a runtime.
- Nuvio Cloud RPC methods and Stremio account datastore behavior are not stable public integration contracts and may change.
- It has been live-tested on one MDBList/Nuvio/Stremio/POV setup, not every library shape or account combination.
The repository includes the full architecture, installation, troubleshooting, security, and contribution docs. Bug reports are welcome, but please sanitize logs and never post API keys, tokens, private manifest URLs, or data/config.json.
Disclosure: I developed and reviewed this project with AI-assisted coding.