Labsco
MCP SERVER

MCP Trakt

by wwiens

Trakt.tv from a conversation — trending and box office, show/season/episode detail with cast and ratings, and your own watchlist, ratings, progress and check-ins.

Games, Entertainment & FandomVerified
Summary
It writes to your Trakt account, not just reads from it.

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.

What it is

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.

What you get
  • 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`
Requirements

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.

Setup effort

One command plus a key — uvx --from git+https://github.com/wwiens/trakt_mcpserver trakt-mcp, then supply credentials