虚拟文件系统服务

ThreadBox是一个为AI代理提供隔离、版本化沙箱的虚拟文件系统服务,基于Dart MCP服务器实现,支持Git工作树隔离和异步SQLite存储。

  • by simbo1905
  • Dart
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 simbo1905/threadbox-mcp

使用说明

螺纹盒mcp

ThreadBox:用于AI代理工件的虚拟文件系统。Dart MCP服务器为每个Git工作树提供隔离的、版本化的沙盒。

特性

  • MCP工具: write_file, read_file, list_directory, export_zip
  • 仅附加不变性 具有完整版本历史记录
  • 基于UUID的blob寻址 用于唯一文件标识
  • Git工作树隔离 用于会话管理
  • 异步SQLite存储 为了可靠的持久性

安装

确保您已安装Dart SDK,然后:

dart pub get

用法

运行MCP服务器:

dart run bin/threadbox_mcp.dart

或者编译为本机可执行文件:

dart compile exe bin/threadbox_mcp.dart -o threadbox_mcp
./threadbox_mcp

环境变量

  • THREADBOX_DB:SQLite数据库文件的路径(默认值: threadbox.db)

MCP工具

write_file

使用自动版本控制将文件写入虚拟文件系统。

参数:

  • path (必填):相对于工作台的文件路径
  • content (必填):文件内容(文本或base64编码)
  • worktree (可选):用于隔离的Git工作树标识符

read_file

从虚拟文件系统读取文件的最新版本。

参数:

  • path (必填):相对于工作台的文件路径
  • worktree (可选):用于隔离的Git工作树标识符

list_directory

列出虚拟文件系统目录中的所有文件。

参数:

  • path (必填):相对于工作树的目录路径
  • worktree (可选):用于隔离的Git工作树标识符

export_zip

将文件从目录导出为ZIP存档(占位符)。

参数:

  • path (必需):要导出的目录路径
  • worktree (可选):用于隔离的Git工作树标识符

发展

运行测试

dart test

代码检查

dart analyze

建筑

  • 存储层 (lib/src/storage.dart):具有UUID主键的基于SQLite的存储
  • MCP服务器 (lib/src/server.dart):使用工具端点实现MCP协议
  • 主条目 (bin/threadbox_mcp.dart):服务器初始化和启动

许可证

有关详细信息,请参阅LICENSE文件。