MCP server: One MCP server.

Denon AVR

@amineutronMCP server · External

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

Smart homev0.3.2MITPython
Freeno charge per call

Runs on your machine from its package; the steps are below.

Client MCP : les 10 outils, puis get_status sur l'ampli réel
From the README

What it does

  1. Reads
  2. Writes
  3. High impact

At most: creates or changes data: records, files, settings.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPIdenon-mcpv0.3.2

Run

uvx denon-mcp

MCP client config

{
  "mcpServers": {
    "denon-avr": {
      "command": "uvx",
      "args": [
        "denon-mcp"
      ]
    }
  }
}
README4 min read

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 connexion
echo "MV?" | nc 192.0.2.10 23

# Régler volume à 44
echo "MV44" | nc 192.0.2.10 23

# Allumer
echo "PWON" | nc 192.0.2.10 23

Installation

bash
denon-mcp                     # installé (pip, uvx) ; `denon-mcp --help` liste les réglages
python -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

Similar modules

Browse Smart home