
BACH FileCommander
io.github.lukischPublished by GitHub account lukischv1.7.0Updated Oct 24, 2026
43 tools for filesystem, process management, sessions, search, OCR, ZIP, and PDF export.
Overview
Gives an assistant broad local filesystem control: reading and editing files, searching content, running shell commands and REPL sessions, archives, OCR, and…
- What you can do
- A local stdio server exposing around 50 tools under the fc_ prefix. It covers file read/write/edit, directory listing, copy, move, delete (with a safe mode that routes deletions to the Recycle Bin or Trash), bounded multi-file content search, background filename search, process listing and termination, shell command execution, interactive REPL sessions, format conversion, JSON and encoding repair, checksums, ZIP archives, OCR, Markdown to HTML/PDF export, and a read-only web fetch tool.
- When to use it
- Useful when an assistant needs to work directly on a local machine: refactoring or auditing code, inspecting and repairing files, running build or test commands, driving interactive REPLs, or converting and exporting documents. It is aimed at developer and agent workflows rather than remote or hosted use.
- Requirements
- Runs locally over stdio, typically via npx from the npm package. Requires Node.js 20 or higher and npm. No accounts, API keys, or environment variables are declared. OCR needs the optional tesseract.js dependency, and Markdown to PDF needs a local Edge or Chrome browser, falling back to HTML otherwise. Desktop only.
Installation
In SourceWeft
- Open BACH FileCommander in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
ellmos FileCommander MCP Server
English | Deutsch | Español | 简体中文 | 日本語 | Русский | Français | हिन्दी | العربية | বাংলা | Português
The README navigation lists the documentation languages available in this repository. FileCommander runtime messages and formatted responses support German (de), English (en), Spanish (es), Chinese (zh), Japanese (ja), Russian (ru), French (fr), Hindi (hi), Arabic (ar), Bengali (bn), and Portuguese (pt). This runtime list is separate from README translation availability. It covers generated runtime messages and formatted tool responses; MCP tool titles, discovery descriptions, and schema descriptions remain static English. Set FC_LANGUAGE to one of the supported codes before starting the server, or call fc_set_language during an active MCP session. fc_get_language reports the active language and all eleven supported codes. Unset or unsupported FC_LANGUAGE values fall back to German (de). Date and time formatting follows the active locale.
Part of the ellmos-ai family.
[License: MIT] [CI] [npm version] [Node.js] [MCP Tools] [Tests] [Security: Explicit Egress] [Security: 48h SLA] [Safe Delete] [Attribution: NOTICE] [Unprivileged RunAsInvoker] [Third-Party Audited] [Level 1 SBOM: Plain Text] [ellmos-ai] [open-bricks] [Discovery: llms.txt] [Last-Checked] [Verified]
Quick Navigation:
- Overview | 2. System Architecture | 3. End-to-End Execution Lifecycle | 4. Core Capabilities & Safety Invariants | 5. Target Personas & Discoverability | 6. Installation & Prerequisites | 7. Configuration & Client Setup | 8. Tools Overview (50 Tools) | 9. Comparative Matrix & Alternatives | 10. Tool Prefix & Naming Convention | 11. Governance & Runtime Invariants | 12. Security Architecture & Tool Risks | 13. Testing, Quality Gates & Verification | 14. Changelog & Versioning | 15. Level 1 SBOM & Third-Party Licenses | 16. History & Evolution | 17. ellmos-ai Ecosystem & Partner Matrix | 18. Statutory Notice (§ 521 BGB) & Liability Disclaimer
| Direct References: 🛡️ Security Policy • 🤝 Contributing • ⚖️ Third-Party Licenses • 📄 Plain Text SBOM • 🤖 LLM Context (llms.txt) • 📋 Canonical Notice |
A comprehensive Model Context Protocol (MCP) server that gives AI assistants full filesystem access, bounded multi-file content search, process management, interactive shell sessions, and async filename search capabilities.
50 tools in a single server - everything an AI agent needs to interact with the local system.
Discovery keywords: local filesystem MCP server, multi-file content search MCP, safe delete MCP, Recycle Bin MCP server, process management MCP, interactive shell MCP, async file search for AI agents, cloud-lock-safe file operations, Markdown to PDF MCP, OCR MCP server, ZIP archive MCP.
Registry status: published on npm, indexed by jsDelivr, visible on LobeHub, listed on Glama, and prepared for the official MCP Registry via server.json. Some third-party directories still show older 43-tool metadata, so the canonical README/npm metadata should remain the source of truth until their reindex catches up.
[!NOTE] For AI Agents & LLM Integrations: FileCommander provides 50 specialized tools accessible via standard stdio transport. All tool names use the
fc_prefix to prevent namespace collisions. For LLMs, compact context and schema overviews are available inllms.txtandserver.json.
Overview & Why FileCommander?
Most filesystem MCP servers only cover basic read/write operations. FileCommander goes further:
- Safe Delete - Moves files to Recycle Bin (Windows) or Trash (macOS/Linux) instead of permanent deletion
- Interactive Sessions - Start and interact with REPLs (Python, Node.js, shells) through the MCP protocol
- Async Search - Search large directory trees in the background while the AI continues working
- Explicit Content Search - Search literal text or regex across a bounded list of files without recursion or glob expansion
- Process Management - List, start, and terminate system processes
- String Replace - Edit files by matching unique strings with context validation
- Format Conversion - Convert between JSON, CSV, INI, YAML, TOML, XML, and TOON
- ZIP Archives - Create, extract, and list ZIP archives
- File Checksums - MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashing with compare
- OCR - Extract text from images (optional tesseract.js dependency)
- Safety Mode - Toggle to route all deletes through Recycle Bin / Trash
- Markdown Export - Convert Markdown to professional HTML/PDF with code blocks, tables, nested lists, blockquotes
- Cloud-Lock Safe - Automatic copy+delete fallback when cloud sync filters (OneDrive, Dropbox, Google Drive, iCloud) block rename operations
- Cloud Lock Diagnosis - Check whether a path is at risk of sync-filter conflicts before operating
- Cross-platform - Works on Windows, macOS, and Linux with platform-specific optimizations
System Architecture
ASCII Four-View Architectural Topology
Component Flow Diagram
End-to-End Execution Lifecycle
Core Capabilities & Safety Invariants
Target Personas & Discoverability
FileCommander is purpose-built and validated for four core developer, agentic, and operations personas:
[PERSONA-01] Autonomous AI Coding Agents & LLM Swarms
- Profile: Multi-agent swarms and standalone agentic runtimes (Claude Code, Antigravity/Gemini, OpenAI Codex, AutoGen, CrewAI) executing recursive code editing, project refactoring, and directory audits.
- Key Operational Pain Points: Rapid context window bloat caused by reading multi-megabyte files, unhandled process crashes from locked files (
EPERM/EBUSY) in cloud-synced folders, and unrecoverable repository corruption from accidentalrm -rfcleanup routines. - FileCommander Solution:
fc_preview_file: Metadata-first inspection with strict 1 MiB inline content ceiling preventing LLM context blowout.fc_search_content: Bounded multi-file search (max 50 files, 10 MB per file, 200 matches) with automatic secret/token redaction.fc_safe_delete&fc_set_safe_mode: Preserves deleted files in OS Recycle Bin / Trash for zero-risk file operations.fc_move&fc_check_cloud_lock: Automatic copy + SHA-256 verify + unlink fallback on file locks, preventing agent failure.
[PERSONA-02] DevOps, Toolchain & Multi-Host Automation Engineers
- Profile: Systems and automation engineers constructing cross-platform CLI tools, CI/CD validation pipelines, and multi-machine sync scripts across Windows, Linux, and macOS.
- Key Operational Pain Points: Heterogeneous operating system semantics (Windows backslashes vs POSIX slashes, line-ending corruption, shell-specific syntax), zombie child processes, and file locking in shared OneDrive/Dropbox workspaces.
- FileCommander Solution:
- Cross-platform unified tool semantics across Windows, Linux, and macOS.
- Stateful interactive REPL sessions (
fc_start_session,fc_send_input,fc_read_output) with bounded circular ring buffers. - Batch file renaming (
fc_batch_rename) and background directory search (fc_start_search,fc_get_search_results). - Process lifecycle management (
fc_execute_command,fc_start_process,fc_kill_process) without process leaks.
[PERSONA-03] SecOps, Governance & Compliance Officers
- Profile: Security officers, compliance auditors, and privacy teams overseeing AI tool integrations in enterprise and production environments.
- Key Operational Pain Points: Undisclosed background telemetry beacons, unvetted network access from local plugins, credential/token leakage into model training or prompt histories, and unprivileged user privilege escalation.
- FileCommander Solution:
- Local stdio transport with strictly zero telemetry and zero open network listening ports.
- Explicit outbound network egress strictly restricted to caller-invoked
fc_web_fetch(internal/private IPs blocked by default). - Automated secret and bearer token masking in search excerpts (
INV-MASK-06). - Strict unprivileged user execution (
INV-PROC-09) and binding 48-hour vulnerability response SLA ([email protected],[email protected]).
[PERSONA-04] Enterprise Platform Architects & Data Pipeline Developers
- Profile: Solutions architects and data engineers integrating local files, normalizing heterogeneous configuration formats, validating cryptographic hashes, and generating reports.
- Key Operational Pain Points: MCP server sprawl requiring 4-6 disparate single-purpose servers, corrupted UTF-8 byte sequences (Mojibake) across tools, and bespoke parsing scripts.
- FileCommander Solution:
- Comprehensive 50-tool single-server deployment eliminating multi-server sprawl and process overhead.
- Lossless declarative conversion across 7 structured formats (
fc_convert_format: JSON, YAML, TOML, XML, CSV, INI, TOON). - Built-in file repair engines (
fc_fix_encoding,fc_fix_json,fc_cleanup_file) for self-healing pipelines. - Cryptographic checksums (
fc_checksum: SHA-256, SHA-512, MD5, SHA-1) and Markdown to PDF/HTML rendering (fc_md_to_pdf,fc_md_to_html).
High-Intent Search Queries & Discoverability Vectors
- Primary Search Queries:
ellmos-filecommander-mcp,FileCommander MCP,filesystem MCP server,multi-file content search MCP,safe delete MCP,async file search MCP,process management MCP,Markdown PDF MCP. - Machine-Readable Metadata: Structured context for AI agents is maintained in
llms.txt,server.json, andglama.json. - Compliance & Attribution: Validated against
THIRD_PARTY_LICENSES.mdandNOTICE.
Installation
Prerequisites
- Node.js 20 or higher
- npm
Option 1: Install from NPM
Option 2: Install from Source
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
If installed globally via NPM:
If installed from source:
Restart Claude Desktop after saving.
Claude Code CLI
Add FileCommander to Claude Code via CLI:
Or configure directly in ~/.claude.json under mcpServers.
Gemini CLI
Merge the following mcpServers entry into ~/.gemini/settings.json for the current user, or .gemini/settings.json in your project. On Windows, ~ is %USERPROFILE%. Preserve other settings and existing servers. See the official Gemini CLI configuration reference.
Antigravity
Merge the same server entry into ~/.gemini/config/mcp_config.json globally, or .agents/mcp_config.json in your workspace. These paths differ from Gemini CLI settings. Preserve existing entries; for the IDE you can also open MCP Servers → Manage MCP Servers → View raw config. See the official Antigravity MCP reference.
Cursor IDE
Add to .cursor/mcp.json:
Other MCP Clients
The server communicates via stdio transport. Point your MCP client to the dist/index.js entry point or the ellmos-filecommander binary.
Tools Overview
Filesystem Operations (15 tools)
fc_preview_file is the remote/headless fallback for local files. Its default call returns structured metadata only: resolved path, file:// URI, MIME type, byte size, preview kind, fixed 1 MiB limit, and the exact follow-up call. Content is read only after include_content=true. Eligible text and raster images use standard MCP text/image content blocks; PDFs use a bounded embedded resource. Files above 1 MiB and unsupported types remain metadata-only and are never read or Base64-encoded by the preview path.
Content Search (1 tool)
fc_search_content never expands globs, traverses directories, or recursively discovers files. It accepts at most 50 explicit UTF-8 text files, skips binary and files over 10 MB, and returns deterministic JSON. Matches are limited to 200 globally and 100 per file, context to 10 lines, excerpts to 500 characters, and serialized output to 200,000 characters. Missing, cloud-only, permission, encoding, binary, and size failures are reported per file so readable files still produce results. Common secret formats are redacted from excerpts.
Async Search (5 tools)
Process Management (5 tools)
fc_open_path accepts only an existing file or directory and sends it to a fixed native default-handler launcher. Its structured result reports launcher_accepted=true|false, always reports user_visible="unknown", and identifies a machine-readable fallback: fc_preview_file with metadata-only arguments for files or fc_list_directory for directories. Launcher acceptance never claims that a GUI became visible. fc_start_process instead lets the caller choose an executable and arguments. fc_execute_command accepts an arbitrary shell command: Node's default shell is used for ordinary commands (COMSPEC/cmd.exe on Windows), while FileCommander's Windows special-character path can route through Windows PowerShell.
Interactive Sessions (5 tools)
File Maintenance & Repair (9 tools)
Archive (1 tool)
OCR (1 tool)
Cloud Sync (1 tool)
System (4 tools)
Export (2 tools)
Web (1 tool)
Total: 50 tools
Comparative Matrix & Alternatives
FileCommander combines filesystem manipulation, bounded search, process control, data repair, format conversion, and document rendering into a single unified MCP interface. Below is an architectural comparison against standard alternatives across 10 key operational dimensions:
Key differentiators:
- Only MCP server with recoverable delete (Recycle Bin / Trash) and global Safety Mode
- Only MCP server with async background search with pagination and token management
- Only MCP server with automated secret & bearer token redaction in search snippets
- Built-in JSON repair, Mojibake encoding fix, and duplicate detection
- Built-in cloud-lock-safe file operations with automatic copy+verify+delete fallback
- Most comprehensive single-server solution (50 tools) eliminating multi-server sprawl
Tool Prefix
All tools use the fc_ prefix (FileCommander) to avoid conflicts with other MCP servers.
Governance & Runtime Invariants
The server enforces 10 strict runtime invariants guaranteeing safety, predictability, and least privilege:
Security
This server has full filesystem access with the running user's permissions.
See SECURITY.md for detailed security information and recommendations.
Key points:
fc_execute_commandruns arbitrary shell commandsfc_open_pathinvokes the operating system's associated application for a caller-selected existing path; that application runs with the user's permissionsfc_open_pathreports launcher acceptance separately from the invariantuser_visible="unknown";fc_preview_fileis the metadata-first remote fallback with an explicit 1 MiB inline-content boundaryfc_start_sessionstarts an arbitrary interactive command, and subsequentfc_send_inputcalls can execute additional actionsfc_delete_*tools perform permanent deletion by default (usefc_safe_deleteor enable safe mode viafc_set_safe_modeto route all deletes through Recycle Bin / Trash)- Safe mode protects only
fc_delete_fileandfc_delete_directory; it does not sandbox commands or interactive sessions - The server transport is local stdio and emits no telemetry, but an explicit
fc_web_fetchcall performs outbound HTTP(S) access - No built-in sandboxing - security is delegated to the MCP client layer
Development
Testing
The project includes 250 Vitest tests plus 71 standalone i18n checks (321 total) covering filesystem operations, metadata-first inline preview, bounded content search, native default-handler launching, format conversion, encoding repair, archive handling, duplicate detection, language packs, tool annotations, real stdio behavior, and security boundaries.
Tests are verified on Windows, macOS, and Linux.
Pushes and pull requests run CI on Node.js 20, 22, and 24 with npm ci, TypeScript build, Vitest, and an npm package dry-run.
See CONTRIBUTING.md for contribution guidelines.
Changelog
See CHANGELOG.md for the full version history.
License & Legal Attribution
MIT - Lukas Geiger (ellmos-ai). See NOTICE for open-bricks umbrella attribution, THIRD_PARTY_LICENSES.md for Level 1 SBOM, and THIRD_PARTY_LICENSES.txt for plain-text SBOM.
History
This project was originally developed as BACH FileCommander (bach-filecommander-mcp). It has been renamed to ellmos FileCommander (ellmos-filecommander-mcp) as part of the ellmos-ai organization.
The legacy package name bach-filecommander-mcp is deprecated. Please use ellmos-filecommander-mcp instead:
ellmos-ai Ecosystem
This MCP server is part of the ellmos-ai ecosystem — AI infrastructure, MCP servers, and intelligent tools.
MCP Server Family
AI Infrastructure
Desktop Software & Sibling Applications
Our partner organization open-bricks and its line organizations provide AI-native desktop applications and developer utilities:
Haftung / Liability
Dieses Projekt ist eine unentgeltliche Open-Source-Schenkung im Sinne der §§ 516 ff. BGB (Gefälligkeitsrecht). Die Haftung des Urhebers und der Mitwirkenden ist gemäß § 521 BGB auf Vorsatz und grobe Fahrlässigkeit beschränkt. Ergänzend gilt der Haftungsausschluss der MIT-Lizenz.
Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie, keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.
Sicherheitsrelevante Vorfälle und Schwachstellen werden über das verbindliche 48-Stunden-SLA unter [email protected] und [email protected] entgegengenommen und innerhalb von 5 Werktagen triagiert.
This project is an unpaid open-source donation under German law (§§ 516 et seq. BGB). Liability is strictly limited to intent and gross negligence (§ 521 German Civil Code). The MIT license disclaimer applies complementarily. Use at your own risk. No warranty, no maintenance guarantee, no fitness-for-purpose assumed.
Security incidents and vulnerabilities are handled under a binding 48-hour response SLA via [email protected] and [email protected] with formal triage within 5 business days.
Source: README.md at commit 2f7fb2b
Tools
0Version history
1- v1.7.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts