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)
| Dominio | Herramientas | Cobertura |
|---|---|---|
| Descubrimiento | discover_devices | Escanea la red local en busca de dispositivos compatibles con Cast mediante mDNS |
| Medios | play_media, pause, resume, stop, seek, get_media_status | Control de reproducción y estado de los medios |
| Cola | load_queue, queue_next, queue_prev | Cola de listas de reproducción y navegación |
| Aplicaciones | get_status, launch_app, stop_app | Ciclo de vida de las aplicaciones en los receptores Cast |
| Volumen | get_volume, set_volume, mute, unmute | Control 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