Skip to main content
Glama
dudibuilds

Samsung Stremio Spotify MCP

by dudibuilds

Samsung Stremio Spotify MCP

삼성 TV를 위한 개인 시청 도우미

보고 싶은 것을 말하면, 올바른 에피소드를 찾아 TV에서 재생하고, 중단한 지점을 기억하며, 저녁 시간을 이어갑니다.

자연스럽게 물어볼 수 있습니다:

"새로 볼 수 있는 에피소드가 뭐예요?"

"보고 있던 프로그램 이어서 재생해 줘."

"이 세 편을 이 순서대로 큐에 넣어 줘."

"이 에피소드 다음에는 멈춰."

이 프로젝트는 Stremio 라이브러리, 삼성 TV, Spotify, 선택적으로 Trakt 기록을 하나의 대화로 연결합니다. 보고 싶거나 듣고 싶은 것을 결정하면, 어시스턴트가 그 주변의 절차를 처리합니다.

Related MCP server: Arr Suite MCP Server

TV 시청의 변화

앉아서 바로 이어보기

시즌, 에피소드, 타임스탬프를 기억할 필요가 없습니다. 프로그램을 이어서 재생해 달라고 하면, 어시스턴트가 부분 시청 중인 에피소드를 재개하거나 다음 미시청 에피소드를 제안할 수 있습니다.

실제로 볼 수 있는 콘텐츠 파악

새로운 것을 물어보면, 자신의 라이브러리에서 현재 재생 가능한 소스가 있는 공개된 미시청 에피소드를 얻을 수 있습니다. 답변은 단순히 출시 일정에 나타난 것이 아니라 지금 볼 수 있는 것에 관한 것입니다.

한 문장으로 저녁 전체 계획

서로 다른 프로그램에서 수동으로 정렬된 큐를 만듭니다. 무엇이 먼저 재생되고, 무엇이 이어지고, 저녁이 어디서 끝나는지 선택합니다. 큐는 로컬에 저장되며 에피소드가 끝나면 진행됩니다.

몰아보기를 자연스럽게

명시적으로 프로그램 몰아보기를 요청하면, 다음 미시청 에피소드가 자동으로 시작될 수 있습니다. "이 에피소드 다음에는 멈춰"라고 말하거나 TV를 끄면, 어시스턴트는 그 경계를 존중합니다.

릴리스 이름을 연구하지 않고 좋은 스트림 확보

어시스턴트는 가용성, 품질, 파일 크기, 비디오 및 오디오 호환성, 시드 상태, 언어, 자막 힌트를 고려합니다. 선택한 소스를 검증하고, 실패할 경우 다른 후보를 시도할 수 있습니다.

시청 기록을 유용하게 유지

TV의 실제 재생 진행 상황이 Stremio에 다시 저장됩니다. 부분 시청 에피소드는 나중에 재개할 수 있고, 완료된 에피소드는 일반적인 완료 기준에서 시청 완료로 표시됩니다. Trakt 스크로블링은 재생의 필수 조건 없이 추가할 수 있습니다.

방 안의 나머지도 제어

같은 대화에서 TV에서 Spotify를 열고, 음악을 찾고, 현재 노래를 방해하지 않고 아티스트 큐를 만들고, 재생을 제어하거나 TV 볼륨을 설정할 수 있습니다.

전형적인 저녁

  1. "새로 볼 수 있는 에피소드가 뭐예요?"라고 묻습니다.

  2. 하나의 에피소드를 선택하거나 여러 프로그램을 큐로 정리합니다.

  3. 어시스턴트가 호환되는 소스를 찾아 삼성 TV에서 재생을 시작합니다.

  4. 시청하는 동안 재생 진행 상황이 모니터링됩니다.

  5. 일찍 멈추면 위치가 저장됩니다. 끝까지 보면 시청 상태가 업데이트됩니다.

  6. 몰아보기 또는 큐 모드에서는 선택한 순서에 따라 저녁이 계속됩니다.

