Token导航 LogoToken导航TokenDH.com
Synology MCP logo
运维云端stdio官方级别未说明来源级核验

Synology MCP

MCP Server

用于Synology NAS设备的模型上下文协议服务器,提供实时NAS健康状态、存储、系统信息和电源管理功能。

工具数

37

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lefty3382

提供方

lefty3382

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

Synology MCP服务器

A. 模型上下文协议 Synology NAS设备的MCP服务器。通过Streamable HTTP传输提供对NAS运行状况、存储、系统信息和电源管理的实时访问-- 37工具 跨越三个权限级别。

特性

  • 多NAS支持 --从单个服务器监视多个Synology NAS单元
  • 37工具 --23健康+7文件浏览+5文件管理+2电源管理
  • 混合后端 --py-synologydsm-api用于稳定的健康指标,直接HTTP客户端用于高级诊断
  • 三个权限级别 --健康(默认)、读取、写入——由一个环境变量控制
  • 原生流式HTTP --无需代理,直接从Claude Code连接
  • 单个Docker容器 --Python基础薄弱,依赖性最小

建筑

服务器使用 混合后端 合并两个API客户端:

  1. py同义词api --用于核心Synology DSM数据(系统信息、存储、利用率、共享、网络)的成熟、经过充分测试的库。为10个原始健康工具供电。
  1. DirectApiClient -轻量级HTTP客户端,直接根据DSM web API进行身份验证并调用原始 SYNO.* 端点。提供对py-synologydsm-api未涵盖的api的访问:SSD缓存、UPS、NFS导出、服务、硬件传感器、日志、用户帐户等。包括30秒响应缓存和自动会话续订。

两个客户端在启动时连接。如果直接客户端无法初始化,核心运行状况工具将继续工作-直接API工具将返回一条明确的错误消息。这 get_health_summary 该工具使用两个后端:py-synologydsm-api用于基本指标,DirectApiClient用于增强SSD缓存、UPS和NFS警报(如果不可用,则使用优雅的回退)。

快速开始

Docker(推荐)

# Pull the image
docker pull ghcr.io/lefty3382/synology-mcp:latest

# Run with environment variables
docker run -d \
  --name synology-mcp \
  -p 8485:8485 \
  -e SYNOLOGY_TANK_HOST=10.0.40.2 \
  -e SYNOLOGY_TANK_PORT=5001 \
  -e SYNOLOGY_TANK_USERNAME=mcp-service \
  -e SYNOLOGY_TANK_PASSWORD=yourpassword \
  -e MCP_PORT=8485 \
  -e MCP_PERMISSION_TIER=health \
  ghcr.io/lefty3382/synology-mcp:latest

克劳德代码

claude mcp add synology --transport http http://YOUR_HOST:8485/mcp --scope user

配置

所有配置都是通过环境变量进行的。复制 .env.example.env 并填写你的价值观。

NAS配置

每个NAS都配置了 SYNOLOGY__* 前缀。根据需要添加尽可能多的NAS单元:

SYNOLOGY_TANK_HOST=10.0.40.2
SYNOLOGY_TANK_PORT=5001
SYNOLOGY_TANK_USERNAME=mcp-service
SYNOLOGY_TANK_PASSWORD=secret

SYNOLOGY_DOZER_HOST=10.0.40.3
SYNOLOGY_DOZER_PORT=5001
SYNOLOGY_DOZER_USERNAME=mcp-service
SYNOLOGY_DOZER_PASSWORD=secret

服务器设置

变量默认值描述
MCP_PORT8485MCP端点的HTTP端口
MCP_PERMISSION_TIERhealth工具层: health, read,或 write

权限级别

层级工具用例
health (默认)23个工具-10个核心健康+13个直接API诊断基础设施监控
read30个工具--健康状况+7个文件浏览工具+浏览NAS内容
write37个工具——读取+5个文件管理+2个电源管理+完整文件+电源管理

通过设置更改层 MCP_PERMISSION_TIER 并重新启动。

工具

健康层——核心工具(始终可用)

工具说明
list_nas列出已配置的NAS单元及其连接状态
get_system_infoDSM版本、型号、正常运行时间、序列号、温度
get_utilizationCPU负载、RAM使用率、网络I/O
get_volumes卷容量、使用率%、RAID状态
get_disks带状态、温度的磁盘列表
get_smart_status每个磁盘的SMART运行状况
get_storage_pools存储池配置、RAID类型
get_shares共享文件夹列表
get_network网络接口、DNS、网关
get_health_summary使用SSD缓存、UPS和NFS警报聚合运行状况

运行状况层-直接API工具(始终可用)

这些工具使用 DirectApiClient 查询原始SYNO.\*端点,以获取无法通过py-synologydsm api获得的数据。

存储诊断

工具说明
get_disk_details全磁盘硬件信息——型号、序列号、供应商、固件、分配角色、托盘状态
get_ssd_cacheSSD缓存池状态和每个磁盘的运行状况
get_storage_pool_members具有RAID类型和清理/重建状态的每个池磁盘成员资格

服务与配置

工具说明
get_nfs_exports具有允许的主机和权限的NFS共享文件夹
get_services_statusNFS、SMB、SSH、rsync、SNMP的运行状态

硬件和电源

工具说明
get_ups_statusUPS型号、电池电量、运行时间、NUT配置
get_hardware_info风扇速度、电源恢复、蜂鸣声控制

日志和通知

工具说明
get_recent_logs具有严重性/关键字过滤的系统日志
get_notificationsDSM通知配置和警报历史记录

访问和用户

工具说明
get_active_connections已连接的SMB/NFS/FTP客户端
get_users本地用户帐户和组成员资格

维护与发现

工具说明
get_update_status可用的DSM更新和当前版本
discover_apis列出NAS上所有可用的SYNO.\*API终结点

读取层

工具说明
list_files浏览目录——包含名称、大小、类型、修改日期的文件/文件夹
get_file_info具有所有权和权限的文件/文件夹元数据
list_shared_folders具有卷状态的顶级File Station共享文件夹
search_files在目录中按名称模式搜索文件(异步)
get_file_content读取文件的文本内容(仅限分配的扩展名)
compare_folders比较两个目录的内容——仅在A、仅在B、不匹配
get_folder_size目录的递归大小和文件计数(异步)

写入层

文件管理

工具说明
create_folder创建新目录(可选择创建父目录)
rename重命名文件或文件夹
move将文件或文件夹移动到新位置(大型操作异步)
copy将文件或文件夹复制到新位置(大型操作异步)
delete删除文件或文件夹(确认门控,可选递归)

电源管理

工具说明
shutdown_nas优雅地关闭NAS(确认门控)
reboot_nas优雅地重新启动NAS(确认门控)

两种电动工具都需要 confirm=True 执行。如果没有它,它们会返回动作的预览。这 nas 参数是必需的--您不能一次关闭或重新启动所有NAS单元。

NAS身份验证

创建一个 mcp-service 每个Synology NAS上的本地用户:

  1. DSM>控制面板>用户和组>创建
  2. 用户名: mcp-service
  3. 对于健康层:可能需要管理员组成员资格(DSM存储/SMART API通常需要管理员)
  4. 限制应用程序权限以拒绝除DSM之外的所有内容

发展

# Clone and set up
git clone https://github.com/lefty3382/synology-mcp.git
cd synology-mcp
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Copy and edit config
cp .env.example .env

# Run locally
python -m synology_mcp

许可证

麻省理工学院

目录标签

目录标签

PythonClaude云端部署NAS监控本地部署存储管理系统诊断电源管理多设备支持

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

37

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP