Accelerate File Operations with Rust MCP
A fast, read-only-by-default Rust rewrite of the MCP filesystem server - glob search, ZIP archives, MCP Roots, and per-tool disabling, single binary.
Why it matters
Leverage a high-performance, asynchronous Rust-based MCP server for lightning-fast file operations. This asset offers advanced pattern searching, ZIP archive support, and dynamic directory management, outperforming JavaScript alternatives.
Outcomes
What it gets done
Execute efficient file read/write operations.
Perform advanced glob pattern matching for file filtering.
Create and extract ZIP archives.
Dynamically manage MCP Roots for flexible directory access.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-rust-mcp-filesystem | bash Overview
Rust MCP Filesystem MCP Server
A pure-Rust, single-binary rewrite of the MCP filesystem server - read-only by default, with glob pattern search, ZIP archive tools, MCP Roots support, and per-tool disabling. Use when an MCP client needs fast, safe filesystem access without a Node.js or Python runtime dependency, or when the standard JS filesystem server falls short on performance or features.
What it does
Reimplements the JavaScript-based @modelcontextprotocol/server-filesystem in pure Rust, aiming for higher performance, better type safety, and a more feature-rich set of filesystem operations for MCP clients. It starts read-only by default, requiring explicit configuration before any write access is granted, and supports full glob pattern matching for precise file and directory filtering - patterns like *.rs, src/**/*.txt, or logs/error-???.log all work for matching specific file types, recursive directory searches, or patterned filenames. It supports MCP Roots, letting a client dynamically change the list of allowed directories at runtime (disabled by default), ships tools to create and extract ZIP archives, and lets specific tools be disabled outright to shrink the exposed tool surface and save tokens on tool-definition overhead. Being a standalone Rust binary, it needs no Node.js, Python, or other runtime installed, just the single compiled executable, making it lightweight for both small local setups and larger deployments.
When to use - and when NOT to
Use it when an MCP client needs fast, safe filesystem access - reading, searching, archiving - without pulling in a Node.js or Python runtime as a dependency, or when the standard JavaScript filesystem server's performance or feature set falls short. It ships as multiple installable forms: a shell or PowerShell install script, a Homebrew tap, a Cargo install, an npm package that wraps the same underlying Rust binary for convenience, a Docker image on Docker Hub's MCP registry, or a direct binary download from GitHub releases. The project explicitly frames itself as a safety-conscious reimplementation - read-only by default and MCP Roots off by default - so write access and dynamic root changes are things to deliberately opt into, not assume are already on.
Capabilities
Filesystem read and write operations, with write access requiring explicit opt-in, advanced glob-pattern search, MCP Roots support for dynamically adjusting allowed directories, ZIP archive creation and extraction, and selective tool disabling to reduce the exposed tool surface.
How to install
Install via the official shell or PowerShell script:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-mcp-stack/rust-mcp-filesystem/releases/download/v0.4.2/rust-mcp-filesystem-installer.sh | sh
or via Homebrew (rust-mcp-stack/tap/rust-mcp-filesystem), Cargo (cargo install rust-mcp-filesystem --locked), npm (@rustmcp/rust-mcp-filesystem), Docker, or a direct binary download - full setup and configuration instructions live in the project's own documentation site.
Who it's for
MCP client operators who want a fast, dependency-free, safety-conscious filesystem server - read-only unless explicitly opened up, with glob search and ZIP support built in - instead of the standard Node.js-based filesystem server. The project is MIT-licensed.
Source README
Rust MCP Filesystem
Rust MCP Filesystem is a blazingly fast, asynchronous, and lightweight MCP (Model Context Protocol) server designed for efficient handling of various filesystem operations.
This project is a pure Rust rewrite of the JavaScript-based @modelcontextprotocol/server-filesystem, offering enhanced capabilities, improved performance, and a robust feature set tailored for modern filesystem interactions.
📝 Refer to the project documentation for installation and configuration instructions.
⭐️ It is also available on Docker Hub’s MCP Registry at: https://hub.docker.com/mcp/server/rust-mcp-filesystem
Features
- ⚡ High Performance: Built in Rust for speed and efficiency, leveraging asynchronous I/O to handle filesystem operations seamlessly.
- 🔒 Read-Only by Default: Starts with no write access, ensuring safety until explicitly configured otherwise.
- 🔍 Advanced Glob Search: Supports full glob pattern matching allowing precise filtering of files and directories using standard glob syntax.For example, patterns like
*.rs,src/**/*.txt, andlogs/error-???.logare valid and can be used to match specific file types, recursive directory searches, or patterned filenames. - 🔄 MCP Roots support: enabling clients to dynamically modify the list of allowed directories (disabled by default).
- 📦 ZIP Archive Support: Tools to create ZIP archives from files or directories and extract ZIP files with ease.
- 🪶 Lightweight: Standalone with no external dependencies (e.g., no Node.js, Python etc required), compiled to a single binary with a minimal resource footprint, ideal for both lightweight and extensive deployment scenarios.
- 🎛️ Tool Disabling: Disable specific tools to limit functionality and reduce the number of available tools, helping to save tokens.
👉 Refer to capabilities for a full list of tools and other capabilities.
🔧 Installation & Configuration
For detailed setup instructions, please visit the project documentation.
Quick installation guide
- Shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/rust-mcp-stack/rust-mcp-filesystem/releases/download/v0.4.2/rust-mcp-filesystem-installer.sh | sh
- PowerShell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/rust-mcp-stack/rust-mcp-filesystem/releases/download/v0.4.2/rust-mcp-filesystem-installer.ps1 | iex"
- Homebrew
brew install rust-mcp-stack/tap/rust-mcp-filesystem
Cargo
cargo install rust-mcp-filesystem --locked
- NPM
npm i -g @rustmcp/rust-mcp-filesystem@latest
The npm package is provided for convenience. It runs the same underlying Rust binary but can be installed and used as a standard npm package.
Docker
Download Binaries
https://github.com/rust-mcp-stack/rust-mcp-filesystem/releases/tag/v0.4.2
Purpose
This project aims to provide a reliable, secure, and feature-rich MCP server for filesystem management, reimagining the capabilities of @modelcontextprotocol/server-filesystem in a more performant and type-safe language. Whether you’re building tools for file exploration, automation, or system integration, rust-mcp-filesystem offers a solid foundation.
🧰 Built With
The project leverages the rust-mcp-sdk and rust-mcp-schema to build this server. check out those repositories if you’re interested in crafting your own Rust-based MCP project or converting existing ones to Rust for enhanced performance and safety.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.