Denon AVR

io.github.amineutron由 GitHub 账号 amineutron 发布v0.3.2更新于 Oct 27, 2026

Control a Denon AVR home cinema receiver over telnet: power, volume, mute, input source, status.

已验证STDIO仅桌面位置与生活媒体与设计

概览

AI 生成的概览

通过本地 telnet 协议控制 Denon AVR 家庭影院功放,让助手设置电源、音量、静音和输入源并读取状态。

可以做什么
  • 设置和调节音量,包括绝对音量、增大和减小
  • 开启、关闭或切换静音
  • 开机或将功放置于待机
  • 切换输入源(BD、TV、GAME、SAT/CBL、DVD、MPLAY,支持别名)
  • 读取当前状态:音量、电源状态、静音、输入源和是否可达
适用场景
适合希望让助手在局域网内操作 Denon AVR-X 系列功放的场景,例如调整聆听音量、切换到某个输入源,或确认功放是否开机且可连接。
运行要求
以 Python 包形式在本地运行,通过 uvx(或 pip)启动。需要将功放 IP 地址填入 DENON_HOST;DENON_PORT 可选(telnet,默认 23)。可选的 DENON_MAC 可在 DHCP 改变 IP 后重新找到功放。也可通过 config.yaml 文件配置。功放需在局域网内可访问。
安装前请注意
该服务器会向功放发送真实控制命令:关机即进入待机,音量调整立即生效,音量过高会很吵。音量 80 为 0 dB 参考值,98 为最大值。功放的 telnet 控制端口没有身份验证,局域网内能访问该端口的任何人都可控制设备。MAC 地址用于局域网内查找设备。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Denon AVR,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Denon MCP Server

[tests] [License: MIT] [Python 3.10+]

English summary. MCP server for Denon AVR home-cinema receivers over the local telnet control protocol: power, volume, mute, inputs, status. Configure with DENON_HOST / DENON_PORT (optional DENON_MAC to follow the receiver when DHCP changes its IP) or a config.yaml; runs standalone (uvx denon-mcp after PyPI publication).

Serveur MCP pour contrôler un Home Cinema Denon AVR via le protocole Denon AVR Control (telnet).

Démo

[Client MCP : les 10 outils, puis get_status sur l'ampli réel]

Enregistrée sur l'ampli réel avec docs/demo/record.sh : un client MCP minimal (docs/demo/mcp_demo.py) démarre le serveur en stdio avec DENON_HOST dans l'environnement, liste les outils et appelle get_status (lecture seule).

Modèle supporté

  • Denon AVR-X1700H DAB
  • Autres modèles AVR-X series compatibles avec le protocole Denon AVR Control

Configuration

Ordre de résolution : variables d'environnement, puis fichier YAML (DENON_CONFIG, sinon ./config.yaml, sinon config.yaml à côté du serveur, sinon celui de Lyra si le serveur est installé dans son arborescence). Le serveur fonctionne seul, sans Lyra.

Sans réservation DHCP, renseignez aussi mac (ou DENON_MAC) : si l'IP ne répond plus, le serveur retrouve le Denon par son adresse MAC dans la table de voisinage du réseau local (une recherche toutes les 2 min au plus) et bascule sur la nouvelle IP.

Installation en une ligne

bash
uvx denon-mcp          # après publication sur PyPI ; en attendant : uvx --from git+https://github.com/amineutron/denon-mcp denon-mcp

Configuration Claude Desktop / Claude Code (mcpServers) :

json
{ "denon": { "command": "uvx", "args": ["denon-mcp"], "env": { "DENON_HOST": "192.0.2.22" } } }

Ajouter dans config.yaml :

yaml
denon:  host: "192.0.2.10"        # IP du Denon (exemple)  port: 23                   # Port telnet (default: 23)

Les valeurs ci-dessous sont des exemples : remplacez-les par les valeurs de votre appareil (IP affichée dans le menu réseau de l'ampli, adresse MAC au format AA:BB:CC:DD:EE:FF utile pour une réservation DHCP ou le Wake-on-LAN).

Outils disponibles

OutilRôle
volume_setRegle le volume du Denon a un niveau specifique (0-98). 80 = 0dB reference.
volume_upAugmente le volume du Denon.
volume_downBaisse le volume du Denon.
mute_onActive le mute du Denon.
mute_offDesactive le mute du Denon.
mute_toggleToggle le mute du Denon (on/off).
power_onAllume le Denon AVR.
power_offEteint le Denon AVR (standby).
get_statusRetourne le statut du Denon : volume, power (on/standby/unknown), muted, source (BD, TV, GAME...), reachable.
set_inputChange la source d'entree du Denon (BD, TV, GAME, SAT/CBL, DVD, MPLAY).

Sources d'entrée

  • BD : Blu-ray / Lecteur BD
  • TV : Entrée TV
  • GAME : Console de jeu
  • SAT/CBL : Satellite / Câble
  • DVD : Lecteur DVD
  • MPLAY : Media Player

Aliases supportés : bluray, blu-ray, cable, sat, media, mediaplayer

Échelle de volume

  • 0-98 : Échelle Denon (0 = -80 dB, 80 = 0 dB référence, 98 = +18 dB)
  • Pour une écoute normale : 30-50
  • Pour un home cinéma : 50-70
  • Maximum recommandé : 80 (0 dB)

Protocole Denon AVR Control

Commandes telnet sur port 23 :

  • MV44 : Volume 44
  • MV? : Demander le volume actuel
  • MVUP / MVDOWN : Volume +/-
  • PWON / PWSTANDBY : Power on/off
  • MUON / MUOFF : Mute on/off
  • SIBD : Source Blu-ray

Notes HDMI ARC

Quand un home cinéma est connecté en HDMI ARC/eARC à la TV :

  • Le volume de la TV est désactivé
  • C'est le home cinéma qui contrôle le volume audio
  • Les commandes tv.volume_* ne fonctionnent PAS
  • Utiliser denon.volume_* à la place

Test manuel

bash
# Test connexionecho "MV?" | nc 192.0.2.10 23
# Régler volume à 44echo "MV44" | nc 192.0.2.10 23
# Allumerecho "PWON" | nc 192.0.2.10 23

Installation

bash
denon-mcp                     # installé (pip, uvx) ; `denon-mcp --help` liste les réglagespython -m denon_mcp           # équivalent, depuis tout environnement où le paquet est installépython server.py              # depuis un clone, sans installation (lanceur minimal, code dans denon_mcp/)

Le code vit dans le paquet denon_mcp : il s'installe à côté d'autres serveurs MCP sans conflit de nom de module. Le serveur est automatiquement lancé par Lyra via la config MCP.

Part of the Lyra ecosystem

DépôtRôle
lyraassistant DevOps vocal, local par défaut (AGPL-3.0)
fedora-agentsMCP : machines virtuelles KVM et sauvegardes
mcp-trackingMCP + API + tableau de bord des tâches longues
neutroncorehub PWA du homelab
hue-mcpMCP Philips Hue (fork de ThomasRohde/hue-mcp)
pylips-mcpMCP TV Philips
denon-mcpMCP ampli Denon
catt-mcpMCP Chromecast et DLNA

来源:README.md,提交 2eebaa9

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

3
  1. v0.3.2最新Sep 26, 2026
  2. v0.3.1Sep 25, 2026
  3. v0.2.1Sep 24, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分