요청할 수 있는 것들

  • [프로그램]의 [시즌] 시즌 [에피소드] 에피소드를 재생해 줘.

  • 보고 있던 프로그램을 이어서 재생해 줘.

  • 이 프로그램을 몰아봐.

  • 이 에피소드 다음에는 멈춰.

  • 이 에피소드들을 이 순서대로 큐로 만들어 줘.

  • 이 큐 항목을 건너뛰어.

  • 새로 볼 수 있는 에피소드가 뭐예요?

  • 방금 본 에피소드를 시청 완료로 표시해 줘.

  • 현재 노래를 방해하지 않고 [아티스트]의 노래를 재생해 줘.

  • TV 볼륨을 [레벨]로 설정해 줘.

선택에 따라 구성

통합 기능은 독립적입니다:

  • Spotify나 Trakt 없이 Stremio만 사용.

  • Stremio를 연결하지 않고 Spotify만 사용.

  • 스크로블링을 원할 때만 Trakt 추가.

  • 미디어 계정을 구성하지 않고 TV 제어만 사용.

자격 증명, 재생 상태, 큐, 페어링 정보는 컴퓨터에 유지됩니다. HTTP 서비스와 로컬 Stremio 애드온은 로컬 머신에서만 수신 대기합니다.

현재 지원

Samsung은 보편적인 폴백으로 남아 있으며 기본 전원, 볼륨, 앱 실행, DLNA 재생, 텔레메트리 제어를 유지합니다. Cellcom Master Box와 같은 저장된 Google Cast 수신기는 명시적으로 선택하거나 하나의 네트워크 지문에 대한 기본값으로 지정할 수 있습니다.

대상 우선순위는 다음과 같습니다:

  1. Stremio 재생 요청의 명시적 target.

  2. 현재 네트워크 지문에 대해 저장된 대상.

  3. Samsung.

네트워크 매핑과 수신기 ID는 로컬 상태 디렉터리에 media-devices.json으로 저장되며, 프로젝트에 커밋되지 않습니다.

Spotify와 Trakt는 선택 사항입니다. Stremio 재생에는 연결된 Stremio 계정, 적합한 스트림 애드온, 연결 가능한 삼성 TV가 필요합니다.

요구 사항

  • Node.js 20 이상

  • 동일한 로컬 네트워크에서 연결 가능한 삼성 스마트 TV

  • 페어링, 전원, 리모컨 키를 위한 작동하는 로컬 SamsungTVControl 설치

  • 원하는 스트림 애드온이 설치된 Stremio

  • Spotify 기능을 위한 Spotify Developer 애플리케이션

  • 선택적 스크로블링을 위한 Trakt API 애플리케이션

설치

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

로컬 자격 증명과 상태는 다음 위치에 생성됩니다:

%USERPROFILE%\.samsung-spotify-tv\

기존 설치가 계속 작동하도록 레거시 디렉터리 이름이 유지됩니다.

MCP 클라이언트 연결

서버는 기본적으로 stdio를 사용합니다. MCP 클라이언트를 server/index.mjs의 절대 경로로 지정합니다:

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

구성 변경 후 MCP 클라이언트를 다시 시작합니다.

Stremio 연결

  1. provider: "stremio"action: "start"integration_auth를 호출합니다.

  2. 반환된 링크를 열고 승인합니다.

  3. provider: "stremio"action: "complete"integration_auth를 호출합니다.

Spotify 연결

  1. Spotify Developer 애플리케이션을 만듭니다.

  2. 리디렉션 URI로 http://127.0.0.1:18765/callback을 추가합니다.

  3. %USERPROFILE%\.samsung-spotify-tv\spotify-credentials.json을 작성합니다.

  4. npm run auth를 실행합니다.

Trakt 연결 (선택 사항)

  1. Trakt API 애플리케이션을 만듭니다.

  2. %USERPROFILE%\.samsung-spotify-tv\trakt-credentials.json을 작성합니다.

  3. provider: "trakt"action: "start"integration_auth를 호출합니다.

  4. 표시된 코드를 승인한 다음 action: "complete"를 사용합니다.

선택적 HTTP 서비스 실행

npm run mcp:http

MCP 엔드포인트는 http://127.0.0.1:4512/mcp입니다.

로컬 Cast to TV 애드온 설치

HTTP 서비스가 실행 중인 상태에서 데스크톱 Stremio에 다음 URL을 설치합니다:

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

