SynoLink MCP服务器
用于Synology NAS文件操作的实现模型上下文协议(MCP)的Node.js服务器。此服务器允许您通过Claude或其他兼容的AI助手与Synology NAS设备进行交互。
特性
- 登录/注销Synology DSM
- 列出文件和文件夹
- 下载文件内容
- 上传文件
- 新建文件夹
- 删除文件/文件夹
- 移动/重命名文件和文件夹
- 搜索功能
- 创建并列出共享链接
- 获取服务器信息
- 获取配额信息
先决条件
- Node.js 18或更高版本
- npm或纱线
- 配备DSM 6.0或更高版本的Synology NAS
- Synology NAS的网络访问
安装
克隆此存储库:
git clone https://github.com/Do-Boo/MCP-SynoLink.git
cd MCP-SynoLink安装依赖项:
npm install构建项目:
npm run build使用Claude Desktop
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"
]
}
}
}安全说明
始终小心凭证。当前实现将密码作为命令行参数发送,这可能在进程列表中可见。为了提高生产环境中的安全性,考虑实施替代身份验证方法。
API文档
服务器提供以下工具:
身份验证工具
- 登录
- 使用Synology NAS进行身份验证 - 无需参数(使用命令行中的凭据)
- 登出
- 从Synology NAS注销 - 无需参数
文件管理工具
- list_folders
- 列出目录中的文件和文件夹 - 输入: path (string)-列出文件的路径,例如“/photos”
- 获取文件
- 获取文件的内容 - 输入: path (string)-Synology NAS上文件的完整路径
- 上传文件
- 将文件上传至Synology NAS - 输入: - path (string)-Synology NAS上的目标路径,包括文件名 - content (string)-要上传的文件内容
- 创建文件夹
- 创建新文件夹 - 输入: - path (string)-创建文件夹的完整路径 - name (string)-新文件夹的名称
- 删除项目
- 删除文件或文件夹 - 输入: path (string)-要删除的文件或文件夹的完整路径
- move_item
- 移动或重命名文件或文件夹 - 输入: - source (string)-源文件或文件夹的完整路径 - destination (string)-目标位置的完整路径
搜索和信息工具
- 搜索
- 搜索文件和文件夹 - 输入: - keyword (string)-搜索关键字 - path (字符串,可选)-搜索路径,默认为“/”
- get_share_links
- 获取或创建文件或文件夹的共享链接 - 输入: path (string)-获取共享链接的路径
- get_server_info
- 获取有关Synology服务器的信息 - 无需参数
- get_quota_info
- 获取卷的配额信息 - 输入: volume (字符串,可选)-卷名,如果省略,则显示所有卷
许可证
MIT许可证
