Skip to main content
Glama
README.md
# Roon MCP Server for FiiO M23

Control music playback on your FiiO M23 by talking to Claude.

```
Claude Desktop  ──MCP──▶  roon-mcp  ──Roon Extension API──▶  Roon Core  ──▶  FiiO M23
```

## What you can say to Claude

- *"Play Kind of Blue by Miles Davis"*
- *"Skip to the next track"*
- *"Turn the volume down to 40"*
- *"What's playing on the M23?"*
- *"Pause the music"*
- *"Play something by Coltrane"*

---

## Setup

### 1 — Install dependencies

```cmd
cd roon-mcp
npm install
```

### 2 — Start the server manually (first time only)

```cmd
node index.js
```

Then open Roon → **Settings → Extensions** → find **"Roon MCP Server"** → click **Enable**.

You only need to authorise once. Roon remembers the extension.

Press `Ctrl+C` to stop.

### 3 — Add to Claude Desktop

Find your Claude Desktop config file:

- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

Open it in Notepad and add the `roon-mcp` block. If the file is empty, paste the whole thing:

```json
{
  "mcpServers": {
    "roon-mcp": {
      "command": "node",
      "args": ["C:\\Users\\YourName\\roon-mcp\\index.js"]
    }
  }
}
```

Replace `C:\\Users\\YourName\\roon-mcp` with the actual path to this folder.
To find it, open a terminal in the folder and type:

```cmd
cd
```

It will print the full path. Use that, but replace every `\` with `\\`.

### 4 — Restart Claude Desktop

Fully quit and reopen Claude Desktop. You should see a 🔌 tools icon — click it to confirm **roon-mcp** is listed.

---

## Available tools

| Tool | What it does |
|---|---|
| `list_zones` | Show all Roon zones and their state |
| `now_playing` | What's currently playing |
| `play_pause` | Toggle play/pause |
| `next_track` | Skip forward |
| `previous_track` | Go back |
| `set_volume` | Set volume 0–100 |
| `search_and_play` | Search library and play on M23 |

---

## Troubleshooting

**"Not paired with Roon Core"**
→ Run `node index.js` manually, then go to Roon → Settings → Extensions and enable it.

**Zone not found**
→ Ask Claude to `list_zones` first to see the exact zone name Roon uses for your M23.

**Claude Desktop doesn't show the tools icon**
→ Check the path in `claude_desktop_config.json` is correct and uses `\\` not `\`.
→ Make sure Node.js is installed: open a terminal and type `node -v`.