一个使用Node.js实现的Model Context Protocol (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镜像:
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"
]
}
}
}
始终谨慎处理凭据。当前实现将密码作为命令行参数发送,这可能会在进程列表中可见。为了在生产环境中提高安全性,请考虑实现替代的身份验证方法。
服务器提供以下工具:
login
logout
list_folders
path (字符串) - 列出文件的路径,例如'/photos'get_file
path (字符串) - Synology NAS上的文件完整路径upload_file
path (字符串) - Synology NAS上的目标路径包括文件名content (字符串) - 要上传的文件内容create_folder
path (字符串) - 创建文件夹的位置完整路径name (字符串) - 新文件夹的名称delete_item
path (字符串) - 要删除的文件或文件夹的完整路径move_item
source (字符串) - 源文件或文件夹的完整路径destination (字符串) - 目标位置的完整路径search
keyword (字符串) - 搜索关键词path (字符串,可选) - 搜索路径,默认为"/"get_share_links
path (字符串) - 获取共享链接的路径get_server_info
get_quota_info
volume (字符串,可选) - 卷名,如果省略则显示所有卷MIT 许可证