
Cast
from daanrongen
MCP server for Google Cast โ discover devices, play media, control volume, launch apps, and manage queues over stdio
cast-mcp
MCP server for Google Cast โ discover devices on your local network via mDNS, play media, control volume, launch apps, and manage queues, all over stdio. No environment variables or API keys required; the server connects directly to Cast receivers using the castv2 protocol.
Tools (17 total)
| Domain | Tools | Coverage |
|---|---|---|
| Discovery | discover_devices | Scan local network for Cast-enabled devices via mDNS |
| Media | play_media, pause, resume, stop, seek, get_media_status | Playback control and media status |
| Queue | load_queue, queue_next, queue_prev | Playlist queuing and navigation |
| Apps | get_status, launch_app, stop_app | Application lifecycle on Cast receivers |
| Volume | get_volume, set_volume, mute, unmute | Volume and mute control |
Development
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 browserInspecting locally
bun run inspect launches the MCP Inspector against the local build:
bun run build && bun run inspectThis opens the Inspector UI in your browser where you can call any tool interactively and inspect request/response shapes.
Architecture
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.tsInstallation
bunx @daanrongen/cast-mcpSetup
Claude Desktop
Edit ~/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-mcpNo common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
License
MIT