
SynoLink MCP Server

2025.04.04
2
JavaScriptSynology NAS文件管理文件管理
MCP-SynoLink 是一个基于 Node.js 的服务器,实现了 Model Context Protocol (MCP),专门用于与 Synology NAS 设备进行文件操作交互。通过该服务,用户可以通过 Claude 或其他兼容的 AI 助手来管理 Synology NAS 上的文件。
View on GitHub
Overview
基本能力
产品定位
MCP-SynoLink 是一个专门用于与 Synology NAS 设备进行文件操作交互的服务,通过 MCP 协议实现与 AI 助手的集成。
核心功能
- 登录/注销 Synology DSM
- 列出文件和文件夹
- 下载文件内容
- 上传文件
- 创建文件夹
- 删除文件/文件夹
- 移动/重命名文件和文件夹
- 搜索功能
- 创建和列出共享链接
- 获取服务器信息
- 获取配额信息
适用场景
- 通过 AI 助手管理 Synology NAS 上的文件
- 自动化文件操作任务
- 远程文件管理
工具列表
认证工具
- login: 认证 Synology NAS
- logout: 注销 Synology NAS
文件管理工具
- list_folders: 列出目录中的文件和文件夹
- get_file: 获取文件内容
- upload_file: 上传文件到 Synology NAS
- create_folder: 创建新文件夹
- delete_item: 删除文件或文件夹
- move_item: 移动或重命名文件或文件夹
搜索和信息工具
- search: 搜索文件和文件夹
- get_share_links: 获取或创建共享链接
- get_server_info: 获取 Synology 服务器信息
- get_quota_info: 获取卷配额信息
常见问题解答
- 安全性问题: 当前实现通过命令行参数传递密码,可能在进程列表中可见。在生产环境中,建议实现替代的认证方法以提高安全性。
使用教程
使用依赖
- Node.js 18 或更高版本
- npm 或 yarn
- Synology NAS 且 DSM 6.0 或更高版本
- 网络访问 Synology NAS
安装教程
- 克隆仓库:
git clone https://github.com/Do-Boo/MCP-SynoLink.git
cd MCP-SynoLink
- 安装依赖:
npm install
- 构建项目:
npm run build
调试方式
Node.js 方法
在 claude_desktop_config.json
中添加:
{
"mcpServers": {
"synolink": {
"command": "node",
"args": [
"/path/to/MCP-SynoLink/dist/index.js",
"https://your-synology-url:port",
"your-username",
"your-password"
]
}
}
}
Docker 方法
- 构建 Docker 镜像:
docker build -t mcp/synolink .
- 在
claude_desktop_config.json
中添加:
{
"mcpServers": {
"synolink": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp/synolink",
"https://your-synology-url:port",
"your-username",
"your-password"
]
}
}
}