mcp-syncnology
Provides tools for controlling and monitoring a Synology NAS via the DSM Web API, including file operations, system information, storage utilization, backup tasks, download tasks, camera listing, and system logs.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-syncnologywhat's the current CPU and memory usage?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-syncnology
MCP server ที่เปิดให้ Hermes agent (หรือ MCP client อื่น ๆ) ควบคุม/ดูข้อมูล Synology NAS ผ่าน DSM Web API — ไม่ใช่ web scraping, เป็น API ทางการของ Synology ที่ล็อกอินด้วย username/password แล้วได้ session token (_sid) มาใช้เรียก endpoint อื่น ๆ ต่อ
โครงสร้าง
src/mcp_syncnology/
config.py # อ่าน env: SYNOLOGY_BASE_URL, SYNOLOGY_USERNAME, SYNOLOGY_PASSWORD, ...
client.py # SynologyClient: login/session + wrapper รอบ DSM API แต่ละตัว
server.py # FastMCP server + tool definitionsclient.py มี call(api, method, version, **params) กลางที่ resolve path/version จริงของแต่ละ API ผ่าน SYNO.API.Info เอง (ไม่ hardcode path) และ auto re-login ถ้า session หมดอายุ — เพิ่ม DSM API ตัวใหม่ได้ง่าย ๆ โดยเรียก self.call("SYNO.xxx", "method", ...)
Related MCP server: synology-office-mcp
ความปลอดภัย
ห้ามใส่รหัสผ่านจริงในโค้ดหรือแชทเด็ดขาด — เก็บไว้ใน
.env(ไฟล์นี้อยู่ใน.gitignoreแล้ว) เท่านั้นถ้า DSM account เปิด 2FA ไว้ ต้องใส่
SYNOLOGY_OTP_CODEต่อการ login หนึ่งครั้ง (code หมดอายุเร็ว) — แนะนำให้สร้าง local DSM account แยกสำหรับ automation นี้แล้วปิด 2FA เฉพาะ account นั้น หรือใช้ Application Password ถ้า DSM version รองรับTool
syncnology_delete_pathเป็น irreversible action ต้องเรียกด้วยconfirm=Trueเท่านั้น และควรให้ agent ยืนยันกับผู้ใช้ก่อนเรียกทุกครั้งถ้า NAS ใช้ self-signed cert ในเครือข่ายภายใน ให้ตั้ง
SYNOLOGY_VERIFY_SSL=falseใน.env— ห้ามปิดถ้าเข้าผ่านอินเทอร์เน็ตสาธารณะ
ติดตั้ง
cd D:/MCP/mcp-syncnology
pip install -e .
copy .env.example .envแก้ .env ให้เป็น IP/พอร์ต NAS จริง (เช่น https://192.168.1.10:5001) และ username/password ของ DSM
รันทดสอบ (stdio)
python -m mcp_syncnology.serverหรือทดสอบผ่าน MCP Inspector:
mcp dev src/mcp_syncnology/server.pyTools ที่มีให้แล้ว
Tool | ทำอะไร |
| list shared folder บน NAS |
| list ไฟล์/โฟลเดอร์ในพาธที่กำหนด |
| ดู metadata ของไฟล์/โฟลเดอร์ |
| สร้างโฟลเดอร์ใหม่ |
| ลบไฟล์/โฟลเดอร์ (ต้อง |
| ข้อมูลรุ่น/DSM version/uptime |
| CPU/RAM/network usage ปัจจุบัน |
| สถานะ storage pool/volume/disk |
| list Active Backup for Business task |
| สถานะ backup task ตาม task_id (filter จาก list, ไม่มี method status แยก) |
| list Download Station task |
| เพิ่ม download task ใหม่ (URL/magnet) |
| ลบ download task |
| list กล้องใน Surveillance Station |
| ดู system log ล่าสุด |
เพิ่ม tool ใหม่: เพิ่มเมธอดใน client.py ที่เรียก self.call("SYNO.xxx", "method", ...) แล้วห่อด้วย @mcp.tool() ใน server.py
ต่อกับ Hermes agent
Hermes เก็บ MCP server config ไว้ที่ ~/.hermes/config.yaml (Linux/DGX Spark) หรือ %LOCALAPPDATA%\hermes\config.yaml (Windows) ใต้ key mcp_servers: ค่า secret (SYNOLOGY_USERNAME/SYNOLOGY_PASSWORD) อ่านจาก .env ในโฟลเดอร์นี้โดยตรงเสมอ ไม่ต้องใส่ใน config ของ Hermes
Deploy บน DGX Spark (Linux) — ที่ Hermes รันจริง
git clone https://github.com/humyai99/mcp-syncnology.git
cd mcp-syncnology
python3 -m venv .venv
.venv/bin/python -m pip install -e .
cp .env.example .env # แก้ SYNOLOGY_BASE_URL/USERNAME/PASSWORD ให้เป็นค่าจริง
chmod +x run-hermes.shแล้วเพิ่มใน ~/.hermes/config.yaml:
mcp_servers:
mcp-syncnology:
command: bash
args:
- /path/to/mcp-syncnology/run-hermes.sh
enabled: trueWindows (ถ้ามี Hermes instance แยกบนเครื่องนี้ด้วย)
mcp_servers:
mcp-syncnology:
command: powershell.exe
args:
- -NoProfile
- -ExecutionPolicy
- Bypass
- -File
- D:\MCP\mcp-syncnology\run-hermes.ps1
enabled: trueหลังแก้ config ต้อง restart Hermes เพื่อโหลด MCP server ตัวใหม่
ทดสอบแล้วกับ NAS จริง
ผ่าน: login, system_info, utilization, storage_info, list_shared_folders, list_files, get_file_info, create_folder, delete_path, system_logs, list_backup_tasks, backup_task_status
syncnology_list_download_tasks/syncnology_list_camerasยังไม่ได้ทดสอบจริง เพราะ NAS ที่ใช้ทดสอบไม่ได้ติดตั้งแพ็กเกจ Download Station / Surveillance Station — โค้ดเรียก API ตามเอกสารทั่วไป แต่ยังไม่ยืนยันกับ NAS ที่มีแพ็กเกจเหล่านี้จริงรันด้วย
python scripts/smoke_test.py(read-only) หรือ--with-write(รวม create/delete โฟลเดอร์ทดสอบ) เพื่อตรวจสอบกับ NAS ของคุณเองอีกครั้ง เพราะพฤติกรรม DSM API บางอย่าง (เช่น version ของ method ที่ใช้ได้) ต่างกันไปตาม DSM version
ยังไม่ได้ทำ / ข้อจำกัดที่ควรรู้
ยังไม่รองรับ Application Password / OAuth ของ DSM 7+ (ถ้ามีจะปลอดภัยกว่า username/password ตรง ๆ)
syncnology_create_download_taskให้ NAS ไปดึงไฟล์จาก URL ใดก็ได้ — ควรจำกัดว่า agent เรียกได้จาก URL ที่ผู้ใช้ระบุเองเท่านั้น
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Synology NAS — modular, secure (2FA-ready), permission-tiered. File management and beyond.6Apache 2.0
- AlicenseAqualityCmaintenanceSelf-hosted MCP server that exposes Synology Drive, Spreadsheet, MailPlus, and Calendar as structured tools for AI agents, enabling file, spreadsheet, email, and calendar management via natural language.3979MIT
- Alicense-qualityFmaintenanceComprehensive Synology NAS management through MCP, enabling file operations, downloads, backups, Docker, photos, VMs, snapshots, and more across up to 9 NAS units.4MIT
- Flicense-qualityCmaintenanceEnables interaction with Synology NAS services including DSM, File Station, Calendar, Note Station, Contacts, Chat, Download Station, and Container Manager through a modular MCP interface with configurable safety modes.
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server exposing the Backtest360 engine API as tools for AI agents.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/humyai99/mcp-syncnology'
If you have feedback or need assistance with the MCP directory API, please join our Discord server