πΎ Synology MCP Server
@atom2ueki
πΎ Model Context Protocol (MCP) server for Synology NAS - Enables AI assistants (Claude, Cursor, Continue) to manage files, downloads, and system operations through secure API integration. Features Docker deployment, auto-authentication, and comprehensive file system tools.
Overview
What is Synology MCP Server?
A Model Context Protocol (MCP) server for Synology NAS devices. It enables AI assistants like Claude and Cursor to manage files, downloads, and system health through secure authentication and session management. The unified server supports both Claude/Cursor (stdio) and Xiaozhi (WebSocket) simultaneously.
How to use Synology MCP Server?
Clone the repository, copy env.example to .env, and configure the Synology NAS URL, username, and password. Run with docker-compose up -d (or python main.py for local execution). Then add the server to your MCP client (Claude Desktop, Cursor, Continue, or Codeium) using the provided JSON configuration. For remote access, deploy with the HTTP/SSE image and front with a TLS-terminating reverse proxy.
Key features of Synology MCP Server
- Unified server supports both stdio and WebSocket clients simultaneously
- File system operations: list, search, create, delete, rename, move
- Download Station management: create, pause, resume, delete tasks
- Health monitoring: system info, utilization, disk health, volumes, network, UPS
- Container Manager: list, get, start, stop containers
Use cases of Synology MCP Server
- AI assistant to browse, upload, and organize files on a Synology NAS
- Automate download tasks via Download Station using URLs or magnet links
- Monitor NAS health (CPU, memory, disk SMART, UPS status) from a chat interface
- Deploy a remote MCP endpoint so Claude/Cursor can access the NAS over the internet
FAQ from Synology MCP Server
What dependencies are required to run the server?
Docker is the primary method; alternatively, Python 3 with the packages in requirements.txt. The HTTP/SSE deployment also installs mcp-proxy.
How do I make the server accessible remotely?
Use the provided docker-compose.http.yml file to expose the MCP server over HTTP/SSE on port 8765, then front it with a reverse proxy (DSM Login Portal, Nginx, etc.) for TLS termination and optional authentication.
Does the server support multiple client protocols simultaneously?
Yes. When ENABLE_XIAOZHI=true is set in .env, the server acts as a bridge serving both stdio (for Claude/Cursor) and WebSocket (for Xiaozhi) at the same time.
What authentication is used?
The server authenticates with the Synology NAS using the credentials stored in the .env file (SYNOLOGY_USERNAME, SYNOLOGY_PASSWORD). The HTTP/SSE endpoint itself has no built-in authentication; it should be secured at the reverse proxy level.
Can I use this server with Continue (VS Code extension)?
Yes. Add the same Docker (or Python) configuration as for Claude/Cursor to your ./continue/config.json mcpServers block.