Denon AVR

io.github.amineutronPublished by GitHub account amineutronv0.3.2Updated Oct 27, 2026

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

VerifiedSTDIODesktop onlyLocation & LifestyleMedia & Design

Overview

AI-generated overview

Controls a Denon AVR home-cinema receiver over the local telnet protocol, letting an assistant set power, volume, mute and input source and read status.

What you can do
  • Set and adjust volume, including absolute level, up and down steps
  • Turn mute on, off or toggle it
  • Power the receiver on or put it into standby
  • Switch the input source (BD, TV, GAME, SAT/CBL, DVD, MPLAY, with aliases)
  • Read current status: volume, power state, mute, source and reachability
When to use it
Useful when you want an assistant to drive a Denon AVR-X series receiver on the local network, for example to set listening volume, switch to a source, or check whether the amplifier is on and reachable.
Requirements
Runs locally as a Python package launched with uvx (or pip). Needs the receiver's IP address in DENON_HOST; DENON_PORT is optional (telnet, default 23). An optional DENON_MAC lets the server find the receiver again when DHCP changes its IP. Configuration can also come from a config.yaml file. The receiver must be reachable on the local network.
Before you install
The server sends real control commands to the amplifier: power off puts it into standby, and volume changes take effect immediately, so a high level can be loud. Volume 80 is the 0 dB reference and 98 is the maximum. The receiver's telnet control port is unauthenticated, so anyone on the local network who can reach it can control the device. The MAC address is used for local network lookups.

Installation

In SourceWeft

  1. Open Denon AVR in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

Source: README.md at commit 2eebaa9

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

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

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts