MyShows MCP Server
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 "Deploy 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 Server what 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
{
/// The name of your MCP server
"myshows": {
/// The command which runs the MCP server
"command": "uvx",
/// The arguments to pass to the MCP server
"args": ["--from","git+https://github.com/zeloras/myshows_mcp.git","myshows_mcp"],
/// The environment variables to set
"env": {"MYSHOWS_LOGIN":"login","MYSHOWS_PASSWORD":"pwd"}
}
}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.
Available Tools
10 toolscheck_episodeA
Marks a specific episode as watched by its ID. Supports both single episode ID and list of episode IDs for batch operations.
Inputs: episode_id (required).
get_calendar_episodesB
Retrieves the calendar episodes from MyShows with information about the next episodes. This method fetches the next episodes scheduled to air, including their details. :return: A dictionary containing the calendar episodes.
Inputs: no named parameters.
get_movie_show_by_idB
Retrieves a show or movie by its MyShows ID. :param myshows_item_id: The MyShows ID of the show or movie to retrieve. :return: A dictionary containing the show's details, including episodes and season counts.
Inputs: myshows_item_id (required).
get_myshows_profile_shows_listB
Retrieves the list of tv shows from the MyShows profile. :return: A dictionary containing the list of tv shows.
Inputs: no named parameters.
get_myshows_recomendationsC
Retrieves recommendations from MyShows. :return: A dictionary containing the recommendations.
Inputs: self (required).
get_viewed_episodesB
Retrieves the viewed episodes of a TV show by its ID. :param myshows_item_id: The ID of the TV show to retrieve episodes for. :return: A dictionary containing the episodes of the TV show.
Inputs: myshows_item_id (required).
search_showsC
Searches for TV shows/movies on MyShows by a query and optional year. :param query: The search query string. :param year: Optional year to filter the search results. :param page: The page number to retrieve (default is 0). :return: A dictionary containing the search results.
Inputs: query (required), year, page.
set_movie_watch_statusB
Sets the watch status of a movie by its ID. :param movie_id: The ID of the movie to set the watch status for. :param status: The watch status to set ( "watching" - watching the movie, "cancelled" - stop watching the movie, "later" - the movie to watch later, "remove" - have not watched the movie yet ) :return: A dictionary containing the result of the operation.
Inputs: movie_id (required), status (required).
uncheck_episodeB
Unmarks a specific episode as watched by its ID. Supports both single episode ID and list of episode IDs for batch operations.
Inputs: episode_id (required).
watched_moviesC
Retrieves a list of watched movies from MyShows. :param page: The page number to retrieve (default is 0). :return: A dictionary containing the list of watched movies.
Inputs: page.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have distinct purposes targeting different resources or actions, but there is some potential confusion between get_viewed_episodes (retrieves viewed episodes for a specific TV show) and watched_movies (retrieves watched movies list) as both involve 'watched' content with overlapping terminology. The descriptions help clarify the distinction, but the naming could cause initial ambiguity.
The naming follows a consistent verb_noun pattern (e.g., check_episode, get_calendar_episodes, search_shows) with clear action-object relationships. There is one minor deviation with get_myshows_profile_shows_list, which includes 'myshows' redundantly, but overall the pattern is predictable and readable.
With 10 tools, the count is well-scoped for a media tracking server covering TV shows and movies. Each tool serves a specific function in the domain, such as searching, retrieving details, managing watch status, and getting recommendations, without feeling bloated or insufficient.
The toolset provides good coverage for core MyShows operations, including CRUD-like actions for episodes and movies (check/uncheck, set status), retrieval of shows, episodes, recommendations, and search. A minor gap is the lack of tools for managing TV show watch status at a higher level (e.g., marking entire seasons as watched), but agents can work around this using existing tools.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for Studex tools, notifications, and profile integrations
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Python-based Model Context Protocol server that allows AI assistants like Claude to access and query your movie and TV show collection via Radarr and Sonarr APIs.47-
- AlicenseNot gradedqualityCmaintenanceA comprehensive Model Context Protocol server that bridges LLMs with self-hosted media services, enabling natural language control of TV shows, movies, downloads, and notifications while maintaining traditional API access.17AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceA Model Context Protocol (MCP) server that creates a bridge between AI language models and the Trakt.tv API, allowing LLMs to access real-time entertainment data and personal Trakt viewing history.52MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables AI agents to interact with local Logseq knowledge graphs, supporting operations like creating/editing pages and blocks, searching content, and managing journal entries.1315MIT