# fs-mcp-rs

Restricts MCP client file access strictly to chosen folders. Built in Rust, it connects via STDIO or HTTP and offers configurable terminal execution.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 8
- Author: nihmadev
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/nihmadev/fs-mcp-rs
- Updated: 2026-08-01
- HTML: https://affpapa.org/en/nevibecode/mcp/fs-mcp-rs

## What it does

\`fs-mcp-rs` exposes core filesystem utilities to assistants under explicit folder boundaries. You must designate allowed root folders in a TOML configuration or via command flags. The server rejects any path outside those boundaries. Symlinks remain blocked by default.

It ships as a standalone executable written in Rust. The package provides regex text searching that respects `.gitignore`, concurrency caps, and atomic file saving with BLAKE3 checksums. Running it requires no heavy runtime setup.

An optional terminal section lets models run console tasks. Enabling `run_command` executes processes under your active user account, bypassing the filesystem sandbox entirely. Without a specified configuration file or direct paths, the server refuses to boot.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add fs-mcp-rs -- npx -y fs-mcp-rs
```

### Codex

**Platform CLI**
```bash
codex mcp add fs-mcp-rs -- npx -y fs-mcp-rs
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "fs-mcp-rs": {
            "command": "npx",
            "args": [
                "-y",
                "fs-mcp-rs"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "fs-mcp-rs": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "fs-mcp-rs"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add fs-mcp-rs npx -y fs-mcp-rs
```

## When to use it
- confine assistant file operations to selected project roots
- search codebase content with regex while honoring `.gitignore` rules
- lock down writes by enabling strict read-only mode
- run terminal commands with strict timeouts and bounded output

## Example prompts
- Search for obsolete API route handlers inside the permitted project directory
- Read the project configuration file without resolving external symlinks
- Update the package metadata file inside the allowed folder

## Similar
- [Remote Desktop Commander](https://affpapa.org/en/nevibecode/mcp/remote-desktop-commander.md) — MCP server · ★ 194
- [agent-fs](https://affpapa.org/en/nevibecode/skills/agent-fs.md) — skill · 3300 installs
- [smux](https://affpapa.org/en/nevibecode/skills/smux.md) — skill · 2900 installs
- [Filesystem MCP](https://affpapa.org/en/nevibecode/mcp/filesystem-mcp.md) — MCP server · ★ 26
- [ultrathink](https://affpapa.org/en/nevibecode/skills/ultrathink.md) — skill · 1900 installs
- [loops-cli](https://affpapa.org/en/nevibecode/skills/loops-cli.md) — skill · 1500 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
