Samsung Stremio Spotify MCP

Samsung Stremio Spotify MCP

A personal viewing assistant for Samsung TV that integrates Stremio, Spotify, and optional Trakt, allowing natural language control to find, queue, and play episodes, manage playback, and control TV and Spotify.

Category
访问服务器

README

Samsung Stremio Spotify MCP

Your personal viewing assistant for Samsung TV

Tell it what you want to watch. It finds the right episode, starts it on your TV, remembers where you stopped, and keeps your evening moving.

You can ask naturally:

"What new episodes can I watch?"

"Continue the show I was watching."

"Build me a queue with these three episodes, in this order."

"Stop after this episode."

The project brings your Stremio library, Samsung TV, Spotify, and optional Trakt history into one conversation. You decide what you feel like watching or hearing; the assistant takes care of the steps around it.

What it changes about watching TV

Sit down and continue

You do not need to remember the season, episode, or timestamp. Ask to continue a show and the assistant can resume a partially watched episode or suggest the next unwatched one.

Know what is actually ready to watch

Ask what is new and get released, unwatched episodes from your own library that currently have a playable source. The answer is about what you can watch now, not just what appeared on a release calendar.

Plan an entire evening in one sentence

Create a manually ordered queue from different shows. Choose what plays first, what follows, and where the evening ends. The queue is saved locally and advances as episodes finish.

Let a binge flow naturally

When you explicitly ask to binge a show, the next unwatched episode can begin automatically. If you say "stop after this episode" or turn off the TV, the assistant respects that boundary.

Get a good stream without studying release names

The assistant considers availability, quality, file size, video and audio compatibility, seed health, language, and subtitle hints. It validates the selected source and can try another candidate when one fails.

Keep your viewing history useful

Real playback progress from the TV is saved back to Stremio. Partial episodes can be resumed later, and completed episodes are marked watched at the normal completion threshold. Trakt scrobbling can be added without making it a requirement for playback.

Control the rest of the room

The same conversation can open Spotify on the TV, find music, build an artist queue without interrupting the current song, control playback, or set the TV volume.

A typical evening

  1. Ask, "What new episodes can I watch?"
  2. Choose one episode or arrange several shows into a queue.
  3. The assistant finds a compatible source and starts it on the Samsung TV.
  4. Playback progress is monitored while you watch.
  5. If you stop early, your position is saved. If you finish, your watch state is updated.
  6. In binge or queue mode, the evening continues according to the order you chose.

Things you can ask

  • Play season [season] episode [episode] of [show].
  • Continue the show I was watching.
  • Binge this show.
  • Stop after this episode.
  • Create a queue with these episodes, in this order.
  • Skip this queue item.
  • What new episodes can I watch?
  • Mark the episode I just finished as watched.
  • Play songs by [artist] without interrupting the current song.
  • Set the TV volume to [level].

Built around your choices

The integrations are independent:

  • Use Stremio without Spotify or Trakt.
  • Use Spotify without connecting Stremio.
  • Add Trakt only if you want scrobbling.
  • Use TV controls without configuring a media account.

Credentials, playback state, queues, and pairing information stay on your computer. The HTTP service and local Stremio addon listen only on the local machine.

Current support

The current release is designed for Samsung smart TVs on the same local network. It uses Samsung-native control and the TV's media playback capabilities. The viewing, queue, library, and stream-selection layers are separated from the TV implementation so support for additional TV platforms can be added later.

Spotify and Trakt are optional. Stremio playback requires a linked Stremio account, suitable stream addons, and a reachable Samsung TV.

<details> <summary><strong>Installation and configuration</strong></summary>

Requirements

  • Node.js 20 or newer
  • A Samsung smart TV reachable from the same local network
  • A working local SamsungTVControl installation for pairing, power, and remote keys
  • Stremio with the desired stream addons installed
  • A Spotify Developer application for Spotify features
  • A Trakt API application for optional scrobbling

Install

git clone https://github.com/dudibuilds/samsung-stremio-spotify-mcp.git
cd samsung-stremio-spotify-mcp
npm install
npm run init-config

Local credentials and state are created under:

%USERPROFILE%\.samsung-spotify-tv\

The legacy directory name is retained so existing installations continue working.

Connect an MCP client

