Skip to main content
Glama
cmeans

mcp-synology

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SYNOLOGY_HOSTYesNAS hostname or IP
SYNOLOGY_PASSWORDYesDSM password
SYNOLOGY_USERNAMEYesDSM username

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
list_sharesA

List all shared folders on the NAS. This is the starting point for file navigation — call this first to discover available paths. Shows each share's volume and that volume's free space (shared by every share on it); for how much space a share uses, call get_dir_size.

list_filesB

List files and folders in a directory. Supports glob pattern filtering, file type filtering, sorting, and pagination.

list_recycle_binC

List the contents of a shared folder's recycle bin. Shows recently deleted files that can be restored.

search_filesA

Search recursively for files by keyword, extension, size, or modification date. The pattern parameter is a keyword/substring match on filenames (not glob). Use extension for file type filtering (e.g., extension="mkv"). Accepts human-readable sizes like "500MiB". mtime_from / mtime_to accept ISO 8601 ("2026-04-01T12:00:00+00:00"), a calendar date ("YYYY-MM-DD"), or Unix epoch seconds; naive dates are treated as UTC. For directory contents or sizes, use list_files or get_dir_size instead.

get_file_infoA

Get detailed metadata for specific files or folders: size, owner, timestamps, permissions, and real path. additional optionally picks the DSM fields to fetch: real_path, size, owner, time, perm, type (the file's extension type) and mount_point_type (shown only for a mount point). Default: real_path, size, owner, time, perm. Unknown values are rejected.

get_dir_sizeA

Calculate the total size of a directory, including all files and subdirectories. Returns total size, file count, and directory count. This is the best tool for answering 'how much space does X use' questions.

download_fileA

Download a NAS file to a local directory on this machine. Provide the NAS file path. dest_folder is optional if default_download_dir is configured. Does not overwrite existing local files by default.

create_folderB

Create one or more new folders. Creates parent directories automatically by default. Idempotent — creating an existing folder succeeds.

renameA

Rename a file or folder. Provide the full current path and the new name (just the name, not a full path).

copy_filesA

Copy files or folders to a destination folder. Source files remain in place. Set overwrite=true to replace existing files.

move_filesA

Move files or folders to a new location. Source files are REMOVED after transfer. Set overwrite=true to replace existing files.

delete_filesB

Delete files or folders. If the share has a recycle bin, files can be recovered. Otherwise deletion is permanent, as is deleting inside //#recycle.

upload_fileA

Upload a local file from this machine to a NAS folder. Provide the local file path. dest_folder is optional if default_upload_dir is configured. Does not overwrite existing NAS files by default.

restore_from_recycle_binB

Restore deleted files from a shared folder's recycle bin to their original location or a specified destination.

list_downloadsA

List download tasks in the Download Station queue. Filter by status (downloading/finished/paused/error/all). Returns a table with id, title, type (bt/http/ftp/nzb), status, size, progress%, download and upload speed, ETA, and completion time. Paged with offset/limit (default 25); the footer gives the true total and the next offset. sort_by: queue (default, oldest first), created or completed (newest first; e.g. sort_by=completed, limit=1 gives the most recently finished task). A status filter or sort covers the whole queue, not just one page. Accounts that are not Download Station managers see only their own tasks (the output says so), so an empty list does not mean the NAS is idle.

get_download_infoA

Get detailed information for a specific download task: detail (status, destination, URI), transfer (size downloaded/uploaded, speed, peers), files (per-file selection for BT), trackers (BT only), peers (BT only). Use list_downloads first to find the task_id.

get_download_statsA

Get current Download Station throughput statistics: total download and upload speed across all tasks, plus eMule download/upload speed when the eMule service is enabled. For per-task speeds use list_downloads.

get_download_configA

Get Download Station global configuration: default destination, BT/HTTP/FTP/NZB/eMule max speeds, eMule and auto-unzip state. For accounts that are not Download Station managers DSM returns a per-user view (labeled as such), not the NAS-wide settings. Use get_schedule for the weekly plan.

get_scheduleA

Get the Download Station schedule: whether it is enabled, the limited-speed (alt) download/upload rates, and the weekly plan as a 7-day × 24-hour grid where each hour is full speed, limited, or no download. The weekly plan needs a Download Station manager/admin account; otherwise only the flags are shown.

create_downloadA

Create one or more download tasks. Pass a comma-separated list of URIs (HTTP, FTP, magnet, etc.) via uri OR pass a local path to a .torrent / .nzb file via torrent_file_path. destination is a share-relative path (omit to use your default destination; a non-manager who has none must set it first with set_download_config, because DS won't start their tasks until then). username / password may be supplied for protected URLs (not for torrent files). Returns the new task IDs when DSM provides them (not for URLs with username / password); long magnet links and URI lists are supported.

delete_downloadA

Remove one or more download tasks. task_ids is a list. A deleted task can't be restored (its source URL is gone with it), so name the tasks and confirm with the user before deleting. Files from finished tasks are always kept. For unfinished tasks the partial data is discarded (irreversible). force_complete asks DSM to keep the incomplete file in the destination instead, but DSM has been seen to discard it anyway, so don't rely on it to preserve partial data. DSM refuses force_complete on finished tasks (error 405; the task stays listed), so leave it false for those.

pause_downloadA

Pause one or more download tasks. task_ids is a list. An already-paused or finished task is refused for that id (error 405), while the others are paused. If none of the ids can be paused, the whole call fails with invalid_parameter.

resume_downloadA

Resume one or more paused download tasks. task_ids is a list. An active or finished task is refused for that id (error 405), while the others are resumed.

edit_downloadA

Edit task parameters. task_ids is a list. Currently supports destination (change the task's output share). Requires a newer Download Station (Task API v2); older versions get a clear error.

set_download_configA

Set Download Station global configuration. All parameters are optional — only fields you pass get updated. Rates are KB/s; 0 means unlimited. Pass default_destination to change DS's default destination share. The rate fields require a Download Station manager/admin account: DSM silently ignores them from other accounts, so the tool refuses them. Any user can set default_destination: DSM applies it per user, and DS won't start a non-manager's tasks until it is set.

set_scheduleA

Set the Download Station schedule. All parameters optional — only what you pass gets updated. enabled / emule_enabled toggle whether the schedule applies (DSM lets any Download Station user toggle this NAS-wide flag). schedule_plan is a 168-character string, 24 chars per day, Sun first through Sat; each char is '0' no download, '1' full speed, '2' limited. download_rate / upload_rate set the limited speed in KB/s (0 = unlimited). The plan and rates need a Download Station manager/admin account; if that write is refused, nothing is applied.

get_system_infoA

Get NAS hardware and software info: model, firmware, CPU, RAM, temperature, uptime. Use this to identify the NAS and check its basic health.

get_resource_usageA

Get live resource utilization: CPU load, memory usage, disk I/O, and network throughput. Use this to check if the NAS is under heavy load before running expensive operations like search or large file copies.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 28 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: file operations (list, search, copy, move, delete), download management (create, pause, resume, delete, edit), and system info. Overlaps are minimal and well-clarified by descriptions (e.g., get_download_info vs list_downloads).

Naming Consistency4/5

Most tools follow a consistent snake_case verb_noun pattern (e.g., set_schedule, get_system_info, list_files, create_folder, delete_files). A few deviations like rename (no object) and get_dir_size (verb_noun but with abbreviated noun) are minor and still clear.

Tool Count3/5

28 tools is on the higher side for a Synology NAS MCP, but the server covers multiple domains (file management, download station, system monitoring) and most tools are justified by specific operations. Some could potentially be consolidated, but the breadth is reasonable.

Completeness5/5

The toolset provides comprehensive coverage: full file operations (list, search, create, read, update, delete, copy, move), download lifecycle management (create, list, info, pause, resume, edit, delete, config, schedule), and system monitoring. No obvious gaps for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessResponsive