NAS文件管理服务器

一个基于Node.js的服务器,实现模型上下文协议(MCP),用于通过AI助手管理Synology NAS文件操作。

  • by meonji-mon
  • JavaScript
  • 本地部署
  • 27 星标
  • 更新于
在 GitHub 查看 Do-Boo/MCP-SynoLink

使用说明

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许可证

致谢