314fae91678f83bdb7f5edb1a8b0c7f9a5eedf8a
Bug 1 — search always returned empty results: Search::start was passing folder_path as a plain string. DSM silently ignores a plain string for this parameter and returns finished=True with files=[] immediately, as if nothing was found. Fix: json.dumps([path]) — JSON array, matching the multi-path API pattern used by DirSize::start and List::getinfo. Bug 2 — extract returned DSM error 408: Extract::start was using "file_path" as the parameter key for the source archive. DSM expects "path". Without a valid path DSM returned error 408. The json.dumps wrapping was already correct. 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%