Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Standalone MCP filesystem tools server — view, edit, shell, workdir.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add octofs -- npx -y @muvon/octofs mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"octofs": {
"command": "npx",
"args": [
"-y",
"@muvon/octofs",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"octofs": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@muvon/octofs",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account muvon, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.22.1) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, MCPB on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Detailing Manager
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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 · Docs · Architecture · Changelog · Contributing · Good first issues
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┌─────────────────────────────────────────────────────────────┐
│ You: "Refactor all error handling to use anyhow::Context" │ ├─────────────────────────────────────────────────────────────┤ │ AI without Octofs: │ │ • "I can't see your project structure" │ │ • "Please paste the relevant files" │ │ • *Wastes 10 minutes on back-and-forth* │ ├─────────────────────────────────────────────────────────────┤ │ AI with Octofs: │ │ • Reads your codebase directly │ │ • Finds all error handling patterns │ │ • Suggests atomic batch edits │ │ • Applies changes with your approval │ └─────────────────────────────────────────────────────────────┘
| 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 (clients that report a context epoch) | Full file every time |
| Safety | Gitignore-aware, stale-write detection, path validation | Full filesystem access |
cargo install octofs
brew install muvon/tap/octofs
npx -y @muvon/octofs --version
The wrapper downloads the matching pre-built binary on first run. MCP config:
{
"mcpServers": { "octofs": { "command": "npx", "args": ["-y", "@muvon/octofs", "mcp"] } } }
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+.
git clone https://github.com/muvon/octofs
cd octofs cargo build --release
The shared-ID workflow requires the next Octocode release or a build of the updated source. OctoFS’s existing line-ID format is unchanged.
Use Octocode to find definitions, usages, and code relationships, then use OctoFS to read or edit the matching files. Octocode's MCP structural_search emits the same N:hh|content source line IDs that OctoFS accepts for batch_edit, using their shared Octolib utility. You do not need another view just to obtain IDs for lines already returned.
Run both servers against the same checkout. IDs describe that source snapshot: changed targets are verified at edit time, and an error supplies current context rather than guessing where to write. Exact-name lookups return complete small definitions; previews of larger matches name the ranges you can read with OctoFS.
The CLI uses a mcp subcommand — your config must pass ["mcp"] as args.
Claude Code (CLI):
claude mcp add octofs -- octofs mcp --path /path/to/your/project
claude mcp add octocode -- octocode mcp --path /path/to/your/project
Codex CLI:
codex mcp add octofs -- octofs mcp --path /path/to/your/project
codex mcp add octocode -- octocode mcp --path /path/to/your/project codex mcp list
The Octocode registration is optional. Install the servers you use and replace the paths with the same absolute checkout path. See the official Codex MCP documentation.
Cursor (~/.cursor/mcp.json):
{
"mcpServers": { "octofs": { "command": "octofs", "args": ["mcp"] } } }
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": { "octofs": { "command": "octofs", "args": ["mcp"] } } }
Windsurf (~/.windsurf/mcp.json):
{
"mcpServers": { "octofs": { "command": "octofs", "args": ["mcp"] } } }
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. Octocode structural-search source output uses the same shared utility and IDs. view renders lines as N:hh|content:
1:a3|fn main() {
2:f1| println!("Hello"); 3:0e|}
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.
octofs mcp
Streamable HTTP transport for remote access or multi-client scenarios. Every tool, shell included, is reachable by whoever can connect, so access is gated:
# Loopback, no token: requests carrying a browser Origin header are rejected
octofs mcp --bind 127.0.0.1:12345
OCTOFS_AUTH_TOKEN="$(openssl rand -hex 32)" octofs mcp --bind 0.0.0.0:12345
Connect clients to http://localhost:12345/mcp; with a token they send Authorization: Bearer . The server speaks plain HTTP, so put it behind TLS or an SSH tunnel when the token crosses a network. --auth-token works too, but command-line arguments are visible to other local users.
By default, Octofs operates in the current directory. Specify a different root:
{
"mcpServers": { "octofs": { "command": "octo
Only the beginning is shown; read the rest in the repo