Skip to main content

MCP server for Stremio: content search, account library, addon management, desktop and Android TV control

Project description

stremio-mcp

An MCP server for Stremio. It searches for something to watch, manages the account library, installs and orders addons across every device you are signed in on, and drives Stremio on a laptop or an Android TV.

Addons are installed through the Stremio account rather than through any one app's config files. The account is the shared source of truth, so a single stremio_install_addon call reaches Stremio desktop on macOS, Windows and Linux, the Android TV app, mobile and the web client at once.

Install

uvx stremio-mcp          # run without installing
pip install stremio-mcp  # or install it
brew install yoanwai/tap/stremio-mcp

MCP client configuration

{
  "mcpServers": {
    "stremio": {
      "command": "uvx",
      "args": ["stremio-mcp"],
      "env": {
        "STREMIO_AUTH_KEY": "",
        "ANDROID_TV_HOST": "192.168.1.100"
      }
    }
  }
}

Point at a .env file instead with "args": ["--env-file", "/path/to/.env", "stremio-mcp"].

Environment

Variable Default Needed for Purpose
STREMIO_AUTH_KEY (none) account, addon, library tools Stremio auth key, or call stremio_login once
ANDROID_TV_HOST (none) TV tools IP or hostname of the Android TV
ANDROID_TV_PORT 5555 adb TCP port on the TV
ADB_PATH adb Path to the adb binary
STREMIO_MCP_ADDON_PORT 9876 subtitle addon Port the built-in subtitle addon serves on
STREMIO_MCP_STATE_DIR platform data dir Cached login, subtitle files, addon backups

Copy .env.example to .env and fill in what you need. Get an auth key from the console at web.stremio.com:

JSON.parse(localStorage.getItem("profile")).auth.key

Tools

Find something to watch

Tool Description
stremio_search Search movies and series by name
stremio_get_meta Full metadata for a title, with the episode list for a series
stremio_browse_catalog Browse the top catalog, optionally by genre
stremio_get_addon_manifest Inspect one addon's manifest and capabilities
stremio_get_streams Ask one specific addon for streams
stremio_find_streams Ask every installed addon at once and merge the results
stremio_search_all_catalogs Search every installed addon catalog that supports search
stremio_upcoming_episodes Upcoming episodes for series in the account library
stremio_next_unwatched_episode First unwatched regular episode from synced watch history
stremio_auto_fetch_subtitle Hash-match OpenSubtitles and serve the selected subtitle

Account and library

Tool Description
stremio_login Sign in with email and password, optionally remembering the key
stremio_logout Forget the stored key
stremio_account_status Who is signed in
stremio_get_library List library titles, filterable by type and watched state
stremio_continue_watching Part-watched titles with resume positions
stremio_add_to_library Add a title
stremio_remove_from_library Remove a title, keeping its watch state
stremio_mark_watched Mark a title watched or unwatched everywhere
stremio_trakt_sync Link Trakt and sync Stremio's first-party Trakt addon

Addons

Changes here reach every signed-in device, which is how a laptop gets its addons.

Tool Description
stremio_list_addons List installed addons in the order they are queried
stremio_search_addons Search the official addon directory
stremio_install_addon Install or upgrade an addon by manifest URL, at a chosen position
stremio_configure_addon Open an addon's browser configuration and install its configured manifest
stremio_uninstall_addon Remove an addon by id or URL
stremio_reorder_addons Change which addon answers first for streams
stremio_restore_default_addons Reinstall Stremio's seven defaults
stremio_addon_health_check Reachability and latency for every installed addon
stremio_check_addon_upgrades Compare live versions and optionally apply upgrades
stremio_save_addon_profile Save the current ordered addon collection under a name
stremio_list_addon_profiles List named addon profiles and their addon ids
stremio_apply_addon_profile Replace the account collection with a named profile

Every write merges against the live collection, keeps Stremio's protected addons, and snapshots the previous list under the state directory.

Desktop, on macOS / Windows / Linux

Tool Description
stremio_desktop_status Whether the app is installed and its streaming server is up
stremio_desktop_launch Start the app and wait for its streaming server
stremio_desktop_open Open a title, or the addons / library / settings page
stremio_desktop_play Select an installed-addon stream and start playback, including resume
stremio_desktop_show_addon Open an addon's install page for a configurable addon
stremio_desktop_download Download the matching installer for this OS and CPU
stremio_cast_devices Discover Chromecast and DLNA renderers
stremio_cast_play Play an HTTP or torrent stream on a cast device
stremio_cast_control Status, playback, seek and volume controls for casting
stremio_streaming_server_streams Active torrent transfers and per-file progress
stremio_streaming_server_cache Cache limit, usage and torrent entries
stremio_streaming_server_purge_cache Stop engines and purge one torrent or the full cache

Subtitles

add_subtitle serves a subtitle file from this machine through a small addon, so it shows up in Stremio's own subtitle picker on any device on the LAN.

Tool Description
add_subtitle Serve an .srt for a title, or for one episode
list_subtitles List what is being served
remove_subtitle Stop serving one subtitle or all of a title's
sync_addon Install the subtitle addon onto the account

Android TV

Tool Description
stremio_tv_pair Pair Android 11+ wireless adb with a six-digit code
play Open and start a title in the TV's Stremio app
tv_control Playback, navigation, volume and power
playback_status What is playing, with position and duration
tv_status Model, Android version, Stremio version, power, volume
tv_type_text Type into the focused field, such as the search box
tv_screenshot Save a PNG of the TV screen
push_subtitle Push an .srt to the TV's Downloads folder for an external player

adb pairing for the TV tools

  1. On the TV: Settings > Device Preferences > About, then tap Build seven times.
  2. In Developer options, turn on USB debugging and Network debugging.
  3. Run stremio_tv_pair with the pairing port and six-digit code shown by Wireless debugging. Pass its separate connection port as connect_port.

The tool uses adb pair <host>:<port> <code>, then connects when a connection port is provided.

Development

uv venv && uv pip install -e ".[dev]"
pytest
ruff check src tests

License

MIT, see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stremio_mcp-0.3.0.tar.gz (58.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stremio_mcp-0.3.0-py3-none-any.whl (54.6 kB view details)

Uploaded Python 3

File details

Details for the file stremio_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: stremio_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 58.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stremio_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c1718bf35f482fb236bd5114df60906ba08a6e383f36766b6388fdb3c96c7df2
MD5 a6131e8c9dd24a9f89f89e99c5396730
BLAKE2b-256 0173d886e708f031ac78926bf4fbe2c7248cdf3b5e81ab54f2683deccf01788d

See more details on using hashes here.

File details

Details for the file stremio_mcp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: stremio_mcp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 54.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for stremio_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f930793b7729cab8884277a7a01827e28af9452694aa3c64cda9a787787ff88
MD5 429108613f246f16a5e1b055fa315209
BLAKE2b-256 71f42ff3b962f1befab2c9ebcced8ef93ccb34d3aa9ade7c0c07170747841011

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page