Virtual Filesystem

Virtual Filesystem

lu-zhengdaMIT
2 звёзд1 форков
MCP-сервер, который превращает PostgreSQL в виртуальную файловую систему для AI-агентов. Обычные агенты хранят данные во временной памяти или на локальном диске. Когда контейнер перезапускается или сессия завершается, файлы теряются. Virtual Filesystem решает эту проблему: все файлы живут в PostgreSQL и не исчезают после рестарта. Сервер подходит для команд, которые разрабатывают сложных AI-агентов: мультиагентные системы, долгоживущие ассистенты, CI/CD-пайплайны. Вы получаете привычный POSIX-интерфейс, но данные остаются в базе.

Установка

npx -y mcp-virtual-fs

Характеристики

Общее

  • СтатусСообщество
  • Разработчикlu-zhengda
  • ЛицензияMIT

Технологии

  • Языки
    TypeScript
  • Транспорт
    stdio

Описание

Возможности

  • Постоянное хранение файлов: данные сохраняются в PostgreSQL, переживают рестарт процесса, контейнера и переразвёртывание.
  • Изоляция сессий: каждая сессия агента автоматически получает отдельное пространство имён — файлы одного агента не видны другому.
  • Общие хранилища: создавайте именованные сториджи (shared stores), чтобы агенты обменивались файлами и данными.
  • POSIX-инструменты: сервер реализует 11 команд — read, write, append, stat, ls, mkdir, rm, mv, glob, grep, stores.
  • Поиск по шаблону и содержимому: glob (**/*.ts) и grep (регулярные выражения) работают через триграммные индексы PostgreSQL.
  • Безопасность на уровне строк (RLS): для мультитенантных развёртываний PostgreSQL сам изолирует данные между сессиями.
  • Почти без настроек: включите VFS_AUTO_INIT=true, и сервер сам создаст нужные таблицы при первом запуске.

Как подключить

Установите Node.js 20 или новее и PostgreSQL 14+ (требуется расширение pg_trgm — оно входит в стандартную поставку большинства дистрибутивов).

1. Установка

Запустите команду в терминале:

npx -y mcp-virtual-fs

2. Настройка конфигурации

Добавьте блок в файл конфигурации вашего MCP-клиента. Пример для Claude Desktop:

{ "mcpServers": { "virtual-fs": { "command": "npx", "args": ["-y", "mcp-virtual-fs"], "env": { "DATABASE_URL": "postgresql://user:password@localhost:5432/virtual_fs" } } } }

3. Перезапустите клиент

Перезапустите MCP-клиент. Сервер автоматически создаст таблицы в указанной базе данных.

Примеры запросов

  • «Сохрани этот конфиг в файл /workspace/nginx/default.conf»
  • «Найди все markdown-файлы в проекте с помощью глоба **/*.md»
  • «Запиши результат анализа логов в shared store "team-log"»
  • «Прочитай содержимое файла /workspace/data/results.json и сделай краткую выжимку»

Технические детали

  • Язык разработки: TypeScript
  • Транспорт: stdio
  • База данных: PostgreSQL (версии 14 и выше)
  • Лицензия: MIT
  • Совместимые клиенты: Claude Desktop, Claude Code, Cursor, Windsurf, Cline и любые MCP-клиенты, поддерживающие транспорт stdio.

Поделиться