Most media-catalogue servers stop at lookup. This one checks you in to an episode, adds and removes ratings, edits the watchlist and rewrites watch history with the timestamp you specify — which makes "what should I watch next, and mark the last one done" a single exchange. The list tools also auto-paginate: omit the page argument and you get a flat list up to your limit, with `limit=0` fetching everything up to a safety cap of 100.
An MCP server over the Trakt.tv API that covers both the public catalogue and your personal account. Public data needs nothing but an API client; personal data goes through Trakt's device authorization flow, after which the same conversation can read your history and write to your watchlist, ratings and check-ins.
- Trending, popular, anticipated, favorited, most played and most watched lists for shows and movies, plus last weekend's U.S. box office — `fetch_trending_shows`, `fetch_popular_movies`, `fetch_anticipated_shows`, `fetch_boxoffice_movies`
- Full detail on a title: summary, ratings with their distribution, videos, related titles and cast and crew, with guest stars on request — `fetch_show_summary`, `fetch_movie_summary`, `fetch_show_ratings`, `fetch_show_videos`, `fetch_related_movies`, `fetch_show_people`
- Season and episode level detail — episode lists, ratings, engagement stats, cast, trailers, translations by language, who is watching right now, and which lists contain it — `fetch_season_info`, `fetch_season_episodes`, `fetch_episode_summary`, `fetch_episode_stats`, `fetch_season_watching`, `fetch_episode_translations`, `fetch_season_lists`
- People: biography and social links, full movie and show credits with character names and episode counts, and the lists a person appears in — `fetch_person_summary`, `fetch_person_movies`, `fetch_person_shows`, `fetch_person_lists`
- Your account after device authorization: watched shows and movies, ratings you can read, add and remove, and a watchlist you can filter, sort, add to and remove from — `fetch_user_watched_shows`, `fetch_user_ratings`, `add_user_ratings`, `remove_user_ratings`, `fetch_user_watchlist`, `add_user_watchlist`, `remove_user_watchlist`
- Progress through a series: episodes watched against episodes aired, your next episode, per-season breakdown, and the movies and episodes you paused mid-watch — `fetch_show_progress`, `fetch_playback_progress`, `remove_playback_item`
- Watch history read and written, with an explicit watched-at timestamp where you want one, and check-ins by show id or by title — `fetch_history`, `add_to_history`, `remove_from_history`, `checkin_to_show`
- Personalised recommendations that skip what you already collected or watchlisted, with a title hidden or restored on request — `fetch_movie_recommendations`, `fetch_show_recommendations`, `hide_show_recommendation`, `unhide_movie_recommendation`
- Community comments on a title, season, episode or single thread, with replies, sorting by likes or replies, and spoilers hidden unless you ask for them — `fetch_show_comments`, `fetch_episode_comments`, `fetch_comment`, `fetch_comment_replies`
- Read-only resource URIs for the popularity lists and your own watched history, such as `trakt://shows/trending` and `trakt://user/watched/movies`
A Trakt API application, which supplies `TRAKT_CLIENT_ID` and `TRAKT_CLIENT_SECRET`; personal data additionally goes through Trakt's device authorization, where you enter a code on the Trakt site once. The package is `trakt-mcp` (0.10.0 in pyproject) and runs straight from the git URL with uvx, from a clone on Python 3.12 or newer, or from `ghcr.io/wwiens/trakt_mcpserver` — the `:latest-stdio` image for local clients, `:latest` for SSE over port 8080. The OAuth token is written to `~/.trakt-mcp/auth_token.json`; set `TRAKT_AUTH_TOKEN_PATH` to move it, which is what the Docker images do so a mounted volume keeps you logged in across container recreations.
One command plus a key — uvx --from git+https://github.com/wwiens/trakt_mcpserver trakt-mcp, then supply credentials
