Virtual Filesystem
PostgreSQL-backed virtual filesystem for agents: session isolation, shared stores, POSIX ops, RLS.
Connector by lu-zhengda · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/lu-zhengda-virtual-fs
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 6 read · 4 write · 1 delete
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 11
Read from the source code; the running server may list different tools.
Read 6 · Look things up without changing anything.
globgreplsreadstatstores
Write 4 · Create, change, send or run things.
appendmkdirmvwrite
Delete 1 · Delete, drop, revoke or wipe things.
rm
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
DATABASE_URL
Other settings (environment variables or headers).
VFS_AUTO_INITVFS_ENABLE_RLSVFS_SESSION_ID
Files it touches
- Any path the agent passes to its tools
Tools (11)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
appendAppend content to the end of a file. Creates the file if it doesn't exist. Parent directories are created automatically. Useful for logs or incrementally building files. The 10 MB limit is per call — total file size is not capped. Errors: EISDIR if the path is an existing directory, EINVAL if appending to root.
globread-onlyFind files matching a glob pattern. Supports wildcards (*.ts), recursive matching (**/*.md), and brace expansion ({py,json}). Returns an array of matching file paths. Only matches files, not directories.
grepread-onlySearch file contents using a regular expression. Returns matching lines with file path and line number. Optimized for fast content search across all files. Optionally filter which files to search with a path glob.
lsread-onlyList the contents of a directory. Returns an array of entries, each with a name and type (file or directory). Entries are sorted with directories first, then alphabetically. Errors: ENOENT if the directory does not exist, ENOTDIR if the path is a file.
mkdirCreate a directory and any missing parent directories (mkdir -p behavior). Idempotent — succeeds even if the directory already exists. Returns whether the directory already existed. Errors: EEXIST if a file (not directory) already exists at the path.
mvMove or rename a file or directory. Moves all descendants when moving a directory. Parent directories at the destination are created automatically. Errors: ENOENT if source doesn't exist, EEXIST if destination already exists, EINVAL if moving root or moving a directory into itself.
readread-onlyRead the contents of a file. Returns the file content and size in bytes. Errors: ENOENT if the file does not exist, EISDIR if the path is a directory.
rmcan change or delete dataRemove a file or directory. Directories are removed recursively including all descendants. This operation is non-recoverable — there is no undo or trash. Returns the total number of nodes deleted. Errors: ENOENT if the path does not exist, EINVAL if attempting to remove root.
statread-onlyCheck whether a path exists and get metadata about it. Returns exists (boolean), and if it exists: type (file or directory), size (bytes, for files), or children count (for directories). Never errors — returns {exists: false} for missing paths.
storesread-onlyList all named persistent stores. Stores are cross-session namespaces for long-term data that persists indefinitely. Returns an array of store names.
writeWrite content to a file, creating it if it doesn't exist. Parent directories are created automatically (mkdir -p). Overwrites existing file content entirely. Errors: EISDIR if the path is an existing directory, EINVAL if writing to root.
Signals
- Stars
- 3
- Forks
- 1
- Open issues
- 1
- Last commit
- Feb 16, 2026 (8 months ago)
- Last release
- Feb 11, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.lu-zhengda/virtual-fs- Version
- 0.2.2
- Auth
- API key
- Packages
- npm mcp-virtual-fs
- License
- MIT
- Repository
- github.com/lu-zhengda/mcp-virtual-fs
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from lu-zhengda
Cite this page
Virtual Filesystem MCP server. Agent Mart. https://agentmart.dev/connectors/lu-zhengda-virtual-fs (last updated 2026-10-24)