이렇게 하면 Stremio 내에 Cast to TV 선택 항목이 추가됩니다. 자동 선택은 현재 네트워크 매핑을 사용한 다음 Samsung으로 폴백합니다. 명명된 Samsung 및 Google Cast 대상도 명시적으로 나열됩니다.

환경 변수 재정의

선택적 경로, 장치 이름, Stremio 서버, 호스트, 포트 재정의는 .env.example을 참조하세요. 실제 자격 증명을 .env.example에 넣거나 채워진 환경 파일을 커밋하지 마세요.

버전 0.2.1은 9개의 도메인 지향 도구를 제공합니다:

도구

작업 또는 범위

media_status

all, config, integrations, tv, media_targets, stremio_playback

integration_auth

공급자 라우팅 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

각 작업은 해당 작업과 관련된 매개변수만 검증합니다. 오류에는 tool, action, code, message가 포함됩니다.

버전 0.2 마이그레이션

버전 0.2는 하드 도구 API 전환입니다. stremio_queue는 이름과 계약을 유지합니다. stremio_library는 이름을 유지하지만 이제 변경 작업이 필요합니다. 라이브러리 목록은 stremio_discover로 이동했습니다. 다른 0.1 도구 이름은 더 이상 광고되거나 허용되지 않습니다.

이전 도구

대체

구성, TV 상태, 공급자 상태, 재생 상태

media_status

Stremio, Spotify, Trakt 인증 상태/작업

integration_auth

TV 전원, 볼륨, 음소거 도구

tv_control

Spotify 장치 및 검색 도구

spotify_discover

Spotify 재생 및 큐 도구

spotify_playback

Stremio 검색, 라이브러리 목록, 새 에피소드

stremio_discover

Stremio 라이브러리 변경 및 시청 상태

stremio_library

Stremio 재생 및 전송 제어

stremio_playback

재생 동작

  • 명시적 시즌 및 에피소드 요청은 즉시 재생됩니다.

  • 제목만 있는 시리즈는 재개 또는 다음 미시청 에피소드 시작을 제안합니다.

  • 재생은 90% 완료 시 시청 완료로 표시됩니다.

  • 큐 상태와 부분 진행 상황은 로컬에 유지됩니다.

  • TV를 끄면 세션이 종료되고 자동 진행이 중지됩니다.

  • 실패한 소스는 다음 순위 후보를 시도할 수 있습니다.

주요 구성 요소

영역

책임

Stremio 코어

메타데이터, 라이브러리 상태, 시청 비트필드, 소스 검색, 순위 및 검증

재생 오케스트레이터

세션, 진행 상황, 시청 업데이트, 몰아보기 모드 및 큐

TV 어댑터

Samsung 제어 및 명시적으로 저장된 Google Cast 수신기로의 네트워크 인식 라우팅

Spotify 통합

인증, 검색, Connect 재생 및 아티스트 큐

재생 관찰자

Trakt 스크로블링과 같은 선택적 통합

MCP 레지스트리

9개 도구 스키마, 작업 검증 및 라우팅

검증

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

테스트는 임시 상태를 사용하며 실시간 TV 및 외부 네트워크 액세스를 차단합니다.

보안

이 소프트웨어는 실제 TV를 제어하고 인증된 미디어 계정을 사용합니다. 자격 증명, 페어링 토큰, 런타임 상태 및 로그를 Git에 보관하지 마세요. HTTP MCP 또는 로컬 애드온을 LAN이나 인터넷에 노출하지 마세요. SECURITY.md를 참조하세요.

라이선스

MIT. LICENSE를 참조하세요.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Control any smart TV with natural language — play Netflix/YouTube/Spotify by name, cast URLs, scene presets, multi-room audio, and multi-TV sync. Supports LG, Samsung, Android TV, Roku.
    23
    46
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Turns AI assistants like Claude and ChatGPT into a remote control for LG webOS smart TVs, enabling power control, volume, app launching, input switching, and more, all locally without cloud APIs.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that lets AI assistants control Samsung Smart TVs (Tizen OS, 2016+) over the local network. No cloud, no SmartThings account required.
    MIT