Standalone MCP filesystem tools server β view, edit, shell, workdir.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Give your AI assistant filesystem superpowers
Standalone Rust binary that exposes filesystem tools over the Model Context Protocol. Built on rmcp 3.x, tokio, and axum.
Installation Β· Quick Start Β· Features Β· Tools Reference Β· Architecture Β· Changelog
MCP Registry: io.github.Muvon/octofs
Your AI coding assistant (Cursor, Claude, Windsurf, etc.) is smart β but it's blind to your filesystem. Octofs bridges that gap, giving your AI:
ssh:// URLs| Feature | Octofs | Typical Alternatives |
|---|---|---|
| Implementation | Compiled Rust binary, no runtime | Python/Node script |
| Content Search | Built-in search with context lines | String matching only |
| Batch Operations | Atomic multi-edit on single file | One-at-a-time |
| Line Addressing | Composite N:hh ids β hash-verified at apply time; stale edits fail with relocation hints | Number-only |
| Transport | STDIO + Streamable HTTP | STDIO only |
| Shell Integration | Automatic foreground-to-background handoff | Limited or none |
| Remote Files | Transparent SSH/SFTP on every file tool | None |
| Re-reads | Delta views β re-viewing a file returns only the hunks changed since | Full file every time |
| Safety | Gitignore-aware, stale-write detection, path validation | Full filesystem access |
The wrapper downloads the matching pre-built binary on first run. MCP config:
Download from GitHub Releases for your platform:
| Platform | Target |
|---|---|
| Linux (x86_64) | x86_64-unknown-linux-musl |
| Linux (ARM64) | aarch64-unknown-linux-musl |
| Windows (x86_64) | x86_64-pc-windows-msvc |
| Windows (ARM64) | aarch64-pc-windows-msvc |
| macOS (Intel) | x86_64-apple-darwin |
| macOS (Apple Silicon) | aarch64-apple-darwin |
Each release also ships .mcpb bundles for one-click install in clients that support MCP bundles (e.g. Claude Desktop).
Published to the MCP Registry as io.github.Muvon/octofs.
Requires Rust 1.95+.
The CLI uses a mcp subcommand β your config must pass ["mcp"] as args.
Cursor (~/.cursor/mcp.json):
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Windsurf (~/.windsurf/mcp.json):
If Octofs isn't on your
PATH, use the full path to the binary (e.g./usr/local/bin/octofsor./target/release/octofs).
The MCP server starts automatically when your AI assistant connects.
Ask your AI assistant to:
unwrap() in the codebase"test.rs"view in parallel for several), list directories with glob patterns, search content.gitignore patterns during directory traversal-1 = last line)ssh://user@host:port/path URLs (see Remote Filesystem)N:hh id is verified against the file at apply time; a stale id fails with the current content and where it moved, instead of editing the wrong lineEvery line is addressed by a composite id N:hh β its 1-indexed position plus a
2-character hex hash (FNV-1a) of its content. view renders lines as N:hh|content:
Edit tools take these ids back as targets and verify the hash against the file
before applying anything. A stale id (the file changed since it was viewed) fails
with the current content around the target and where the expected content moved β
so the model retargets from the error instead of re-reading the file. Edit results
are diffs with fresh ids, so edits chain without re-viewing. Removed lines collapse
to their old id range (-12:a3..15:f1 (4 lines)), and a trailing
shift: lines after 40:b2 +3 line says how original line numbers below each edit
moved, so ids the model still holds can be adjusted without a failed call.
This is the single line-id format β there is no mode switch. Plain line numbers
are still accepted where a position alone is safe: view ranges (negative counts
from the end) and the insert anchors 0 (file start) / -1 (append).
Octofs detects shell misuse β commands like cat, grep, find, or sed that
should use the dedicated MCP tools instead β and rejects them with an error
explaining which tool to use. The call fails; nothing executes. This is
intentional and not configurable: the dedicated tools give the model line ids,
gitignore-awareness, and remote-host support that raw shell output cannot.
Pipelines (cargo build 2>&1 | grep error) remain allowed β only standalone
invocations of those programs are blocked.
Other guidance (out-of-bounds ranges, fuzzy-match notices) is appended to successful responses as β οΈ hints without failing the call.
Standard input/output transport. Works with all MCP clients.
Streamable HTTP transport for remote access or multi-client scenarios.
Connect clients to http://localhost:12345/mcp.
By default, Octofs operates in the current directory. Specify a different root:
All path parameters β and --path itself β accept ssh:// or sftp:// URLs:
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/octofs)<a href="https://allmcps.com/mcp/octofs"><img src="https://allmcps.com/api/badge/octofs?style=directory" alt="Octofs on AllMCPs" /></a>