Lyngdorf

Controls Lyngdorf devices via MCP with auto-discovery, safety limits, and 43 tools across TDAI, MP, and CD models.
  • typescript

2

GitHub Stars

typescript

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "thejens-lyngdorf-mcp": {
      "command": "npx",
      "args": [
        "lyngdorf-mcp"
      ],
      "env": {
        "LYNGDORF_IP": "192.168.1.42",
        "VOLUME_HARD_LIMIT": "-10",
        "VOLUME_WARNING_THRESHOLD": "-20"
      }
    }
  }
}

You can control Lyngdorf Audio devices through a dedicated MCP server that runs locally or remotely. This server auto-discovers devices on your network, provides a safety layer for volume, supports multiple Lyngdorf models, and exposes a rich set of control tools to manage power, input sources, RoomPerfect tuning, voicing, playback, and more. It’s designed to stay connected, handle model differences, and keep your device in sync with reliable commands.

How to use

Start the MCP server and connect your MCP client. On startup, it will automatically discover Lyngdorf devices on your network using mDNS. If a single device is found, it connects automatically. If multiple devices are found, you can list them and select the one you want to control.

From your MCP client, you can perform actions such as powering the device on or off, adjusting the volume with safety limits, changing sources, tuning RoomPerfect focus, applying voicing presets, and managing playback or streaming. The server includes a safety system with a warning threshold and a hard limit to protect your ears and equipment.

You can run multiple configurations and optionally set a specific device IP if auto-discovery does not locate a device on your network. Use the available tools to discover, list, and select devices when more than one is present.

How to install

Prerequisites: ensure you have Node.js 22 or newer and a package manager such as npm or yarn installed on your system.

Install from npm globally to begin using the MCP server right away.

npm install -g lyngdorf-mcp

Or run the MCP server directly without installing globally using npx.

npx lyngdorf-mcp

If you prefer to install from source, clone the project, install dependencies, prepare the environment, and build the distribution before running.

git clone <repository-url>
cd lyngdorf-mcp
npm install
cp .env.example .env
npm run build

Configuration and startup notes

You can configure how the MCP server discovers devices and limits volume via environment variables.

Key environment variables include:

  • LYNGDORF_IP: Manually specify a device IP if auto-discovery fails.

  • VOLUME_WARNING_THRESHOLD: Volume level in dB that triggers a confirmation prompt before allowing the change.

  • VOLUME_HARD_LIMIT: Maximum volume level in dB that cannot be exceeded via MCP tools.

For quick usage with Claude Desktop, you can configure the MCP server to run via npm or a local installation. The following examples show how to wire the MCP server into Claude Desktop’s config.

{
  "mcpServers": {
    "lyngdorf": {
      "command": "npx",
      "args": ["lyngdorf-mcp"],
      "env": {
        "VOLUME_WARNING_THRESHOLD": "-20",
        "VOLUME_HARD_LIMIT": "-10"
      }
    }
  }
}

Troubleshooting and tips

If no devices are found, ensure your Lyngdorf device is powered on and connected to the same network subnet as the MCP server. You can force discovery by manually setting LYNGDORF_IP.

If a volume change triggers a warning, either confirm the action to proceed or adjust the requested volume to stay within the safe range.

To see which devices are available for control, use the device listing tools in your MCP client. If multiple devices are present, select the one you wish to control.

Developer notes

The MCP server is designed to auto-discover, auto-connect when a single device is found, and provide a unified set of tools for power, volume, input, RoomPerfect, voicing, playback, and source management across supported Lyngdorf models.

Available tools

powerOn

Turn the Lyngdorf device on from standby

powerOff

Power down the device

togglePower

Toggle between on and standby states

checkPowerState

Query whether the device is active or in standby

setVolume

Set a specific volume level with safety checks enforcing thresholds

volumeUp

Increase volume by 0.5 dB per action

volumeDown

Decrease volume by 0.5 dB per action

getVolume

Retrieve the current volume level

mute

Mute the audio output

unmute

Unmute the audio output

setBass

Adjust bass gain level

getBass

Read current bass gain level

setTreble

Adjust treble gain level

getTreble

Read current treble gain level

setBalance

Adjust left/right balance

getBalance

Read current balance setting

setBassFrequency

Set bass frequency focus for EQ adjustments

getBassFrequency

Get bass EQ frequency focus

setTrebleFrequency

Set treble frequency focus for EQ adjustments

getTrebleFrequency

Get treble EQ frequency focus

setSource

Change the active input source

getSource

Query the current input source

listSources

List all available input sources

setRoomPerfectFocus

Set a specific RoomPerfect focus position

setRoomPerfectGlobal

Set global RoomPerfect tuning state

getRoomPerfect

Query current RoomPerfect settings

listRoomPerfectPositions

List available RoomPerfect focus positions

setVoicing

Apply a voicing preset or adjustment

nextVoicing

Cycle to the next voicing preset

previousVoicing

Cycle to the previous voicing preset

getVoicing

Get current voicing setting

listVoicings

List available voicing presets

play

Start playback of the current source (model dependent)

pause

Pause playback (model dependent)

stop

Stop playback (model dependent)

next

Skip to the next track (model dependent)

previous

Return to the previous track (model dependent)

getStreamType

Detect current streaming source (Spotify, Roon, AirPlay, etc.)

discoverDevices

Trigger device discovery on the network

listDevices

List all discovered Lyngdorf devices

selectDevice

Select which device to control when multiple are found

getStatus

Retrieve a comprehensive status of the currently selected device

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Lyngdorf MCP Server - thejens/lyngdorf-mcp | VeilStrat