UNC文件系统MCP服务器

一个支持Windows UNC路径的文件系统操作MCP服务器,解决内置Claude Desktop文件系统服务器在网络路径上的bug。

  • by BlockSecCA
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 BlockSecCA/unc-filesystem-mcp

使用说明

UNC文件系统MCP

用于文件系统操作的MCP服务器,在Windows上具有适当的UNC路径支持。

为什么?

内置的Claude Desktop文件系统服务器存在网络路径错误:

  • 驱动器号分辨率不对称:映射的驱动器(例如。, Z:)在配置加载时解析为它们的UNC等效值,但传入的请求会进行字面比较。结果:访问被拒绝。
  • UNC子目录匹配失败:即使在 \\server\share 在允许的列表中,正在访问 \\server\share\subfolder 被拒绝。

此服务器规范了路径比较的两侧,因此映射的驱动器和UNC子目录可以正常工作。

安装

选项1:MCPB套餐(推荐)

  1. 下载 unc-filesystem-mcp.mcpb 从释放
  2. 双击以在Claude Desktop中安装
  3. 使用文件夹选择器添加允许的目录
  4. 重新启动克劳德桌面

选项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