经 AI Skill Hub 精选评估,synology MCP 工具 获评「强烈推荐」。这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.2 分,适合有一定技术背景的用户使用。
为群晖NAS设计的Model Context Protocol服务器,能让AI助手直接访问和控制NAS存储、文件系统等功能。支持Python开发,适合需要智能化管理NAS存储的开发者和企业用户。
synology MCP 工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
为群晖NAS设计的Model Context Protocol服务器,能让AI助手直接访问和控制NAS存储、文件系统等功能。支持Python开发,适合需要智能化管理NAS存储的开发者和企业用户。
synology MCP 工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/atom2ueki/mcp-server-synology
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"synology-mcp---": {
"command": "npx",
"args": ["-y", "mcp-server-synology"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 synology MCP 工具 执行以下任务... Claude: [自动调用 synology MCP 工具 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"synology_mcp___": {
"command": "npx",
"args": ["-y", "mcp-server-synology"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效

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!
main.py supports both stdio and WebSocket clientsENABLE_XIAOZHI environment variablepip install mcp-server-synology
No need to clone the repository — install the package directly from PyPI:
```bash
```bash
One simple command supports both modes:
```bash
docker-compose up -d --build ```
The examples below use Docker with a local clone of this repository. If you installed from PyPI, use the uvx configuration from Install from PyPI instead — it works for Claude Desktop, Cursor, Continue and Codeium alike, with no local paths to adjust.
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), set MCP_HTTP=true and the server serves native Streamable HTTP from uvicorn in the same process — no mcp-proxy sidecar and no separate /sse endpoint. This makes it consumable by any MCP client that supports URL-based connectors — exactly like ha-mcp or other "remote" MCP servers.
1. All dependencies come from pyproject.toml: mcp>=2.0.0 ships starlette, uvicorn, and sse-starlette, so the same image serves both stdio and Streamable HTTP — no extra build arg or separate requirements file. 2. Use the provided docker-compose.http.yml:
```bash
docker compose -f docker-compose.http.yml up -d --build docker logs -f synology-mcp-http ```
You should see the server log Starting Streamable HTTP MCP server on http://0.0.0.0:8765/mcp and the auto-login succeed. uvicorn's own Uvicorn running on … banner is not printed at the compose file's defaults — it is INFO on the uvicorn.error logger, which the server pins to warning unless DEBUG=true.
1. Add to your .env file:
ENABLE_XIAOZHI=true
XIAOZHI_TOKEN=your_xiaozhi_token_here
2. Run normally: ```bash
pipx install mcp-server-synology
cp env.example .env ```
Basic Configuration (Claude/Cursor only): ```bash
AUTO_LOGIN=true VERIFY_SSL=false
**Extended Configuration (Both Claude/Cursor + Xiaozhi):**bash
AUTO_LOGIN=true VERIFY_SSL=false
docker-compose up -d
python main.py ```
In Claude Desktop (or any MCP client that supports remote connectors), add a custom connector pointing at:
https://synology-mcp.example.com/mcp
The path is whatever MCP_HTTP_PATH is set to (default /mcp). No command, no args, no local Python — just a URL.
python main.py
⚠️ Security Warning: Use a Dedicated Account For this MCP server, create a dedicated Synology user account with appropriate permissions. This account should: - Have minimal required permissions only (not admin!) - Be used exclusively for MCP server automation - 2FA is now supported — if your DSM account has 2FA enabled, see the 2FA / OTP Accounts section below to supply anotp_code(one-shot) ordevice_id(persistent) field. Older guidance of "no 2FA" is no longer required.
| Variable | Required | Default | Description |
|---|---|---|---|
SYNOLOGY_URL | Yes* | - | NAS base URL (e.g., http://192.168.1.100:5000) |
SYNOLOGY_USERNAME | Yes* | - | Username for authentication |
SYNOLOGY_PASSWORD | Yes* | - | Password for authentication |
AUTO_LOGIN | No | true | Auto-login on server start |
VERIFY_SSL | No | false | Verify SSL certificates |
DEBUG | No | false | Enable debug logging |
ENABLE_XIAOZHI | No | false | Enable Xiaozhi WebSocket bridge |
XIAOZHI_TOKEN | Xiaozhi only | - | Authentication token for Xiaozhi |
XIAOZHI_MCP_ENDPOINT | No | wss://api.xiaozhi.me/mcp/ | Xiaozhi WebSocket endpoint |
*Required for auto-login and default operations
For managing multiple Synology NAS devices, use the XDG standard config directory (~/.config/synology-mcp/settings.json):
mkdir -p ~/.config/synology-mcp
touch ~/.config/synology-mcp/settings.json
chmod 600 ~/.config/synology-mcp/settings.json # Important: secure permissions!
Note: This follows the XDG Base Directory Specification - ~/.config/ is the standard location for user configuration files on Linux/macOS. You can customize the location by setting the XDG_CONFIG_HOME environment variable.
With Docker: The docker-compose.yml automatically mounts your ~/.config/synology-mcp directory into the container at /home/mcpuser/.config/synology-mcp, so multi-NAS works out of the box with Docker as well.
settings.json format:
{
"synology": {
"nas1": {
"host": "192.168.1.100",
"port": 5000,
"username": "admin",
"password": "your_password",
"note": "Primary NAS at home"
},
"nas2": {
"host": "192.168.1.200",
"port": 5001,
"username": "admin",
"password": "your_password",
"note": "Backup NAS"
},
"nas3": {
"url": "https://nas.example.com",
"username": "admin",
"password": "your_password",
"note": "NAS behind a reverse proxy"
}
},
"xiaozhi": {
"enabled": false,
"token": "your_xiaozhi_token",
"endpoint": "wss://api.xiaozhi.me/mcp/"
},
"server": {
"auto_login": true,
"verify_ssl": false,
"session_timeout": 3600,
"debug": false,
"log_level": "INFO"
}
}
Configuration fields: <div class="rdm-tbl-wrap"><table class="rdm-tbl"><thead><tr><th>Field</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td>host</td><td>Yes*</td><td>NAS hostname or IP address</td></tr><tr><td>port</td><td>No</td><td>API port (default: 5000 for HTTP, 5001 for HTTPS)</td></tr><tr><td>url</td><td>Yes*</td><td>Full base URL (e.g., https://nas.example.com); wins over host/port — use for a NAS behind a reverse proxy</td></tr><tr><td>username</td><td>Yes</td><td>NAS username</td></tr><tr><td>password</td><td>Yes</td><td>NAS password</td></tr><tr><td>otp_code</td><td>No</td><td>One-shot 6-digit 2FA code (first login only, then remove)</td></tr><tr><td>device_id</td><td>No</td><td>Long-lived trusted-device token from DSM (did); skip OTP on all future logins</td></tr><tr><td>note</td><td>No</td><td>Optional description for your reference</td></tr></tbody></table></div>
*Either host or url is required per NAS entry.
Notes: - The server will use port 5001 (HTTPS) if port is 5001, otherwise defaults to HTTP (5000) - The host/port form always appends a port and derives the scheme from it, so it cannot express https://nas.example.com on the default 443 — set url directly for reverse-proxied setups - File permissions: chmod 600 ~/.config/synology-mcp/settings.json is required for security - The server will refuse to load settings if permissions are too open - Both .env and settings.json can be used together (settings.json takes priority)
New unified architecture supports both clients simultaneously!
```bash
Add to your Continue configuration (.continue/config.json):
{
"mcpServers": {
"synology": {
"command": "docker-compose",
"args": [
"-f", "/path/to/your/mcp-server-synology/docker-compose.yml",
"run", "--rm", "synology-mcp"
],
"cwd": "/path/to/your/mcp-server-synology"
}
}
}
If you prefer not to use Docker:
{
"mcpServers": {
"synology": {
"command": "python",
"args": ["main.py"],
"cwd": "/path/to/your/mcp-server-synology",
"env": {
"SYNOLOGY_URL": "http://192.168.1.100:5000",
"SYNOLOGY_USERNAME": "your_username",
"SYNOLOGY_PASSWORD": "your_password",
"AUTO_LOGIN": "true",
"ENABLE_XIAOZHI": "false"
}
}
}
}
Synology MCP 服务器是一个 Model Context Protocol (MCP) 服务器,专为 Synology NAS 设备设计。它通过安全的身份验证和会话管理使 AI 助手能够管理文件和下载。
本项目的关键功能包括:零配置冲突、并行操作、所有工具可用、向后兼容、自动重连和环境控制。
本项目需要以下环境依赖和系统要求:
快速开始使用 Docker:
工作流 / 模块说明:本项目采用新一代的统一架构,支持同时访问 Claude/Cursor 和 Xiaozhi 客户端。
优质的MCP生态工具,填补AI与NAS集成空白。代码活跃度好,文档完整,适合企业级应用。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:synology MCP 工具 的核心功能完整,质量优秀。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | mcp-server-synology |
| 原始描述 | 开源MCP工具:💾 Model Context Protocol (MCP) server for Synology NAS - Enables AI assistants 。⭐98 · Python |
| Topics | NAS管理MCP协议群晖存储自动化AI集成 |
| GitHub | https://github.com/atom2ueki/mcp-server-synology |
| License | MIT |
| 语言 | Python |
收录时间:2026-05-16 · 更新时间:2026-05-19 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端