Skip to main content
Glama
zeloras
by zeloras
README.md
# 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.

<a href="https://glama.ai/mcp/servers/@zeloras/myshows_mcp">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@zeloras/myshows_mcp/badge" alt="MyShows Server MCP server" />
</a>

## Configuration

Configuration is handled via environment variables. You must set your `myshows.me` credentials before running the server.

## MCP configuration
```json
{
  /// 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.

TDQS

B3.2/5.0

Scored across 10 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues