Cast

Servidor MCP para Google Cast: descubre dispositivos, reproduce contenido, controla el volumen, inicia aplicaciones y gestiona colas a través de stdio.

Documentación

cast-mcp

Servidor MCP para Google Cast — descubre dispositivos en tu red local mediante mDNS, reproduce medios, controla el volumen, inicia aplicaciones y gestiona colas, todo a través de stdio. No se requieren variables de entorno ni claves de API; el servidor se conecta directamente a los receptores Cast mediante el protocolo castv2.

Instalación

bunx @daanrongen/cast-mcp

Herramientas (17 en total)

DominioHerramientasCobertura
Descubrimientodiscover_devicesEscanea la red local en busca de dispositivos compatibles con Cast mediante mDNS
Mediosplay_media, pause, resume, stop, seek, get_media_statusControl de reproducción y estado de los medios
Colaload_queue, queue_next, queue_prevCola de listas de reproducción y navegación
Aplicacionesget_status, launch_app, stop_appCiclo de vida de las aplicaciones en los receptores Cast
Volumenget_volume, set_volume, mute, unmuteControl de volumen y silencio

Configuración

Claude Desktop

Edita ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "cast": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@daanrongen/cast-mcp"]
    }
  }
}

Claude Code CLI

claude mcp add cast -- bunx @daanrongen/cast-mcp

Desarrollo

bun install
bun run dev        # run with --watch
bun test           # run test suite
bun run typecheck  # type check without emitting
bun run build      # bundle to dist/main.js
bun run inspect    # open MCP Inspector in browser

Inspección local

bun run inspect inicia el MCP Inspector contra la compilación local:

bun run build && bun run inspect

Esto abre la interfaz del Inspector en tu navegador, donde puedes llamar a cualquier herramienta de forma interactiva e inspeccionar las formas de las solicitudes y respuestas.

Arquitectura

src/
├── config.ts                   # (no env config required)
├── main.ts                     # Entry point — ManagedRuntime + StdioServerTransport
├── domain/
│   ├── CastClient.ts           # Context.Tag service interface (port)
│   ├── errors.ts               # CastError, DeviceNotFoundError
│   ├── models.ts               # Schema.Class models (CastDevice, MediaStatus, …)
│   ├── discovery.test.ts       # Discovery domain tests
│   ├── media.test.ts           # Media domain tests
│   └── volume.test.ts          # Volume domain tests
├── infra/
│   ├── CastClientLive.ts       # Layer.scoped — mDNS discovery + castv2 connections
│   └── CastClientTest.ts       # In-memory test adapter
└── mcp/
    ├── server.ts               # McpServer wired to ManagedRuntime
    ├── utils.ts                # formatSuccess, formatError
    └── tools/                  # discovery.ts, media.ts, queue.ts, apps.ts, volume.ts

Licencia

MIT