451ee7116fe3827b54a352cfd36d9d4e1fda1470
DSM's DirSize and MD5 background service needs ~6-8 s to initialise
after a period of inactivity. During this cold-start window tasks are
registered but every status poll returns error 599 ("no such task").
Replace the ad-hoc start+_poll_task call in dir_size and get_md5 with
a new _start_and_poll_oneshot helper that:
- polls with exponential backoff (0.2 s → cap 2 s)
- on 5 consecutive 599s: restarts the task (up to 6 attempts total)
- honours a shared 60 s wall-clock budget across all restarts
- returns a clear error if all restart attempts are exhausted
Root cause confirmed by test_dirsize_md5.py: after ~6 s / 2 restarts
the service warms up and the very first poll on the new task succeeds.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
mcp-synology-filestation
MCP server for Synology FileStation — browse, search, transfer, and manage files on your NAS via Claude.
Status
Work in progress. See SPEC.md for the planned tool set.
Planned Tools
| Tool | Description |
|---|---|
list_shares |
List all shared folders |
list_dir |
Directory contents with pagination and sorting |
get_info |
File or folder metadata |
search |
Recursive pattern search |
download |
Download a file (base64 content) |
create_folder |
Create a new directory |
rename |
Rename a file or folder |
move |
Move to a new location |
copy |
Copy to a new location |
delete |
Delete a path (requires confirmation) |
upload |
Upload a file from base64 content |
Setup
uv tool install git+https://gitea.gecheckt.de/marcus/mcp-synology-filestation.git
mcp-synology-filestation setup
Development
uv sync --dev
uv run pytest
uv run ruff check src/
uv run ruff format src/
Description
Languages
Python
100%