关于 Philips TV (JointSpace + ADB)
面向家庭娱乐自动化的 Philips Android TV 控制服务,结合 JointSpace 与 ADB,支持电源、Ambilight、应用、输入源及 YouTube 播放控制。
主要功能
- 01控制电源、屏幕和音量
- 02设置 Ambilight 模式与颜色
- 03查看和启动电视应用
- 04播放指定 YouTube 视频
- 05读取电视状态和当前应用
- 06切换输入源并发送遥控按键
适用场景
- 01通过 AI 客户端调整电视设置
- 02启动指定的 YouTube 视频
- 03执行控制前检查电视状态
MCP 相关
向 MCP 客户端提供电视控制工具,包括电源、音量、Ambilight、应用启动、YouTube 播放、状态查询和遥控按键输入。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx pylips-mcpTV_HOSTIP address of the Philips TVTV_USERJointSpace pairing username (from pylips pairing)TV_PASS密钥JointSpace pairing passwordDENON_HOSTOptional Denon AVR IP: volume and mute are redirected to the amplifier (HDMI ARC)DENON_PORTDenon telnet portPYLIPS_TLS_FINGERPRINTOptional SHA-256 fingerprint to pin the TV certificate本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
17收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
pylips-mcp
用于通过 JointSpace API 和 ADB 控制 Philips Android TV 的 MCP 服务。
提供 14 个工具,涵盖电源、音量、Ambilight、应用启动和 YouTube 播放。 可透明处理 TP Vision SHA1 证书链。
演示

使用真实电视录制,录制脚本为 docs/demo/record.sh:一个最简 MCP 客户端(docs/demo/mcp_demo.py)通过 stdio 启动服务,并从环境变量读取 TV_HOST/TV_USER/TV_PASS,列出工具并调用 get_state(只读)。凭据不会出现在屏幕上。
工具
| 工具 | 作用 |
|---|---|
power_on | 打开 Philips 电视 |
power_off | 关闭 Philips 电视(待机) |
screen_off | 关闭电视屏幕,同时保持声音播放(音乐模式)。注意:主要适用于 HDMI/TV 信号源,在 Android 模式下支持有限。 |
screen_on | 在执行 screen_off 后重新打开电视屏幕 |
volume_up | 调高电视音量(默认 +5) |
volume_down | 调低电视音量(默认 -5) |
volume_set | 将音量调到指定级别 |
mute | 开启或关闭电视声音 |
ambilight_on | 开启电视的 Ambilight |
ambilight_off | 关闭电视的 Ambilight |
ambilight_mode | 更改 Ambilight 模式 |
ambilight_color | 将 Ambilight 设为固定颜色(RGB 0-255),亮度可选 |
list_apps | 列出电视上可用的应用 |
launch_app | 在电视上启动应用 |
youtube_video | 在 YouTube 上播放指定视频(YouTube URL 或视频 ID) |
get_state | 返回电视当前状态:powerstate(On/Standby)、音量、muted、ambilight_on、ambilight_mode |
current_app | 返回电视当前显示的内容:kind(app、input = HDMI 或天线输入、home、other)、app(供 launch_app 使用的名称)和 package |
set_source | 将电视切换到 HDMI 输入(hdmi1 至 hdmi4),或返回主菜单(home) |
send_key | 发送遥控器按键 |
YouTube ID 提取
extract_video_id 有意与 catt-mcp 中的实现重复(cast_youtube,支持 Chromecast 起始位置和双屏同步)。两个服务均可独立安装;每个服务都使用同一组测试用例测试自己的副本(tests/test_youtube_id.py)。此决定记录于 2026-09-20。
要求
- Python 3.10+
- JointSpace 凭据(用户名和密码),通过与电视进行一次性配对获取(参见 Setup);服务本身直接与电视 API 通信,运行时不需要 pylips
- 启用了 JointSpace API 的 Philips Android TV(2016 年及之后的型号)
- 电视上启用了 ADB(用于 YouTube 深层链接)
wakeonlanPython 包(可选,用于 Wake-on-LAN)
一行安装
uvx pylips-mcp # depuis PyPI ; avant publication : uvx --from git+https://github.com/amineutron/pylips-mcp pylips-mcp
Claude Desktop / Claude Code 配置(mcpServers):
{ "pylips": { "command": "uvx", "args": ["pylips-mcp"], "env": { "TV_HOST": "192.0.2.10", "TV_USER": "...", "TV_PASS": "..." } } }
设置
1. 与电视配对
只需配对一次,即可获取 JointSpace 用户名和密码。克隆该仓库后,使用
eslavnov/pylips 的配对工具
(PyPI 上的 pylips 包是无关项目:请勿执行 pip install pylips),
并按照其 README 操作,输入电视的 IP。之后 pylips-mcp 不再需要 pylips。
请妥善保存配对时获取的用户名和密码:在步骤 3 中将它们填入 config.yaml,或设置为 TV_USER / TV_PASS。
2. 安装依赖
pip install pylips-mcp # or: uvx pylips-mcp
3. 配置
将 config.example.yaml 复制为 config.yaml,并填入电视凭据:
tv:
host: "192.168.0.XX"
user: "your_user"
pass: "your_password"
4. 运行
pylips-mcp # installed (pip, uvx) ; `pylips-mcp --help` lists the settings
python -m pylips_mcp # same thing, from any environment where the package is installed
python server.py # from a clone, without installing (thin launcher, code in pylips_mcp/)
或者通过环境变量设置:
TV_HOST=192.168.0.XX TV_USER=xxx TV_PASS=xxx pylips-mcp
代码位于 pylips_mcp 包中(包含 TP Vision 证书),因此可以与其他 MCP 服务一起安装,而不会发生模块名称冲突。
Claude Desktop 配置
{
"mcpServers": {
"philips-tv": {
"command": "python3",
"args": ["/path/to/pylips-mcp/server.py"],
"env": {
"TV_HOST": "192.168.0.XX",
"TV_USER": "your_user",
"TV_PASS": "your_password"
}
}
}
}
SSL 说明
Philips 电视提供一条由 SHA1 签名、颁发于 2015 年的 TP Vision 证书链。
现代 OpenSSL 和 Fedora/RHEL 加密策略会拒绝 SHA1 签名,因此无法进行常规 CA 验证,即使使用捆绑的证书链和 SECLEVEL=0 也不行。
本服务采取的替代方案如下,如实说明:
- 禁用 CA 验证(因为验证无法成功);
- 电视提供的证书的 SHA-256 指纹必须与
tpvision_ca.pem中附带的叶证书匹配(在 TLS 握手后由 urllib3 检查,因此中间人无法在没有私钥的情况下冒充电视)。已在一台真实的 55OLED705 电视上验证(JointSpace 6,端口 1926); PYLIPS_TLS_FINGERPRINT=<sha256 hex>可固定另一台电视的指纹,PYLIPS_TLS_PIN=0可禁用固定并记录警告。
tpvision_ca.pem 是公开的 TP Vision 证书链(叶证书 restfultv.tpvision.com,中间证书 ca.tpvision.com,根证书 www.tpvision.com,有效期至 2042 年),使用 openssl s_client -showcerts 从电视中提取。它不包含任何秘密。
许可证
MIT
HDMI ARC 音量
当电视通过 HDMI ARC 连接到功放时,声音不会从电视输出:
调节电视音量不会产生可听到的效果。如果配置中填写了 denon.host,
则 volume_up、volume_down、volume_set 和 mute
会重定向到 Denon 功放;否则会通过电视 API 控制音量。
要直接控制功放(输入、关机、状态),请使用 denon-mcp。
Lyra 生态系统的一部分
| 仓库 | 作用 |
|---|---|
| lyra | 默认在本地运行的语音 DevOps 助手(AGPL-3.0) |
| fedora-agents | MCP:KVM 虚拟机和备份 |
| mcp-tracking | MCP + API + 长时间运行任务的仪表板 |
| neutroncore | homelab 的 PWA 中枢 |
| hue-mcp | Philips Hue MCP(分叉自 ThomasRohde/hue-mcp) |
| pylips-mcp | Philips 电视 MCP |
| denon-mcp | Denon 功放 MCP |
| catt-mcp | Chromecast 和 DLNA MCP |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。