← Back to directory
M

Mirage

Official
A unified virtual filesystem that lets AI agents use bash across cloud storage, SaaS, and databases.
Category
Filesystem #18 of 24
Stars
★ 3.8k Very popular
Runtime
Node.js 20+ · Python 3.11+ · Prebuilt binary
Credentials
Optional API key
License
Apache-2.0
Last commit
Tools
1
47FMRS · D

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.

Strongest · Documentation 12/20 Weakest · Reliability 6/20

Reliability
6/20
Security and permissions
8/20
Maintenance
10/20
Documentation
12/20
Setup experience
11/20
Why each score
Reliability 6/20
The 'server manifest' provided is actually a single integration-test case from integ/unix/office/server.json (a cp+wc scenario against onedrive/sharepoint-style targets), not a real MCP tool manifest, init/tool-list handshake description, or behavioral spec. There is no CI workflow evidence, no visible mapping between declared tools and actual behavior, and no demonstration of error handling or dependency control across multiple scenarios. Per the static calibration rule, reliability cannot exceed 12 without real CI plus committed tests covering key paths, and one isolated test fixture falls well short of that bar, so the score stays low.
Security and permissions 8/20
The README example stores credentials via environment variables (e.g. SLACK_BOT_TOKEN) rather than hardcoding secrets, which is good practice, and no red-line issue (malware, credential exfiltration, dangerous unconfirmed defaults) is evident. However, Mirage unifies roughly 50 backends (S3, Gmail, Slack, GitHub, MongoDB, etc.) under one filesystem and exposes bash-like destructive operations (cp, rm, etc.) across them, and none of the supplied material shows least-privilege design, cross-resource access boundaries, confirmation gates for risky operations, or scope narrowing. The manifest's own test case (cross-cloud office file copy) shows no permission check or confirmation flow either. The broad blast radius combined with absent control evidence justifies a meaningful deduction.
Maintenance 10/20
The repo is Apache-2.0 licensed and not archived, with a high star count (3383, a discovery signal only, not scored) but 106 open issues suggesting some backlog. Nothing in the supplied material shows release history, changelogs, dependency-update cadence, or a security-response channel, so governance quality cannot be confirmed — only the baseline signals (not archived, licensed, apparently active) support a middling score.
Documentation 12/20
The README is generally solid: install and quickstart examples for Python/TypeScript/CLI, an architecture diagram, cache-layer explanation, multi-language translations, and an agent-framework integration table. However, there is no documentation at all covering the specific server behavior under review — the office file copy across onedrive/sharepoint, the 'no re-enrichment' semantics, or the expected copy size/behavior — leaving a clear feature-level documentation gap for the exact functionality being tested.
Setup experience 11/20
Multiple install paths are offered (uv add, npm install, curl script, npx/uvx) with clear CLI quickstart commands and explicit platform requirements (macOS/Linux, Python ≥3.11, Node ≥20). But no MCP configuration example for a mainstream client (e.g., Claude Desktop) is shown — MCP is only mentioned as one integration path via an external doc link, without a copy-pasteable minimal config. Per the static calibration rule, setup cannot exceed 15 without verifiable execution evidence, so the score is kept below that ceiling.

Static review · not runListed 2026-08-06

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesWrites / deletes local filesRuns commands or codeUses the network

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

Setup

Before you start

Runtime:Node.js 20+ · Python 3.11+ · Prebuilt binary

SLACK_BOT_TOKEN optionalsecret A Slack bot token used to mount SlackResource for channel access; obtain it from your Slack App's OAuth credentials.

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.

Check that it works

Confirm the execute tool appears in your client's tool list, then run a command like cp /s3/report.csv /data/report.csv — success proves the workspace is connected.

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

Things to try

Once connected, you can ask your AI assistant things like:

  • Copy /s3/report.csv to /data/local.csv and confirm the file exists
  • Search /slack/channels for messages containing 'alert' and count them
  • Count lines across all .l files under /s3/data
  • Run the summarize command on /data/local.csv

Tools 1

execute writes
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.

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

Listed from the project's documentation, not tested by this site.

Overview

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.

Similar servers

Source revision 0deef8e51fec Data synced 2026-11-04 Read the FMRS scoring method