UNC文件系统MCP
用于文件系统操作的MCP服务器,在Windows上具有适当的UNC路径支持。
为什么?
内置的Claude Desktop文件系统服务器存在网络路径错误:
- 驱动器号分辨率不对称:映射的驱动器(例如。,
Z:)在配置加载时解析为它们的UNC等效值,但传入的请求会进行字面比较。结果:访问被拒绝。 - UNC子目录匹配失败:即使在
\\server\share在允许的列表中,正在访问\\server\share\subfolder被拒绝。
此服务器规范了路径比较的两侧,因此映射的驱动器和UNC子目录可以正常工作。
安装
选项1:MCPB套餐(推荐)
- 下载
unc-filesystem-mcp.mcpb从释放 - 双击以在Claude Desktop中安装
- 使用文件夹选择器添加允许的目录
- 重新启动克劳德桌面
选项2:手动设置
git clone https://github.com/BlockSecCA/unc-filesystem-mcp.git
cd unc-filesystem-mcp
npm install
npm run build增添 claude_desktop_config.json:
{
"mcpServers": {
"unc-fs": {
"command": "node",
"args": [
"C:/path/to/unc-filesystem-mcp/dist/index.js",
"\\\\server\\share",
"Z:\\",
"C:\\Users\\Me\\Documents"
]
}
}
}工具
| 工具 | 说明 |
|---|---|
read_file | 使用可选功能读取文件内容 head/tail 线路限制 |
write_file | 创建或覆盖文件 |
edit_file | 替换文件中的唯一文本,返回统一的差异 |
list_directory | 列出目录内容 [FILE]/[DIR] 前缀 |
search_files | 基于glob的递归文件搜索 |
get_file_info | 文件/目录元数据(大小、日期、权限) |
list_allowed_directories | 显示已配置的允许路径 |
从源头构建
npm install
npm run build # Compile TypeScript
npm run pack # Create .mcpb package (requires @anthropic-ai/mcpb)运作原理
修复方法是路径规范化。在比较之前,配置的允许目录和传入请求路径都被标准化为相同的格式:
- 反斜杠→ 正斜杠
- 小写表示不区分大小写的匹配
- UNC路径保持原样
- 本地路径解析为绝对路径
这确保了 Z:\subfolder 比赛对 //server/share/ 当 Z: 映射到 \\server\share.
许可证
麻省 理工 学院 - 卡洛斯 - BlockSecCA
