SynoLink MCP 服务器是一个基于 Node.js 实现模型上下文协议(MCP)的服务器,专为 Synology NAS 的文件操作而设计。借助该服务器,您可以通过 Claude 或其他兼容的 AI 助手与 Synology NAS 设备进行交互。
git clone https://github.com/Do-Boo/MCP-Synolink.git
cd MCP-Synolink
npm install
npm run build
将以下内容添加到您的 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 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"
]
}
}
}
⚠️ 重要提示
始终小心处理凭证。当前实现将密码作为命令行参数传递,这可能会在进程列表中可见。为了提高生产环境的安全性,请考虑实施替代的认证方法。
该服务器提供以下工具:
| 工具名称 | 输入 | 输出 |
|---|---|---|
| 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 加密通信,特别是在生产环境中。