The server uses stdio by default. Point the MCP client to the absolute path of server/index.mjs:

{
  "mcpServers": {
    "samsung-stremio-spotify": {
      "command": "node",
      "args": [
        "C:\\absolute\\path\\to\\samsung-stremio-spotify-mcp\\server\\index.mjs"
      ]
    }
  }
}

Restart the MCP client after changing its configuration.

Link Stremio

  1. Call integration_auth with provider: "stremio" and action: "start".
  2. Open and approve the returned link.
  3. Call integration_auth with provider: "stremio" and action: "complete".

Connect Spotify

  1. Create a Spotify Developer application.
  2. Add http://127.0.0.1:18765/callback as a redirect URI.
  3. Fill %USERPROFILE%\.samsung-spotify-tv\spotify-credentials.json.
  4. Run npm run auth.

Connect Trakt (optional)

  1. Create a Trakt API application.
  2. Fill %USERPROFILE%\.samsung-spotify-tv\trakt-credentials.json.
  3. Call integration_auth with provider: "trakt" and action: "start".
  4. Approve the displayed code, then use action: "complete".

Run the optional HTTP service

npm run mcp:http

The MCP endpoint is http://127.0.0.1:4512/mcp.

Install the local Cast to TV addon

With the HTTP service running, install this URL in desktop Stremio:

http://127.0.0.1:4512/stremio-cast/manifest.json

This adds a Cast to Samsung TV option inside Stremio using the same source-selection and playback flow.

Environment overrides

See .env.example for optional path, device-name, Stremio server, host, and port overrides. Never place real credentials in .env.example or commit a populated environment file.

</details>

<details> <summary><strong>MCP tool reference</strong></summary>

Version 0.2.0 exposes nine domain-oriented tools:

Tool Actions or scope
media_status all, config, integrations, tv, stremio_playback
integration_auth Provider-routed status, start, complete
tv_control power_on, power_off, volume_adjust, volume_set, volume_zero, mute_toggle
spotify_discover devices, search
spotify_playback open, play, queue_artist, pause, resume, next, previous, set_volume
stremio_discover search, library, new_episodes
stremio_library add, remove, set_notifications, mark_watched
stremio_playback play, pause, resume, stop, seek, enable_binge, disable_binge
stremio_queue set, start, status, clear, skip

Each action validates only the parameters relevant to that action. Errors contain tool, action, code, and message.

Version 0.2 migration

Version 0.2 is a hard tool-API cutover. stremio_queue keeps its name and contract. stremio_library keeps its name but now requires a mutation action; library listing moved to stremio_discover. Other 0.1 tool names are no longer advertised or accepted.

Previous tools Replacement
Configuration, TV status, provider status, playback status media_status
Stremio, Spotify, and Trakt authentication status/actions integration_auth
TV power, volume, and mute tools tv_control
Spotify device and search tools spotify_discover
Spotify playback and queue tools spotify_playback
Stremio search, library listing, and new episodes stremio_discover
Stremio library mutations and watched state stremio_library
Stremio play and transport controls stremio_playback

</details>

<details> <summary><strong>Technical notes and validation</strong></summary>

Playback behavior

  • Explicit season and episode requests play immediately.
  • Bare series titles propose resuming or starting the next unwatched episode.
  • Playback is marked watched at 90% completion.
  • Queue state and partial progress are persisted locally.
  • Turning off the TV finalizes the session and stops automatic advancement.
  • Failed sources allow the next ranked candidate to be attempted.

Main components

Area Responsibility
Stremio core Metadata, library state, watched bitfields, source discovery, ranking, and validation
Playback orchestrator Sessions, progress, watched updates, binge mode, and queues
TV adapter Samsung status, power, volume, app launch, casting, and playback telemetry
Spotify integration Authentication, discovery, Connect playback, and artist queues
Playback observers Optional integrations such as Trakt scrobbling
MCP registry Nine tool schemas, action validation, and routing

Validation

npm run smoke
npm run mcp:smoke
npm audit --omit=dev

Tests use temporary state and block live TV and external network access.

</details>

Security

This software controls a physical television and uses authenticated media accounts. Keep credentials, pairing tokens, runtime state, and logs out of Git. Do not expose the HTTP MCP or local addon to the LAN or internet. See SECURITY.md.

License

MIT. See LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选