← Back to directory
M

Mirage

Official
A unified virtual filesystem that lets AI agents use bash across cloud storage, SaaS, and databases.
GitHub source repository ↗
★ 3.4k Stars Category · Filesystem Very popular
47FMRS · D
Reliability
6/20
Security and permissions
8/20
Maintenance
10/20
Documentation
12/20
Setup experience
11/20

Mirage unifies roughly 50 data sources into a single virtual filesystem, exposing standard bash commands (cp, grep, wc, cat, find, etc.) for AI agents to operate across backends, with support for MCP, FUSE, and native framework adapters. Its value is eliminating the need to learn many separate SDKs/MCPs, but the general-purpose command execution surface means permissions and risk need careful scoping based on how sensitive the mounted backends are.

Read the FMRS scoring method →

Mirage is a Unified Virtual File System for AI Agents: it mounts around 50 built-in backends—S3, Google Drive, Slack, Gmail, OneDrive/SharePoint, Redis, Postgres, and more—side-by-side as a single filesystem. Any LLM that already knows bash can read, grep, and pipe across every backend using familiar commands like cp, grep, wc, cat, and find, with no new vocabulary to learn. It ships Python and TypeScript SDKs plus a CLI, and integrates with agent frameworks (OpenAI Agents SDK, LangChain, Claude Code, and others) via native adapters, installable plugins, MCP, or FUSE. The included test case (office_server_copy_no_reenrich) copies an Office document across OneDrive/SharePoint targets and verifies the copy doesn't trigger unnecessary re-enrichment, illustrating consistent file-operation behavior across cloud storage backends.

Tools

execute
Runs a bash-like command (such as cp, grep, wc, cat, or find) against resources mounted in the workspace, including cloud storage and SaaS backends like S3, OneDrive, SharePoint, and Slack, enabling reads, searches, and pipelines across them.

Setup

Choose the install path for your stack: Python users can run uv add mirage-ai to get the mirage-ai package and the mirage CLI (requires Python ≥3.11); TypeScript/Node.js users can run npm install @struktoai/mirage-node (or mirage-browser / mirage-agents) (requires Node.js ≥20); a standalone CLI is also available via the official install script or npm install -g @struktoai/mirage-cli. After installing, declare the backends to mount (e.g., OneDrive, SharePoint) and their credentials in a workspace configuration, then connect through MCP, a native adapter, or FUSE depending on the target coding agent. The source material does not include a specific MCP client configuration JSON example.

Fit and risk

Best for

  • AI agent developers who already use bash and want one filesystem interface instead of many SDKs/MCPs
  • Workflows that need to pipe data between S3, Google Drive, Slack, OneDrive/SharePoint, and similar backends
  • Teams embedding an agent workspace directly inside a Python/TypeScript app (FastAPI, Express, etc.)

Not for

  • Simple single-service use cases that don't need a unified cross-backend interface
  • Non-macOS/Linux environments where FUSE-based mounts aren't supported
  • High-security scenarios requiring fine-grained, per-action permission control rather than a general bash execution interface

Required permissions

  • Access credentials or API tokens for each mounted backend (e.g., OneDrive, SharePoint, S3, Slack, Gmail)
  • Local filesystem read/write access (for RAM/Disk resources and caching)
  • Outbound network access to reach remote backend APIs

Risks and side effects

  • A single bash-like execution interface can let an agent broadly read, copy, or overwrite data across every mounted, potentially sensitive backend
  • Content pulled in from mounted sources (e.g., Slack messages, email) carries prompt-injection risk that could influence subsequent agent behavior
  • Index and file caches (default TTL 10 minutes / default 512MB) can serve stale data until they expire
  • Once credentials are configured for a workspace, an agent may end up with broader cross-service access than intended for a given task

Troubleshooting

  1. Confirm the platform is macOS or Linux, since FUSE-based mounts require platform support
  2. Confirm Python ≥3.11 or Node.js ≥20 is installed, as SDK setup/runtime will fail otherwise
  3. Check that credentials and environment variables are correctly set for each mounted backend (e.g., OneDrive/SharePoint)
  4. If reads return stale data, check the index cache (default 10 min TTL) and file cache (default 512MB) settings
  5. For multi-process or multi-machine deployments, verify the Redis cache store configuration (URL, cache limit) is correct

Use cases

Let a coding agent use uniform bash semantics to search, copy, and summarize data across multiple cloud storage and SaaS backends
Copy or manipulate files from OneDrive/SharePoint document sources without triggering unnecessary re-enrichment
Build portable agent workspaces that can be cloned, snapshotted, and versioned across machines

Supported clients

Claude CodePartial support