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 的网络权限
安装步骤
- 克隆此仓库:
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 文档
该服务器提供以下工具:
认证工具
- 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 加密通信,特别是在生产环境中。
Scan to contact