add_to_history
Add items to watch history. Marks movies, shows, seasons, or episodes as watched. Optionally specify when they were watched. Requires OAuth authentication.
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.
LABSCO SUMMARY
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.
fetch_trending_shows, fetch_popular_movies, fetch_anticipated_shows, fetch_boxoffice_moviesfetch_show_summary, fetch_movie_summary, fetch_show_ratings, fetch_show_videos, fetch_related_movies, fetch_show_peoplefetch_season_info, fetch_season_episodes, fetch_episode_summary, fetch_episode_stats, fetch_season_watching, fetch_episode_translations, fetch_season_listsfetch_person_summary, fetch_person_movies, fetch_person_shows, fetch_person_listsfetch_user_watched_shows, fetch_user_ratings, add_user_ratings, remove_user_ratings, fetch_user_watchlist, add_user_watchlist, remove_user_watchlistfetch_show_progress, fetch_playback_progress, remove_playback_itemfetch_history, add_to_history, remove_from_history, checkin_to_showfetch_movie_recommendations, fetch_show_recommendations, hide_show_recommendation, unhide_movie_recommendationfetch_show_comments, fetch_episode_comments, fetch_comment, fetch_comment_repliestrakt://shows/trending and trakt://user/watched/moviesA 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 (version 0.10.0) 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 credentials — uvx --from git+https://github.com/wwiens/trakt_mcpserver trakt-mcp, then supply credentials
USE CASES
Read what is trending and anticipated, check the rating distribution rather than just the average, and look at related titles to the last thing you enjoyed.
Get your progress on the show — episodes watched against aired, and the next episode to play — then check in once you have watched it.
List the watchlist sorted by when you added things, drop the items you have lost interest in, and add the ones you just heard about.
Add movies or episodes to your watch history with the date you actually saw them, and remove anything you logged by mistake.
Pull the most-liked comments for a show or a specific episode with spoilers hidden by default, and open the replies on the thread worth following.
Get the person's biography, then their movie and show credits with character names and episode counts, so a career reads in one pass.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_to_historyAdd items to watch history. Marks movies, shows, seasons, or episodes as watched. Optionally specify when they were watched. Requires OAuth authentication.
add_user_ratingsAdd new ratings for the authenticated user. Requires OAuth authentication.
add_user_watchlistAdd items to the authenticated user's watchlist. Supports optional notes (VIP only, 500 character limit). Requires OAuth authentication.
check_auth_statusCheck the status of an ongoing device authentication flow
checkin_to_showCheck in to a TV show episode you're currently watching on Trakt
clear_authClear the authentication token and log out of Trakt
fetch_anticipated_moviesFetch most anticipated movies from Trakt, sorted by list count. Use page parameter for paginated results, or omit for all results.
fetch_anticipated_showsFetch most anticipated TV shows from Trakt, sorted by list count. Use page parameter for paginated results, or omit for all results.
fetch_boxoffice_moviesFetch the top 10 grossing movies in the U.S. box office last weekend. Updated every Monday morning.
fetch_commentFetch a specific comment from Trakt
fetch_comment_repliesFetch replies for a specific comment from Trakt. Supports optional pagination with 'page' parameter and safety cap 'max_pages'.
fetch_episode_commentsFetch comments for a specific TV show episode from Trakt. Supports optional pagination with 'page' parameter and safety cap 'max_pages'.
fetch_episode_listsFetch lists that contain a specific TV show episode.
fetch_episode_peopleFetch cast and crew for a specific TV show episode, including character names and episode counts.
fetch_episode_ratingsFetch ratings and voting statistics for a specific TV show episode.
fetch_episode_statsFetch engagement statistics for a specific TV show episode including watchers, plays, collectors, and comments.
fetch_episode_summaryFetch detailed information about a specific TV show episode, including overview, air date, runtime, and ratings.
fetch_episode_translationsFetch translations for a specific TV show episode in different languages.
fetch_episode_videosFetch videos (trailers, recaps, etc.) for a specific TV show episode. Set embed_markdown=False for simple links.
fetch_episode_watchingFetch users currently watching a specific TV show episode right now.
fetch_favorited_moviesFetch most favorited movies from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_favorited_showsFetch most favorited TV shows from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_historyCheck if a movie or show has been watched, or browse watch history. For 'Have I seen [movie]?': provide history_type='movies' and item_id. Returns watch dates and count. Empty result means not watched. Supports optional pagination with 'page' parameter. Requires OAuth authentication.
fetch_movie_commentsFetch comments for a specific movie from Trakt. Supports optional pagination with 'page' parameter and safety cap 'max_pages'.
fetch_movie_peopleGet cast and crew for a movie from Trakt. Returns cast with character names and crew grouped by department.
fetch_movie_ratingsFetch ratings and voting statistics for a specific movie
fetch_movie_recommendationsFetch personalized movie recommendations from Trakt based on your viewing history. Requires OAuth authentication. Use limit parameter (max 100) to control number of results.
fetch_movie_summaryGet movie summary from Trakt. Default behavior (extended=true): Returns comprehensive data including production status, ratings, genres, runtime, certification, and metadata. Basic mode (extended=false): Returns only title, year, and Trakt ID.
fetch_movie_videosGet videos (trailers, teasers, etc.) for a movie from Trakt. Set embed_markdown=False to return simple links instead of YouTube iframes.
fetch_person_listsGet lists containing a specific person from Trakt. Returns personal or official lists sorted by popularity, likes, or other criteria.
fetch_person_moviesGet all movie credits for a person from Trakt. Returns cast roles and crew positions grouped by department.
fetch_person_showsGet all show credits for a person from Trakt. Returns cast roles with episode counts and crew positions grouped by department.
fetch_person_summaryGet person details from Trakt. Default (extended=true): full biographical data including birthday, biography, social media. Basic (extended=false): name and IDs only.
fetch_playback_progressFetch paused playback progress items. Shows movies and episodes that were paused during playback with their progress percentage. Requires OAuth authentication.
fetch_played_moviesFetch most played movies from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_played_showsFetch most played TV shows from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_popular_moviesFetch popular movies from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_popular_showsFetch popular TV shows from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_related_moviesFetch movies related to a specific movie. Returns similar movies based on genres, themes, and viewer patterns. Use page parameter for paginated results, or omit for all results.
fetch_related_showsFetch TV shows related to a specific show. Returns similar shows based on genres, themes, and viewer patterns. Use page parameter for paginated results, or omit for all results.
fetch_season_commentsFetch comments for a specific TV show season from Trakt. Supports optional pagination with 'page' parameter and safety cap 'max_pages'.
fetch_season_episodesFetch all episodes for a specific TV show season with titles, ratings, and runtime.
fetch_season_infoFetch detailed information about a specific TV show season, including episode count, ratings, and air dates.
fetch_season_listsFetch lists that contain a specific TV show season.
fetch_season_peopleFetch cast and crew for a specific TV show season, including character names and episode counts.
fetch_season_ratingsFetch ratings and voting statistics for a specific TV show season.
fetch_season_statsFetch engagement statistics for a specific TV show season including watchers, plays, collectors, and comments.
fetch_season_translationsFetch translations for a specific TV show season in different languages.
fetch_season_videosFetch videos (trailers, recaps, etc.) for a specific TV show season. Set embed_markdown=False for simple links.
fetch_season_watchingFetch users currently watching a specific TV show season right now.
fetch_show_commentsFetch comments for a specific TV show from Trakt. Supports optional pagination with 'page' parameter and safety cap 'max_pages'.
fetch_show_peopleGet cast and crew for a TV show from Trakt. Set include_guest_stars=true to also return guest stars (warning: returns a lot of data).
fetch_show_progressCheck if a user has watched a specific TV show and their progress through it. Use this for: 'have I seen X?', 'did I finish X?', 'where am I in X?', 'what episode am I on?'. Returns episodes watched, completion percentage, next episode to watch, and per-season breakdown. For listing all watched shows, use fetch_user_watched_shows instead. Requires OAuth authentication.
fetch_show_ratingsFetch ratings and voting statistics for a specific TV show
fetch_show_recommendationsFetch personalized TV show recommendations from Trakt based on your viewing history. Requires OAuth authentication. Use limit parameter (max 100) to control number of results.
fetch_show_seasonsFetch all seasons for a TV show from Trakt, including episode counts, aired episodes, and ratings per season.
fetch_show_summaryGet TV show summary from Trakt. Default behavior (extended=true): Returns comprehensive data including air times, production status, ratings, genres, runtime, network, and metadata. Basic mode (extended=false): Returns only title, year, and Trakt ID.
fetch_show_videosGet videos (trailers, teasers, etc.) for a show from Trakt. Set embed_markdown=False to return simple links instead of YouTube iframes.
fetch_trending_moviesFetch trending movies from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_trending_showsFetch trending TV shows from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_user_ratingsFetch the authenticated user's personal ratings from Trakt. Supports optional pagination with 'page' parameter. Requires OAuth authentication.
fetch_user_watched_moviesFetch list of movies the user has watched, sorted by most recently watched. Returns movie titles with last watched date and play counts. Use for: 'what movies have I watched?', 'my recent movies', 'list my watched movies'. For checking a specific movie (e.g., 'have I seen Inception?'), use fetch_history with history_type='movies' and item_id instead. Requires OAuth authentication.
fetch_user_watched_showsFetch list of TV shows the user has watched, sorted by most recently watched. Returns show titles with last watched date and play counts. Use for: 'what have I been watching?', 'my recent shows', 'list my watched shows'. For checking a specific show (e.g., 'have I seen Breaking Bad?'), use fetch_history with history_type='shows' and item_id instead. Requires OAuth authentication.
fetch_user_watchlistFetch the authenticated user's watchlist from Trakt. Supports optional pagination with 'page' parameter and sorting options. Requires OAuth authentication.
fetch_watched_moviesFetch most watched movies from Trakt. Use page parameter for paginated results, or omit for all results.
fetch_watched_showsFetch most watched TV shows from Trakt. Use page parameter for paginated results, or omit for all results.
hide_movie_recommendationHide a movie from future recommendations. Requires OAuth authentication. Use Trakt ID, slug, or IMDB ID to identify the movie.
hide_show_recommendationHide a TV show from future recommendations. Requires OAuth authentication. Use Trakt ID, slug, or IMDB ID to identify the show.
remove_from_historyRemove items from watch history. Removes movies, shows, seasons, or episodes from your watched history. Requires OAuth authentication.
remove_playback_itemRemove a paused playback progress item. Use the ID from fetch_playback_progress results. Requires OAuth authentication.
remove_user_ratingsRemove ratings for the authenticated user. Requires OAuth authentication.
remove_user_watchlistRemove items from the authenticated user's watchlist. Requires OAuth authentication.
search_moviesSearch for movies on Trakt by title
search_showsSearch for TV shows on Trakt by title
start_device_authStart the device authentication flow with Trakt TV
unhide_movie_recommendationUnhide a movie to restore it in future recommendations. Requires OAuth authentication. Use Trakt ID, slug, or IMDB ID to identify the movie.
unhide_show_recommendationUnhide a TV show to restore it in future recommendations. Requires OAuth authentication. Use Trakt ID, slug, or IMDB ID to identify the show.
BEFORE YOU INSTALL
77 tools when we connected.
Both documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 77 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
git clone https://github.com/wwiens/trakt_mcpserver.git
cd trakt_mcpserver
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
cp .env.example .env
python server.pyuvx --from git+https://github.com/wwiens/trakt_mcpserver trakt-mcp{
"mcpServers": {
"trakt": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--name",
"trakt_mcpserver_stdio",
"-e",
"TRAKT_CLIENT_ID=<YOUR_TRAKT_CLIENT_ID>",
"-e",
"TRAKT_CLIENT_SECRET=<YOUR_TRAKT_CLIENT_SECRET>",
"-v",
"trakt_auth:/data",
"ghcr.io/wwiens/trakt_mcpserver:latest-stdio"
]
}
}
}{
"mcpServers": {
"trakt": {
"command": "python",
"args": [
"<YOUR_PATH_TO_SERVER>"
],
"env": {
"TRAKT_CLIENT_ID": "<YOUR_TRAKT_CLIENT_ID>",
"TRAKT_CLIENT_SECRET": "<YOUR_TRAKT_CLIENT_SECRET>"
}
}
}
}