Filesystem Extended
FreeNot checkedEnables bounded local filesystem inspection, comparison, and mutation with search and resume capabilities.
About
Enables bounded local filesystem inspection, comparison, and mutation with search and resume capabilities.
README
TypeScript implementation of a local filesystem MCP server with bounded inspection, comparison, and mutation surfaces.
This root README is the DX-first entrypoint. It keeps only shared orientation and routes detailed tool guidance to endpoint-local README.md files.
Read this next
| Need | Start here |
|---|---|
| Shared conventions and cross-endpoint rules | CONVENTIONS.md |
| Shared architecture and ownership boundaries | DESCRIPTION.md |
| Tool-specific quick guidance | Endpoint-local README.md links below |
Architecture at a glance
| Layer | Responsibility |
|---|---|
application |
MCP bootstrap, tool-catalog composition, stable server framing, and server-scope exposure |
domain |
Tool-specific handlers, schemas, results, and runtime semantics |
infrastructure |
Path guarding, logging, persistence, and shared technical helpers |
Shared developer rules
- All path-based operations stay inside configured allowed directories.
- Broad-root discovery and recursive inspection default-exclude vendor, cache, and generated trees unless callers explicitly target them or reopen named descendants.
- Resume-capable inspection families stay same-endpoint and continue through
resumeTokenplus the appropriateresumeMode. - Primary result data stays complete in
content.text;structuredContentadds machine-readable envelope metadata and mirrored structured payloads. - Public read surfaces remain intentionally split: read_files_with_line_numbers for bounded inline batch reads, read_file_content for advanced single-file modes.
External dependency for content search
The regex, fixed-string, and native pattern-aware count lanes depend on the native ugrep executable.
This dependency is now resolved during MCP server startup preflight, not lazily during request execution. The server expects one of these runtime conditions:
UGREP_EXECUTABLE_PATHpoints to the native shell-freeugrepbinary, or- the MCP server process
PATHalready contains the directory that holds the nativeugrepexecutable.
A successful ugrep --version check in an interactive shell is helpful, but it is not sufficient by itself. The decisive environment is the Node.js process that runs the MCP server.
Common installation examples:
- Debian/Ubuntu:
apt-get install ugrep - Fedora/RHEL/CentOS:
dnf install ugrep - Arch:
pacman -S ugrep - macOS:
brew install ugrep - Windows:
winget install Genivia.ugreporchoco install ugrep
After installation, verify with ugrep --version and then restart the MCP client or IDE process that launches the server so the server runtime can inherit the updated environment.
Windows permanent fix when ugrep --version is not available
If ugrep is installed on Windows but ugrep --version still cannot be executed, you MUST apply the permanent Chocolatey fix below.
This usually means ChocolateyInstall is set incorrectly and Chocolatey created the package under the wrong root.
Run:
[Environment]::SetEnvironmentVariable('ChocolateyInstall','C:\ProgramData\chocolatey','Machine')
$env:ChocolateyInstall = 'C:\ProgramData\chocolatey'
$env:Path = "C:\ProgramData\chocolatey\bin;$env:Path"
choco install ugrep --force -y
Then open a new PowerShell window and verify again:
ugrep --version
If the MCP server still cannot start native search afterward, configure UGREP_EXECUTABLE_PATH with the absolute path to ugrep.exe for the process that launches the MCP server.
Endpoint README TOC
Application/server scope
Inspection — discovery
Inspection — metadata and integrity
Inspection — search family and count
- inspection/search family README
- search_file_contents_by_regex
- search_file_contents_by_fixed_string
- count_lines
Inspection — read
Comparison
Mutation — content
Mutation — path
Documentation boundary
Root documentation stays shared and non-redundant:
- README.md = DX-first entrypoint
- DESCRIPTION.md = architecture index
- CONVENTIONS.md = shared conventions and leaf-slice routing
- endpoint-local
README.mdfiles = detailed developer-facing guidance per public endpoint
This root file is intentionally a navigation surface, not a second endpoint-by-endpoint manual.
Installing Filesystem Extended
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/CyberT33N/mcp-filesystem-extendedFAQ
Is Filesystem Extended MCP free?
Yes, Filesystem Extended MCP is free — one-click install via Unyly at no cost.
Does Filesystem Extended need an API key?
No, Filesystem Extended runs without API keys or environment variables.
Is Filesystem Extended hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Filesystem Extended in Claude Desktop, Claude Code or Cursor?
Open Filesystem Extended on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Filesystem Extended with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
