原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Octofs

作者:muvon版本 0.22.1i★ –i在你的电脑上运行
注册名称io.github.Muvon/octofs

安装

概览

作者提供的说明(英文原文)

Standalone MCP filesystem tools server — view, edit, shell, workdir.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

下载作者的 .mcpb 文件

链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。

在终端中运行这条命令

claude mcp add octofs -- npx -y @muvon/octofs mcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "octofs": {
      "command": "npx",
      "args": [
        "-y",
        "@muvon/octofs",
        "mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "octofs": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@muvon/octofs",
        "mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 muvon 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32589 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32589 个服务器的 90% 更新
  • 基础检查结果等于或优于此分类中其他 32589 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Octofs 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.22.1)于3天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js, MCPB。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Detailing Manager

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211昨天更新
安装

Detailing Manager

作者:RadoslavMoshev

Connect your auto detailing studio's tasks, cars, clients and revenue to Claude or ChatGPT.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

🐙 Octofs

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


Why 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:

  • Eyes — Read files, search content, explore directories
  • Hands — Create, edit, batch-modify files atomically
  • Context — Execute commands, manage working directories
  • Reach — Transparent SSH/SFTP: every file tool accepts 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 │ └─────────────────────────────────────────────────────────────┘

What Makes It Different

FeatureOctofsTypical Alternatives
ImplementationCompiled Rust binary, no runtimePython/Node script
Content SearchBuilt-in search with context linesString matching only
Batch OperationsAtomic multi-edit on single fileOne-at-a-time
Line AddressingComposite N:hh ids — hash-verified at apply time; stale edits fail with relocation hintsNumber-only
TransportSTDIO + Streamable HTTPSTDIO only
Shell IntegrationAutomatic foreground-to-background handoffLimited or none
Remote FilesTransparent SSH/SFTP on every file toolNone
Re-readsDelta views — re-viewing a file returns only the hunks changed since (clients that report a context epoch)Full file every time
SafetyGitignore-aware, stale-write detection, path validationFull filesystem access

Installation

Cargo (crates.io)
cargo install octofs
Homebrew
brew install muvon/tap/octofs
npm (no Rust toolchain needed)
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"] } } }

Pre-built Binaries

Download from GitHub Releases for your platform:

PlatformTarget
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).

MCP Registry

Published to the MCP Registry as io.github.Muvon/octofs.

From Source

Requires Rust 1.95+.

git clone https://github.com/muvon/octofs

cd octofs cargo build --release

Binary at ./target/release/octofs


Quick Start

Pair with Octocode

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.

1. Configure Your AI Assistant

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/octofs or ./target/release/octofs).

2. Restart Your AI Assistant

The MCP server starts automatically when your AI assistant connects.

3. Try It

Ask your AI assistant to:

  • "Show me the project structure"
  • "Read the main.rs file"
  • "Search for all uses of unwrap() in the codebase"
  • "Create a new file called test.rs"

Features

📁 Filesystem Operations
  • View Files & Directories — Read a single file (call view in parallel for several), list directories with glob patterns, search content
  • Smart Truncation — Large files are truncated intelligently to avoid overwhelming context windows
  • Gitignore-Aware — Respects .gitignore patterns during directory traversal
  • Line Ranges — Read specific line ranges with negative indexing (-1 = last line)
  • Remote Files (SSH/SFTP) — Every file tool accepts ssh://user@host:port/path URLs (see Remote Filesystem)
✏️ Text Editing
  • Create Files — Create new files with automatic parent directory creation
  • String Replace — Replace exact string matches with fuzzy fallback for whitespace
  • Delete — Remove a file (recoverable via undo)
  • Undo — Revert last edit (up to 10 undo levels per file, in-memory)
  • Batch Edit — Perform multiple insert/replace operations atomically on a single file
  • Stale-Write Protection — Every edit target's 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 line
🔍 Code Intelligence
  • Content Search — Search for strings within files with context lines
  • Line Extraction — Copy specific line ranges from one file to another
🖥️ Shell & System
  • Command Execution — Run shell commands with output capture
  • Background Processes — Long commands automatically continue in background with completion notifications
  • Working Directory — Set/get/reset working directory context for operations

Configuration

Line Identifiers

Every 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).

Shell Misuse Enforcement

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.

Transport Modes
STDIO (default)

Standard input/output transport. Works with all MCP clients.

octofs mcp
HTTP

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

Any other address requires a bearer token; octofs refuses to start without one

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.

Working Directory

By default, Octofs operates in the current directory. Specify a different root:

{

"mcpServers": { "octofs": { "command": "octo

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx