The MyShows MCP Server enables programmatic interaction with the myshows.me API to manage TV shows and movies in your profile.
Search for content - Find TV shows and movies by name with optional year filtering
Retrieve profile data - Access your watched movies, complete shows list, and personalized recommendations
Get detailed information - Fetch comprehensive details about specific shows or movies by their MyShows ID
Track episode viewing - View which episodes you've watched for any show and check your episode history
Manage watch status - Mark episodes as watched/unwatched (supports single and batch operations) and set movie status (watching, cancelled, later, or remove)
Access calendar - View episodes scheduled to air today or upcoming
Update viewing history - Modify your viewing records through various status operations
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MyShows MCP Serverwhat episodes are airing today?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MyShows MCP Server
This project provides a Model Context Protocol (MCP) server for interacting with the myshows.me API. It allows you to connect agents to your MyShows profile to manage and search for TV shows.
Configuration
Configuration is handled via environment variables. You must set your myshows.me credentials before running the server.
Related MCP server: YARR Media Stack MCP Server
MCP configuration
Available Tools
The server exposes the following tools:
search_shows(query: str, year: int = None, page: int = 0): Searches for TV shows by name and optional year.watched_movies(page: int = 0): Retrieves a list of movies you have watched.get_movie_show_by_id(myshows_item_id: int): Retrieves detailed information about a movie or show by its MyShows ID.get_viewed_episodes(myshows_item_id: int): Retrieves a list of episodes you have viewed for a specific show by its MyShows ID.check_episode(episode_id: int | list[int]): Marks an episode as watched by its MyShows ID. Supports both single episode ID and list of episode IDs for batch operations.uncheck_episode(episode_id: int | list[int]): Marks an episode as unwatched. Supports both single episode ID and list of episode IDs for batch operations.set_movie_watch_status(movie_id: int, status: str): Sets the watch status of a movie by its MyShows ID.get_calendar_episodes(): Retrieves a list of episodes scheduled for today.get_myshows_recomendations(): Retrieves a list of recommendations from MyShows.get_myshows_profile_shows_list(): Retrieves a list of shows from your MyShows profile.