💾 Synology MCP Server
About
💾 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.
Details
- License
- MIT
Explore
- ✅ Zero Configuration Conflicts: One server, multiple clients
- ✅ Parallel Operation: Both clients can work simultaneously
- ✅ All Tools Available: Xiaozhi gets access to all Synology MCP tools
- ✅ Backward Compatible: Existing setups work unchanged
- ✅ Auto-Reconnection: Handles WebSocket connection drops
- ✅ Environment Controlled: Simple boolean flag to enable/disable
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
💾 Synology MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
1. mcp-proxy is installed automatically when you build the HTTP image — it
lives in requirements-http.txt and the provided compose file sets the
INSTALL_HTTP=true build arg (it is not in the default stdio/Xiaozhi image).
2. Use the provided docker-compose.http.yml:
bash
cp env.example .env
Basic Configuration (Claude/Cursor only):
bash
pip install -r requirements.txt
python main.py
By default the server speaks stdio, which means the MCP client has to spawn the process locally (or via a bridge such as SSH/docker exec). For setups where the NAS is remote (different machine from where Claude/Cursor runs), you can expose the MCP server over HTTP/SSE using mcp-proxy. This makes it consumable by any MCP client that supports URL-based connectors — exactly like ha-mcp or other "remote" MCP servers.
In Claude Desktop (or any MCP client that supports remote connectors), add a custom connector pointing at:
https://synology-mcp.example.com/sse
No command, no args, no local Python — just a URL.
1. Add to your .env file:
bashENABLE_XIAOZHI=true
XIAOZHI_TOKEN=your_xiaozhi_token_here
2. Run normally:
bash
python main.py
- synology_status - Check authentication status and active sessions
- synology_list_nas - List all configured NAS units from settings.json
- synology_login - Authenticate with Synology NAS (conditional)
- synology_logout - Logout from session (conditional)
> ⚠️ Security Warning: Use a Dedicated Account
>
> For this MCP server, create a dedicated Synology user account with appropriate permissions. This account should:
> - NOT have 2FA enabled - The MCP server cannot handle 2FA prompts and will fail authentication
> - Have minimal required permissions only (not admin!)
> - Be used exclusively for MCP server automation
>
> Using your primary account with 2FA is dangerous - if auto-login fails, you may be locked out of your NAS!
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"\ud83d\udcbe synology mcp server": {
"mcp-server-synology": {
"command": "python",
"args": [
"main.py"
]
}
}
}
}
McpServers
{
"mcp-server-synology": {
"command": "python",
"args": [
"main.py"
]
}
}

A Model Context Protocol (MCP) server for Synology NAS devices. Enables AI assistants to manage files and downloads through secure authentication and session management.
🌟 NEW: Unified server supports both Claude/Cursor (stdio) and Xiaozhi (WebSocket) simultaneously!
🚀 Quick Start with Docker
1️⃣ Setup Environment
```bashSign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



