Cast
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.
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
Serveurs connexes
ReNoUn MCP Server
Structural observability for AI conversations. Detects loops, stuck states, and convergence patterns across 17 channels without analyzing content.
Nanoleaf MCP Server
A server for controlling Nanoleaf smart lights using the Model Context Protocol.
OP.GG
Access real-time gaming data across popular titles like League of Legends, TFT, and Valorant, offering champion analytics, esports schedules, meta compositions, and character statistics.
Memory Bank MCP
A production-ready Model Context Protocol (MCP) server that provides a powerful, vector-native memory bank for AI agents. Built with the Protocol-Lattice Go Agent Framework, this server offers persistent, searchable, and shareable memory with multiple database backends.
Trayd
Trade Robinhood with natural language in Claude Code
N.I.N.A. Advanced API
Control the N.I.N.A. (Nighttime Imaging 'N' Astronomy) software through its Advanced API.
Billy MCP Server
MCP server for Billy — Danish online accounting. Invoices, contacts, daybook transactions, accounts, and products.
Lovie
The Company Formation MCP for AI coding tools.
MCP Servers
A collection of MCP servers for Cursor IDE, including demo and weather services.
VerdictSwarm MCP
Fight AI with AI. 6 adversarial AI agents debate crypto token risk before your agent trades.