4145d929a63b1056d8081d989dd01a7f60a1ec76
Live NAS investigation (test_dirsize_md5.py) revealed two bugs: 1. _poll_task() always slept 200ms before the first status call. DirSize and MD5 complete near-instantly on small data, so the result window closes before the first poll. Fix: add initial_delay parameter (default 0.2s for CopyMove/Delete/Compress/Extract); DirSize and MD5 pass initial_delay=0.0 to poll immediately after start. 2. get_md5 used status version=2, but the NAS only serves the result on status v1 (v2 always returns 599 regardless of timing). Fix: change _poll_task version to 1 for SYNO.FileStation.MD5. MD5 is one-shot: the result is consumed on the first successful status read. Polling at 0ms ensures we catch it before it expires. 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%