SynoLink MCP Server

SynoLink MCP Server

site icon
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

安装教程

  1. 克隆仓库:
git clone https://github.com/Do-Boo/MCP-SynoLink.git
cd MCP-SynoLink
  1. 安装依赖:
npm install
  1. 构建项目:
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 方法

  1. 构建 Docker 镜像:
docker build -t mcp/synolink .
  1. claude_desktop_config.json 中添加:
{
  "mcpServers": {
    "synolink": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "mcp/synolink",
        "https://your-synology-url:port",
        "your-username",
        "your-password"
      ]
    }
  }
}

许可证

该项目遵循 MIT 开源许可条款。