LabscoMCP early access ↗
alexballasMCP SERVER · OFFICIAL PROJECT

MCP Beam

Cast a local video or a media URL to a Chromecast or DLNA device on your network, and control playback from the conversation.

by alexballas ↗IoT, Smart Home & Embedded Hardware✓ Official

LABSCO SUMMARY

It tells you what the device can do before you send it something it cannot play.

Casting fails in boring ways — wrong codec, a DLNA renderer that will not take a playlist URL — and this returns capabilities and limitations per device up front, so the choice is informed rather than trial and error. Stable device IDs matter for the same reason: the follow-up calls address a session and a device, not a name that might have shifted. --self-test before wiring a client is a nice touch, and the first go run is slower because the module has to build.

What it is

A stdio server for casting to Chromecast and DLNA/UPnP renderers on your LAN. It discovers devices, starts playback, and holds a session you can pause, seek and stop.

What you get

  • Seven tools: list_local_hardware, beam_media, get_beaming_status, play_beaming, pause_beaming, seek_beaming and stop_beaming
  • list_local_hardware returns stable device IDs plus name, type, address, protocol and per-device capabilities — whether it takes files, URLs or HLS .m3u8
  • beam_media takes an absolute local path or an http/https URL, a target device, and optional subtitles_path (.srt or .vtt) and start_seconds; transcode is auto, always or never
  • seek_beaming accepts a percent or an absolute position; the session ID from beam_media addresses every follow-up call
  • Protocol differences are reported rather than hidden — Chromecast casts .m3u8 directly, DLNA rejects it with structured limitation details and falls back from direct to proxy for other sources
  • Errors are structured with remediation hints; if transcoding is needed and ffmpeg is missing, you get FFMPEG_NOT_FOUND rather than a silent failure

Requirements

Go 1.26 or newer if you run it with go run go2tv.app/mcp-beam@latest, build it locally, or install with claude mcp add. A downloaded release binary needs no Go at all. ffmpeg and ffprobe are optional for direct-play paths and recommended otherwise. --self-test and --version verify the wiring before you connect a client.

Setup effort

One command — go run go2tv.app/mcp-beam@latest