_ Local-first JuiceFS storage for Linux, with MCP tools for Cursor, Claude Code, and Hermes. _ The Problem Most AI agents can read files — but only if you point them at random folders on your laptop. That’s fragile, hard to isolate, and useless when you want durable storage (multi-volume, quotas, web UI) that agents can use safely. MeshDrive is a local-first Linux storage layer (JuiceFS + SQLite metadata) with a terminal UI, loopback Filebrowser, and a free MCP server so agents can list, read, and write files only inside an isolated root (/opt/meshdrive by default). No cloud required for the free tier.. Your data stays on your disks. What you get JuiceFS volumes mounted under one install root Filebrowser on http://127.0.0.1:8080 (human UI) MCP tools for AI clients: health_check, list_storage_backends, read_file, write_file, list_directory, and more Path isolation — agents cannot escape the MeshDrive root Optional OpenFGA for authorization (free add-on) GitHub:vix-gateway/MeshDrive Docs: MCP clients guide Install on Ubuntu/Debian (.deb) Requirements: Ubuntu/Debian amd64, FUSE, Python 3.10+, outbound HTTPS on first install. curl https://github.com/Hardik94/vix-gateway/releases/download/v2.0.0/meshdrive_2.0.0_amd64.deb sudo dpkg -i meshdrive_2.0.0_amd64.deb Verify: meshdrive doctor meshdrive status sudo systemctl status meshdrive-agent Create storage (one-time) meshdrive-tui In the TUI: Storage → Add backend → Mount. Then open Filebrowser: http://127.0.0.1:8080 Enable the MCP add-on (free) sudo meshdrive-addons install mcp Smoke test (no LLM needed — proves MCP works): /opt/meshdrive/venv/bin/python packaging/mcp-smoke-test.py --stdio You should see: tools (8) and health_check → PASS. Connect Cursor (stdio — recommended) Run Cursor on the same machine as MeshDrive (or use SSH — see below). Create .cursor/mcp.json in your project (or ~/.cursor/mcp.json globally): { "mcpServers": { "meshdrive": { "command": "/opt/meshdrive/bin/meshdrive-mcp", "args": [], "env": { "MESHDRIVE_ROOT": "/opt/meshdrive", "MESHDRIVE_MCP_TRANSPORT": "stdio" } } } } Cursor Settings → MCP → enable meshdrive In chat: “Use meshdrive health_check” Then: “list_storage_backends” and “list_directory /opt/meshdrive/mnt/…” Why stdio? Cursor’s URL mode often uses Streamable HTTP. MeshDrive’s HTTP mode is legacy SSE (GET /sse + POST /messages/). stdio avoids that mismatch entirely. Cursor on Local, MeshDrive on Remote (SSH bridge) { "mcpServers": { "meshdrive": { "command": "ssh", "args": [ "user@YOUR_SERVER_IP", "MESHDRIVE_ROOT=/opt/meshdrive", "MESHDRIVE_MCP_TRANSPORT=stdio", "/opt/meshdrive/bin/meshdrive-mcp" ] } } } Set up passwordless SSH first (ssh-copy-id). Connect Claude Code (stdio) On the MeshDrive host: claude mcp add meshdrive \ --env MESHDRIVE_ROOT=/opt/meshdrive \ -- /opt/meshdrive/bin/meshdrive-mcp claude mcp list In a session: “Call meshdrive health_check and list_storage_backends.” Project-level config (.mcp.json) — same JSON as Cursor’s mcpServers block. Connect Hermes + open-source models (stdio) Run Hermes on the MeshDrive machine (same host as Ollama). Do not use HTTP/SSE for local models — many never trigger tool_calls. ~/.hermes/config.yaml: mcp_servers: meshdrive: command: /opt/meshdrive/bin/meshdrive-mcp args: [] env: MESHDRIVE_ROOT: /opt/meshdrive MESHDRIVE_MCP_TRANSPORT: stdio enabled: true hermes mcp test meshdrive Use a model with solid function-calling (e.g. Qwen2.5, Llama 3.1+). Set context ≥ 8192 so tool schemas aren’t truncated. Connect Hermes + open-source models (HTTP/SSE) ~/.hermes/config.yaml: mcp_servers: meshdrive: url: "http://localhost:9000/sse" transport: sse enabled: true connect_timeout: 30 hermes mcp test meshdrive Release message: “MeshDrive MCP works today with Cursor, Claude Code, and Hermes via stdio.” Architecture in one sentence AI client (stdio) → meshdrive-mcp → isolated paths under /opt/meshdrive → JuiceFS mounts Humans use Filebrowser; agents use MCP. Same storage, different interfaces. Try it Install the .deb meshdrive-tui → add storage meshdrive-addons install mcp Paste stdio config into Cursor or Claude or Hermes Ask: “Use meshdrive to list my storage backends” Issues & feedback: GitHub Issues on that repo. MeshDrive 2.0 — local-first storage for the agentic era. Built by Vistrix Labs.