Skip to main content
Glama
rafalr100

Synology MCP Server

by rafalr100

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SYNOLOGY_OTPNoOne-time OTP for 2FA bootstrap (use instead of device token for first time)
SYNOLOGY_URLYesBase URL of the NAS (e.g., http://192.168.1.100:5000)http://localhost:5000
SYNOLOGY_PASSYesDSM password
SYNOLOGY_USERYesDSM username
SYNOLOGY_TIMEOUTNoHTTP timeout in seconds (default 30)30
SYNOLOGY_DEVICE_IDNoTrusted-device token for 2FA (from bootstrap_2fa.py)
SYNOLOGY_VERIFY_SSLNoVerify TLS certificate (default false)false
SYNOLOGY_DEVICE_NAMENoDevice name shown in DSM (default SynologyMCP)SynologyMCP
SYNOLOGY_SESSION_NAMENoSession name shown in DSM (default SynologyMCP)SynologyMCP
SYNOLOGY_ENABLE_POWER_CONTROLNoAllow reboot/shutdown/update tools (default false)false

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_usersA

List local user accounts with description, email, 2FA and status.

list_groupsB

List local user groups.

list_shared_foldersA

List shared folders with their volume location and description (admin view).

create_shared_folderB

Create a new shared folder. [control]

Args: name: Name of the shared folder volume: Volume path to create it on (default /volume1) description: Optional description

delete_shared_folderA

Delete a shared folder (and its contents). [control]

Args: name: Name of the shared folder to delete

get_system_logsA

Get recent system log entries.

Args: limit: Max entries to return (default 30) level: Optional filter — "info", "warning" or "error"

get_security_scan_statusB

Get the result of the Security Advisor scan (malware, network, system, updates).

list_backup_tasksA

List Hyper Backup tasks with their current state and target.

run_backup_taskB

Start a Hyper Backup task immediately. [control]

Args: task_id: Numeric task id (from list_backup_tasks)

get_overviewA

Get a complete NAS snapshot in one call — ideal for building a dashboard.

Aggregates: system identity, CPU/RAM/network load, per-volume storage, per-disk health, overall health, and counts of packages, containers, VMs, download tasks and recent log severities. Use this, then render a dashboard artifact from the returned JSON.

list_containersA

List all Docker / Container Manager containers with their state and image.

get_container_logsA

Get recent log lines for a Docker container.

Args: name: Container name (from list_containers) lines: Number of recent log lines (default 50)

set_container_stateA

Start, stop or restart a Docker container. [control]

Args: name: Container name (from list_containers) action: "start", "stop" or "restart"

get_container_statsA

Get live CPU / memory / network / disk usage for a running container.

Args: name: Container name (from list_containers)

list_docker_projectsA

List Docker Compose / Container Manager projects.

list_docker_imagesA

List Docker images stored on the NAS, including whether an update is available.

list_downloadsA

List Download Station tasks with progress, size and transfer speed.

add_downloadA

Add a new download task from a URL or magnet link. [control]

Args: url: HTTP/FTP URL or magnet link to download destination: Shared-folder path (without leading slash), e.g. "video/movies". Required by Download Station.

manage_downloadA

Pause, resume or delete download tasks. [control]

Args: task_ids: Comma-separated task ids (from list_downloads) action: "pause", "resume" or "delete"

list_drive_connectionsA

List Synology Drive client connections (devices syncing with the NAS).

list_sharesB

List all available shared folders (File Station view).

list_filesA

List files and folders at a given path.

Args: path: Full path e.g. /home or /docker/app limit: Max items to return (default 100) offset: Pagination offset sort_by: name | size | user | group | mtime | atime | crtime | posix sort_direction: asc | desc pattern: Optional filename filter (supports wildcards, e.g. *.pdf)

get_file_infoB

Get detailed info (size, owner, timestamps) for one or more files/folders.

Args: paths: Comma-separated paths e.g. /home/report.pdf,/photo

get_directory_sizeA

Calculate the total size and item count of a folder (recursively).

Args: path: Folder path e.g. /docker

get_file_md5B

Compute the MD5 checksum of a file.

Args: path: Full file path

create_folderB

Create a new folder.

Args: parent_path: Where to create the folder e.g. /home name: New folder name

rename_itemB

Rename a file or folder.

Args: path: Full path of the item to rename new_name: New name only (not a full path)

copy_move_itemA

Copy or move files/folders into an existing destination folder. [control]

Args: paths: Comma-separated source paths dest_folder: Existing destination folder path move: True to move, False to copy (default) overwrite: Overwrite existing files (default False)

delete_itemB

Delete files or folders. [control]

Args: paths: Comma-separated paths to delete recursive: Delete folder contents recursively (default True)

search_filesA

Search for files by name pattern within a folder.

Args: folder_path: Root folder to search e.g. /home pattern: Filename pattern e.g. .pdf or report recursive: Search subdirectories (default True) limit: Max results (default 50)

extract_archiveC

Extract an archive (ZIP, etc.) into a destination folder. [control]

Args: archive_path: Full path to the archive file dest_folder: Destination folder path

create_share_linkA

Create a public sharing link for a file or folder. [control]

Args: path: Full path to share password: Optional password to protect the link

get_power_settingsA

Get power-related hardware settings: power recovery, LED brightness, beep and power schedule.

get_hibernation_settingsB

Get disk hibernation (power-saving) settings.

get_ups_statusA

Get UPS (uninterruptible power supply) status and configuration.

list_usb_devicesA

List USB devices connected to the NAS.

get_system_infoA

Get NAS model, DSM version, hostname, uptime, RAM, temperature and serial number.

get_resource_usageA

Get real-time CPU usage, memory usage and network throughput.

get_resource_historyA

Get recent Resource Monitor threshold events (CPU/RAM/IO spikes over time).

Useful for plotting recent trends or spotting recurring load problems.

Args: limit: Max events to return (default 25)

get_network_infoA

Get network interfaces with IP addresses, link speed and status, plus gateway/DNS.

get_ddns_statusA

Get configured DDNS records (hostname, external IP, last update, status).

get_quickconnect_statusA

Get QuickConnect configuration (enabled state and QuickConnect ID).

get_notification_settingsA

Get e-mail notification settings (enabled state, sender, SMTP).

check_dsm_updateA

Check whether a DSM (operating system) update is available for the NAS.

list_packagesA

List installed packages (apps) with their version and running status.

Args: running_only: If True, only return packages that are currently running.

set_package_stateA

Start or stop an installed package. [control]

Args: package_id: Package id from list_packages (e.g. "WebStation", "DownloadStation") action: "start" or "stop"

list_photo_albumsA

List albums in Synology Photos (personal space).

Args: limit: Max albums to return (default 50) offset: Pagination offset

reboot_nasA

Reboot the NAS. [control][power] Requires SYNOLOGY_ENABLE_POWER_CONTROL=true.

shutdown_nasA

Shut down (power off) the NAS. [control][power] Requires SYNOLOGY_ENABLE_POWER_CONTROL=true.

install_dsm_updateA

Download and install an available DSM update, then reboot. [control][power] Requires SYNOLOGY_ENABLE_POWER_CONTROL=true. Check availability first with check_dsm_update.

list_scheduled_tasksB

List scheduled tasks (cron jobs, scripts, scheduled backups, etc.).

run_scheduled_taskA

Trigger a scheduled task to run immediately. [control]

Args: task_id: Numeric task id (from list_scheduled_tasks)

get_security_settingsA

Get DSM security settings (session timeout, CSRF protection, IP checking).

get_autoblock_settingsA

Get the auto-block policy (block IPs after failed login attempts).

get_firewall_statusC

Get firewall profile information.

list_certificatesA

List installed TLS/SSL certificates with validity dates and assigned services.

get_file_servicesA

Get the enabled state and key settings of SMB, AFP, NFS and FTP file services.

set_file_serviceB

Enable or disable a file-sharing protocol. [control]

Args: service: One of "smb", "afp", "nfs", "ftp" enabled: True to enable, False to disable

get_terminal_settingsA

Get SSH / Telnet terminal access settings.

get_snmp_settingsA

Get SNMP service settings.

get_storage_infoB

Get storage volumes: RAID type, filesystem, used/free space and health status.

get_storage_poolsA

Get storage pools with RAID type, status and data-scrubbing state.

get_disk_infoB

Get individual disk details: model, temperature, health (S.M.A.R.T.) and status.

get_surveillance_infoA

Get Surveillance Station info: version, camera count and licence usage.

list_camerasA

List Surveillance Station cameras with model, IP and status.

get_system_healthA

Get overall system health: status, uptime, reboot-required flag and fan status.

get_active_connectionsA

List currently active connections to the NAS (who, from where, which protocol).

get_time_settingsA

Get the NAS time, timezone and NTP synchronization settings.

list_processesB

List top running processes by CPU or memory usage.

Args: top: Number of processes to return (default 15) sort_by: "cpu" or "mem" (default cpu)

list_virtual_machinesA

List Virtual Machine Manager guests with their state and resource allocation.

set_vm_stateA

Power a virtual machine on or off. [control]

Args: name: VM name (from list_virtual_machines) action: "poweron", "poweroff" (force off), "shutdown" (graceful) or "restart"

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rafalr100/synology-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server