CastFabric MCP Server
Provides integration with DLNA/UPnP MediaRenderer devices, enabling agents to discover, manage, and stream audio (URLs, local files, or real-time PCM) to LAN speakers via the DLNA output adapter.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CastFabric MCP ServerStream https://example.com/audio.wav to the bedroom speaker"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

CastFabric 把手机、电脑和 AI Agent 发来的音频,统一送到局域网音响。手机继续使用 DLNA、AirPlay、妙播(MiPlay);AI 通过内嵌 MCP 播放 URL、本地文件或实时 PCM。 核心输出面向标准 UPnP/DLNA MediaRenderer,完全不依赖小米账号;小米云只保留为显式 启用的旧设备兼容扩展。
默认情况下,每台已启用音响会对应一组 CastFabric · <音响名称> 接收入口。不同音响
可以并行播放,同一音响内的协议会话由独立 Receiver Suite 协调,不存在“全局默认音响”。
为什么是 CastFabric
多协议、同一出口:虚拟 DLNA、AirPlay、妙播最终都落到标准 DLNA 输出适配器。
多音响、彼此隔离:每台输出音响拥有独立 Receiver Suite、会话、端口和活动记录。
不绑定厂商账号:DLNA 扫描、发现与播放不受小米 token 或公网状态影响。
让 AI 直接找到音响:同一服务的
/mcp暴露发现、管理、播放与控制,无需部署 sidecar、第二个容器或额外端口。保留原生直投:实体音响自己的 DLNA 仍然存在,追求最低延迟时可以直接选择它。
成功必须可验证:控制命令成功后,还要确认实体音响真的拉取 HTTP 音频流,才记录 输出已建立;“接受了命令但没有声音”会得到明确错误码。
不猜测产品数据:控制台不根据 URL 猜发送 App,也不把解码耗时冒充端到端听感延迟。
默认保护隐私:事件与诊断包会移除 URL 查询参数、凭据、完整 IPv4/IPv6 地址。
Related MCP server: sonos-ts-mcp
声路模型
手机 / 电脑 ── DLNA / AirPlay / 妙播 ──┐
├─▶ Receiver Suite(每台音响独立)─▶ DLNA 输出 ─▶ 实体音响
AI Agent ── MCP:URL / 文件 / 实时 PCM ┘
音响 A:DLNA + AirPlay + MiPlay + MCP ─▶ 输出 A
音响 B:DLNA + AirPlay + MiPlay + MCP ─▶ 输出 B妙播当前声路为 AAC → 48 kHz 双声道 PCM → HTTP WAV/L16 → 实体 DLNA DMR。妙播接收端
基于公开资料和抓包行为独立实现,随 0.10 版本以预发布功能提供。
AI 与 MCP
CastFabric 0.11 在现有 Web 服务上直接提供 Streamable HTTP MCP:控制台地址若为
http://192.168.1.10:8300,MCP 地址就是 http://192.168.1.10:8300/mcp。它复用同一套
target_id、播放状态机和输出适配器,并非另一套播放服务。
当前提供 11 个原子工具:
管理:系统状态、列出音响、扫描音响、启用/停用或重命名音响;
播放:HTTP(S) URL、Agent 本地文件、
s16le / 48 kHz / 双声道实时 PCM;控制:查询状态、暂停、停止、设置音量。
仓库中的 CastFabric Agent Skill 进一步封装了文件上传、FFmpeg 实时转码和客户端侧的顺序/循环播放列表。MCP 保持轻量:CastFabric 不内置 TTS、媒体库 或服务器播放队列,Agent 负责生成或选择音频,CastFabric 只负责可靠地送到指定音响。
当前 MCP 面向可信局域网,尚未提供公网认证。不要把
/mcp直接暴露到互联网。
延迟边界
原生 DLNA 直投:在当前测试音箱上通常低于 1 秒,适合优先考虑响应速度的场景。
AirPlay / 妙播实时桥接:在当前测试音箱上听感约 4 秒。CastFabric 的 MiPlay 解码首帧 只需约 3–4 ms,音箱开始拉流并收到首批 PCM 约需 0.1 秒;剩余等待最符合实体 DMR 对 实时 HTTP 流进行固件预读的行为,无法由 CastFabric 通过标准 DLNA 控制指令关闭。
这不是所有音响都固定为 4 秒,但在新增原生或低延迟输出适配器之前,不承诺视频口型同步。 需要最低延迟时,请直接选择实体音响的 DLNA 入口。测试证据、已排除方案与后续 POC 见 实时桥接延迟边界。
Docker 快速部署
SSDP 和 mDNS 依赖局域网组播,推荐在 Linux Home Server 上使用 host 网络:
git clone https://github.com/DjangoAILab/CastFabric.git
cd CastFabric
docker compose pull
docker compose up -d打开 http://宿主机IP:8300,进入「连接配置」扫描并启用输出音响。标准 DLNA 音响不需要
登录小米账号。配置保存在 ./conf。
多网卡或自动 IP 选择不正确时,在 .env 中指定局域网地址:
CASTFABRIC_HOSTNAME=192.168.1.10
CASTFABRIC_CONFIG_DIR=./conf用途 | 默认端口 |
Web 控制台 |
|
虚拟 DLNA 与媒体服务 |
|
妙播控制起始端口 |
|
SSDP / mDNS | host 网络中的 |
也可以使用仓库中的非破坏式管理脚本:
./deploy.sh local # 从当前源码构建
./deploy.sh pull # 拉取已发布镜像
./manage.sh status
./manage.sh logs -f控制台
总览:在单屏内展示当前声路、可确认的发送端信息、协议与输出音响;多声路最多展示 三条,其余汇总,不因音响数量增加而破坏布局。
音响:管理多台输出音响、接收入口名称、启停状态和每协议健康。
活动:查看结构化会话与失败原因;诊断信息经过服务端脱敏。
AI 接入:复制当前实例的 MCP 地址、客户端配置与验证提示词;不会新增独立服务端口。
连接、播放偏好、端口和可选扩展集中在二级「连接配置」面板;界面支持中英文切换。
本地开发与验证
需要 Python 3.10+ 和 FFmpeg:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e '.[test]'
castfabric --conf-path confpython -m pytest -q
castfabric-miplay self-test --duration 0.35
castfabric-miplay scan --timeout 5
castfabric-miplay simulate --target 192.168.1.20 --duration 1当前发布门槛同时覆盖:单元/集成测试、Agent Skill 测试、MCP 冷启动、真实音响文件与 PCM 拉流、双实体 DMR 协议 POC、旧配置迁移与回滚读取、诊断隐私,以及 amd64/arm64 GHCR 构建。
迁移、架构与协议资料
兼容与开源
项目使用 MIT License。迁移期继续提供 miair、openxiaocast、
openxiaocast-miplay 命令,以及 miair Python 包;已有 config.json、配置卷和虚拟设备
UDN 不会被主动删除或重新生成。
CastFabric 延续并感谢 MiAir、 XiaoMusic、 AirPlay2 Receiver 和 Macast 的既有工作。妙播部分没有直接引入许可证不明确的 第三方实现代码。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-manageable audio CDN: upload, transcode, normalize, stream & deliver audio, plus grounded docs.
AI music and podcast platform for autonomous agents. SoundCloud for AI bots.
Turn any LLM multimodal; generate images, voices, videos, 3D models, music, and more.
Video, audio, and image processing for AI agents: convert, transcribe, upscale - 150+ operations.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI agents to control an ESP32-C3 audio client via MQTT for playing, pausing, and managing music from an HTTP library, with support for playlists and volume control.
- AlicenseAqualityDmaintenanceEnables AI assistants to control Sonos audio devices over a local network using UPnP/SOAP protocols, supporting playback, volume, queue management, zone grouping, and music library browsing.593313MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage macOS audio routing, device switching, volume control, and multi-zone playback.MIT
- FlicenseNot gradedqualityBmaintenanceEnables natural language control of Music Assistant home audio system, including playing music, controlling playback, adjusting volume, and managing queues, with intelligent player and provider resolution.1
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DjangoAILab/CastFabric'
If you have feedback or need assistance with the MCP directory API, please join our Discord server