mcpField
S
synology-file-station

synology-file-station

github.com/tiangong-aiProductivity1189 installsUpdated 1w ago
Repository

About synology-file-station

Synology File Station is a skill that runs file-management operations on Synology through a Python CLI script. It uses environment-based credentials and structured JSON output for automation pipelines.

Key features

  1. 01Browse shares and files
  2. 02Search files and directories
  3. 03Create, rename, move, copy, or delete items
  4. 04Upload and download files
  5. 05Extract archives and control background tasks
  6. 06Return structured JSON results

Use cases

  1. 01Automate Synology file operations
  2. 02Search for files on a NAS
  3. 03Transfer files in a pipeline
  4. 04Restrict mutation commands to allowed paths

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tiangong-ai/agent-skills --skill synology-file-station

After installing, type/synology-file-stationin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
assets/
config.example.env
references/
commands.md
env.md
scripts/
synology_file_station.py

Details

From the project README

Synology File Station

Core Goal

  • Run major Synology File Station file operations with one CLI script.
  • Read connection credentials from env instead of hardcoding secrets.
  • Return JSON output suitable for automation pipelines.

Workflow

  1. Prepare env variables (see references/env.md and assets/config.example.env).
  2. Validate config:
python3 scripts/synology_file_station.py check-config
  1. Optional connection probe:
python3 scripts/synology_file_station.py check-config --probe
  1. Run the required file operation command (see references/commands.md).

Major Operations

  • Read/browse: info, list-shares, list, get-info
  • Search: search-start, search-list, search-stop, search-clean
  • Directory/file mutation: mkdir, rename, copy, move, delete
  • Transfer: upload, download
  • Archive workflows: extract (compress is temporarily unavailable)
  • Background task control: background-list, task-status, task-stop

Environment Contract

Required env:

  • SYNOLOGY_BASE_URL
  • SYNOLOGY_USERNAME
  • SYNOLOGY_PASSWORD

Optional env:

  • SYNOLOGY_VERIFY_SSL
  • SYNOLOGY_TIMEOUT
  • SYNOLOGY_SESSION
  • SYNOLOGY_READONLY (default false; set true to block mutation commands)
  • SYNOLOGY_MUTATION_ALLOW_PATHS (optional mutation path allowlist)

Output Contract

  • Success: JSON object with type=status and operation-specific fields.
  • Failure: JSON object with type=error and structured error metadata.
  • Exit code:
    • 0: success
    • 1: runtime/API error
    • 2: invalid env configuration

References

  • references/env.md
  • references/commands.md

Assets

  • assets/config.example.env

Scripts

  • scripts/synology_file_station.py

Comments

Markdown supported