文件系统服务

一个基础的文件系统服务,提供持久的文件操作、可共享的URL和仪表板集成功能。

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

使用说明

文件系统MCP

用于持久文件操作的基础文件系统MCP服务器,具有可共享的URL和仪表板集成。

特性

  • 完成文件操作:创建、读取、更新、删除文件和目录
  • 安全工作区:所有操作仅限于用户工作区,并进行路径验证
  • 可共享URL:为文件生成有时间限制的可共享链接
  • 文件搜索:按文件名模式或文件内容搜索
  • 元数据:文件类型检测、时间戳、权限和MIME类型
  • 仪表板就绪:专为与平台仪表板集成而设计
  • 未来第三方整合:可扩展到OneDrive、Google Drive等。

MCP工具

核心文件操作

  1. 列表文件 -使用可选的递归扫描列出文件和目录
  2. read_file -使用编码支持读取文件内容
  3. write_file -使用自动目录创建功能写入/创建文件
  4. 删除文件 -安全删除文件或目录
  5. create_directory -创建包含父路径的目录

高级功能

  1. 获取_文件_信息 -获取详细的文件元数据(大小、日期、权限、MIME类型)
  2. 搜索文件 -按文件名模式或具有可配置限制的内容搜索
  3. get_shareable_url -生成具有过期时间的可共享URL

使用示例

基本文件操作

// List files in workspace root
await mcp.callTool('list_files', { path: '.', recursive: false });

// Create a document
await mcp.callTool('write_file', {
  path: 'documents/report.md',
  content: '# Project Report\n\nThis is my project report...'
});

// Read the document
await mcp.callTool('read_file', { path: 'documents/report.md' });

文件管理

// Create project structure
await mcp.callTool('create_directory', { path: 'projects/website' });

// Get file information
await mcp.callTool('get_file_info', { path: 'documents/report.md' });

// Search for files
await mcp.callTool('search_files', {
  pattern: '*.md',
  search_content: true,
  max_results: 20
});

共享和URL

// Generate shareable URL for a PDF
await mcp.callTool('get_shareable_url', {
  path: 'documents/presentation.pdf',
  expires_in: 48  // 48 hours
});

集成功能

仪表板集成

  • 列出API的文件已准备好显示仪表板
  • 文件浏览器的丰富元数据
  • 正确文件图标的MIME类型检测

存储器MCP集成

  • 文件操作可以记录到内存MCP中
  • 文档元数据存储为内存
  • 知识图中跟踪的文件关系

安全

  • 路径验证可防止目录遍历攻击
  • 仅限于用户工作区的操作
  • 具有过期时间的可共享URL

永久存储

文件存储在Kubernetes中的持久卷中:

  • 用户工作区隔离
  • 自动备份功能
  • 容量扩展支持
  • 跨pod文件访问

未来整合

专为可扩展性而设计,具有:

  • OneDrive -将文件同步到Microsoft OneDrive
  • Google 云端硬盘 -备份并与Google云端硬盘同步
  • Dropbox -跨平台文件同步
  • 第3页 -存档并备份到AWS S3

文件结构示例

workspace/
├── documents/
│   ├── reports/
│   │   ├── q1-report.pdf
│   │   └── presentation.pptx
│   └── notes.md
├── projects/
│   └── website/
│       ├── index.html
│       └── styles.css
└── downloads/
    └── data.csv

错误处理

  • 安全路径验证
  • 妥善处理丢失的文件
  • 权限和磁盘空间错误
  • 编码检测和转换

环境变量

  • WORKSPACE_DIR -基本工作区目录(默认: /app/workspace)
  • PLATFORM_URL -可共享链接的平台基础URL

许可证

麻省理工学院