Cast
MCP server for Google Cast β discover devices, play media, control volume, launch apps, and manage queues over stdio
Ask AI about Cast
Powered by Claude Β· Grounded in docs
I know everything about Cast. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
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.
Installation
bunx @daanrongen/cast-mcp
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 |
Setup
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-mcp
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 browser
Inspecting locally
bun run inspect launches the MCP Inspector against the local build:
bun run build && bun run inspect
This 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.ts
License
MIT
