
MCP server for Trakt β TV show and movie tracking with full sync support.
Website Β· Documentation
Features
- 53 tools β complete coverage of the Trakt API: search, metadata, sync, ratings, watchlists, and check-ins.
- OAuth via macOS Keychain β credentials stored securely; one-time setup with
npx @kud/mcp-trakt setup.
- Personalised calendars β see your upcoming episodes and movies, or browse what's airing across all Trakt users.
- Full sync support β history, collection, watched state, playback progress, and last-activity timestamps.
- Scrobble lifecycle β start, pause, and stop playback tracking so watches are recorded automatically.
- Recommendations β personalised movie and show suggestions driven by your viewing history.
Install
1. Create a Trakt application
Create an app at trakt.tv/oauth/applications/new β or manage existing ones at trakt.tv/oauth/applications:
- Redirect URI β set it to
urn:ietf:wg:oauth:2.0:oob. This server authenticates with Trakt's device flow, which never redirects, but Trakt requires the field; oob is the standard out-of-band placeholder.
- Copy the Client ID and Client Secret β you'll paste them in the next step.
2. Authenticate
Run the one-time OAuth setup. It exchanges your credentials for an access token and stores everything in the macOS Keychain (service mcp-trakt):
npx @kud/mcp-trakt@latest setup
Credentials resolution: the server reads from the macOS Keychain by default. On platforms without Keychain (Linux, CI, Docker), set MCP_TRAKT_CLIENT_ID and MCP_TRAKT_ACCESS_TOKEN instead β env vars take precedence over the Keychain.
Then register the server with your MCP client:
claude mcp add trakt npx -- -y @kud/mcp-trakt@latest
Or add it manually to your MCP client config:
{
"mcpServers": {
"trakt": {
"command": "npx",
"args": ["-y", "@kud/mcp-trakt@latest"]
}
}
}
Usage
Once connected, the following tools are available grouped by category.
Search
| Tool |
Description |
search |
Search for movies, shows, episodes, people, or lists |
Movies
| Tool |
Description |
get_movie |
Get detailed information about a movie |
get_trending_movies |
Movies currently being watched across Trakt |
get_popular_movies |
Most popular movies on Trakt |
get_anticipated_movies |
Most anticipated movies based on watchlist activity |
get_boxoffice_movies |
Top 10 weekend box office movies, updated weekly |
get_movie_ratings |
Community rating distribution for a movie |
get_movie_related |
Movies related to a given movie |
get_movie_people |
Cast and crew for a movie |
get_movie_recommendations |
Personalised movie recommendations |
Shows
| Tool |
Description |
get_show |
Get detailed information about a TV show |
get_trending_shows |
TV shows currently being watched across Trakt |
get_popular_shows |
Most popular TV shows on Trakt |
get_anticipated_shows |
Most anticipated TV shows based on watchlist activity |
get_show_ratings |
Community rating distribution for a TV show |
get_show_seasons |
All seasons for a show, optionally with episode details |
get_show_people |
Cast and crew for a TV show |
get_show_related |
TV shows related to a given show |
get_show_recommendations |
Personalised TV show recommendations |
Episodes
| Tool |
Description |
get_season_episodes |
All episodes in a specific season |
get_episode |
Full details for a specific episode |
People
| Tool |
Description |
get_person |
Details about a person (actor, director, etc.) |
get_person_credits |
Movie or show credits for a person |
Calendar
| Tool |
Description |
get_my_show_calendar |
Upcoming episodes based on shows you watch |
get_my_movie_calendar |
Upcoming movies based on your watchlist |
get_all_show_calendar |
All shows airing across all Trakt users |
get_all_movie_calendar |
All movies releasing across all Trakt users |
History
| Tool |
Description |
get_history |
Watch history for the authenticated user |
add_to_history |
Mark movies or episodes as watched |
remove_from_history |
Remove items from watch history |
Collection
| Tool |
Description |
get_collection_movies |
All movies in your collection |
get_collection_shows |
All shows in your collection |
add_to_collection |
Add movies, shows, or episodes to your collection |
remove_from_collection |
Remove items from your collection |
Watched
| Tool |
Description |
get_watched_movies |
All movies you have watched with play counts |
get_watched_shows |
All shows you have watched with play counts per episode |
Playback
| Tool |
Description |
get_playback |
Paused playback progress to resume later |
delete_playback |
Delete a paused playback entry |
Sync
| Tool |
Description |
get_sync_last_activities |
Timestamps for when each resource was last updated |
Ratings
| Tool |
Description |
get_ratings |
Ratings you have given, filterable by type and value |
add_rating |
Rate movies, shows, seasons, or episodes (1β10) |
remove_rating |
Remove ratings from movies, shows, or episodes |
Watchlist
| Tool |
Description |
get_watchlist |
Your watchlist, filterable by type and sort order |
add_to_watchlist |
Add movies, shows, or episodes to your watchlist |
remove_from_watchlist |
Remove items from your watchlist |
Check-in
| Tool |
Description |
checkin |
Check in to a movie or episode you are watching right now |
delete_checkin |
Cancel the current active check-in |
Scrobble
| Tool |
Description |
scrobble_start |
Start scrobbling when playback begins |
scrobble_pause |
Pause scrobbling when playback is paused |
scrobble_stop |
Stop scrobbling when playback ends to record the watch |
User
| Tool |
Description |
get_user_profile |
Profile information for any Trakt user |
get_user_stats |
Watch statistics for a user |
get_user_watching |
What a user is currently watching |
Development
git clone https://github.com/kud/mcp-trakt.git
cd mcp-trakt
npm install
npm run dev # run directly with tsx, no build needed
npm run inspect:dev # open the MCP Inspector against live tsx
npm run build # compile TypeScript to dist/
npm run typecheck # type-check without emitting
npm test # run the test suite
π Full documentation β mcp-trakt/docs
No comments yet
Be the first to share your take.