marcus 62f8e41931 fix: _poll_oneshot for DirSize/MD5 with burst-retry on early 599
Add FileStationClient.start_and_poll_immediately: starts the async task and
immediately makes the first status poll within the same method, with no
intermediate awaits other than the two HTTP calls. This minimises scheduler
latency between start and first poll for one-shot tasks.

_poll_oneshot now accepts the first_status from start_and_poll_immediately:
- finished=True on first poll → return immediately
- finished=False → Phase 2 (exponential backoff, 60 s timeout)
- None (first poll was 599) → burst-retry 10× at 10 ms, then Phase 2
  (Phase 2 keeps polling through 599 until seen_alive, then fails fast)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 13:50:28 +02:00
2026-04-14 07:51:51 +02:00
2026-04-14 07:51:51 +02:00
2026-04-14 07:51:51 +02:00

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/
S
Description
No description provided
Readme 805 KiB
Languages
Python 100%