Synology Management Plugin

April 27, 2026 · View on GitHub

A Claude Code plugin for managing a Synology NAS. SSH-based operations with optional DSM HTTP API support.

Per-host details (IP, SSH user, DSM URL, share root, credential references) are stored outside the plugin at $CLAUDE_USER_DATA/synology-mgmt/config.json, so the same install works against any number of NAS environments and survives plugin updates.

Skills

  • onboard — interactive first-run setup. Captures host, SSH user, SSH key path, DSM web URL, primary volume root, model/version, and (optionally) DSM credential references. Writes config.json.
  • synology-operations — SSH-driven file operations, share listing, volume/RAID/SMART status, snapshot inspection, and DSM-API access. Reads from config.json.

Requirements

  • SSH service enabled in DSM: Control Panel → Terminal & SNMP → Enable SSH service
  • An admin (or administrators-group) user with SSH access

Installation

claude plugins install synology-mgmt@danielrosehill

Quick start

  1. Install the plugin.
  2. Run the onboard skill — Claude will interview you for the connection details and write them to $CLAUDE_USER_DATA/synology-mgmt/config.json.
  3. Ask Claude things like "check the NAS", "list shares", or "how much space is left on volume1" — it'll read the config and connect.

Storage convention

This plugin follows the claude-rudder:plugin-data-storage convention:

  • Plugin code lives at the install path (read-only, replaced on update).
  • User config lives at ${CLAUDE_USER_DATA:-${XDG_DATA_HOME:-$HOME/.local/share}/claude-plugins}/synology-mgmt/config.json.
  • Secrets (DSM password) are never stored in the config — only a reference to where they live (1Password item, env var, file path). Skills resolve the reference at runtime.

License

MIT