e3fa71b45895e99058ad71e438164314938312ea
DirSize for large directories (e.g. /docker, 8441 folders, 46832 files) takes ~800ms to compute. While running, status returns intermediate progress (finished=false). But on the very first poll the task can return 599 transiently (task just started, not yet available). Previously _poll_task caught any SynologyError and returned immediately, making dir_size always fail on the first 599. Fix: treat 599 as a transient condition and continue polling. Give up only after 5 consecutive 599 responses. All other error codes remain immediately fatal. Investigation confirmed with test_dirsize_md5.py: - /test-mcp (2937 B): finished=true at 0ms - /docker (3.9 GB, 46832 files): finished=false at 35ms, finished=true at 789ms Tests: 2 new cases (retry-succeeds, 5x-599-gives-up) → 95 total 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%