返回 MCP 目录
public公开dns本地运行

MCP-SynoLink

一个基于Node.js的Synology NAS文件操作服务,通过Model Context Protocol(MCP)实现与AI助手交互,提供登录、文件管理、搜索等功能。

article

README

🚀 SynoLink MCP 服务器

SynoLink MCP 服务器是一个基于 Node.js 实现模型上下文协议(MCP)的服务器,专为 Synology NAS 的文件操作而设计。借助该服务器,您可以通过 Claude 或其他兼容的 AI 助手与 Synology NAS 设备进行交互。

✨ 主要特性

  • 登录/退出 Synology DSM
  • 列出文件和文件夹
  • 下载文件内容
  • 上传文件
  • 创建文件夹
  • 删除文件/文件夹
  • 移动/重命名文件和文件夹
  • 搜索功能
  • 创建和列出共享链接
  • 获取服务器信息
  • 获取配额信息

📦 安装指南

先决条件

  • Node.js 18 或更高版本
  • npm 或 yarn
  • DSM 6.0 或更高版本的 Synology NAS
  • 访问您的 Synology NAS 的网络权限

安装步骤

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

  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"
      ]
    }
  }
}

安全注意事项

⚠️ 重要提示

始终小心处理凭证。当前实现将密码作为命令行参数传递,这可能会在进程列表中可见。为了提高生产环境的安全性,请考虑实施替代的认证方法。

📚 详细文档

API 文档

该服务器提供以下工具:

认证工具

  • login
    • 使用 Synology NAS 进行身份验证
    • 不需要任何参数(使用命令行中的凭证)
  • logout
    • 退出 Synology NAS
    • 不需要任何参数

文件管理工具

| 工具名称 | 输入 | 输出 | | ---- | ---- | ---- | | list_folders | path(要列出的路径,默认为根目录) | 包含文件和子文件夹信息的对象数组 | | download_file | file_path(要下载的文件路径) | 文件内容流 | | upload_file | file_path(目标路径),data(文件数据) | 成功状态确认 | | create_folder | folder_path(要创建的文件夹路径) | 成功状态确认 | | delete_file | file_path(要删除的文件路径) | 成功状态确认 | | move_file | source_path(源路径),destination_path(目标路径) | 成功状态确认 |

共享链接工具

| 工具名称 | 输入 | 输出 | | ---- | ---- | ---- | | create_share_link | file_path(要共享的文件路径) | 共享链接 URL | | get_share_links | 无 | 包含所有共享链接的信息数组 |

信息工具

| 工具名称 | 输出 | | ---- | ---- | | get_server_info | 包含服务器版本、状态等信息的对象 |

注意事项

⚠️ 重要提示

  • 确保服务器运行在安全的网络环境中。
  • 定期更新凭据以保障安全性。
  • 使用 HTTPS 加密通信,特别是在生产环境中。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端