MCP Hub
Back to servers

ellmos-filecommander-mcp

A comprehensive MCP server providing 43 tools for filesystem operations, process management, interactive sessions, async file search, JSON repair, encoding fix, duplicate detection, OCR, ZIP archives, and Markdown export

npm88/wk
Updated
Mar 7, 2026

Quick Install

npx -y ellmos-filecommander-mcp

FileCommander banner

BACH FileCommander MCP Server

Part of the ellmos-ai family.

License: MIT npm version Node.js

A comprehensive Model Context Protocol (MCP) server that gives AI assistants full filesystem access, process management, interactive shell sessions, and async file search capabilities.

43 tools in a single server - everything an AI agent needs to interact with the local system.


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
  • 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 - SHA-256, MD5, SHA-1, 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
  • Cross-platform - Works on Windows, macOS, and Linux with platform-specific optimizations

Installation

Prerequisites

Option 1: Install from NPM

npm install -g bach-filecommander-mcp

Option 2: Install from Source

git clone https://github.com/lukisch/bach-filecommander-mcp.git
cd bach-filecommander-mcp
npm install
npm run build

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:

{
  "mcpServers": {
    "filecommander": {
      "command": "bach-filecommander"
    }
  }
}

If installed from source:

{
  "mcpServers": {
    "filecommander": {
      "command": "node",
      "args": ["/absolute/path/to/filecommander-mcp/dist/index.js"]
    }
  }
}

Restart Claude Desktop after saving.

Other MCP Clients

The server communicates via stdio transport. Point your MCP client to the dist/index.js entry point or the bach-filecommander binary.


Tools Overview

Filesystem Operations (14 tools)

ToolDescription
fc_read_fileRead file contents with optional line limit
fc_read_multiple_filesRead up to 20 files in a single call
fc_write_fileWrite/create/append to files
fc_edit_fileLine-based editing (replace, insert, delete lines)
fc_str_replaceReplace a unique string in a file with context validation
fc_list_directoryList directory contents (recursive, configurable depth)
fc_create_directoryCreate directories (including parents)
fc_delete_fileDelete a file (permanent)
fc_delete_directoryDelete a directory (with optional recursive flag)
fc_safe_deleteMove to Recycle Bin / Trash (recoverable!)
fc_moveMove or rename files and directories
fc_copyCopy files and directories
fc_file_infoGet detailed file metadata (size, dates, type)
fc_search_filesSynchronous file search with wildcard patterns

Async Search (5 tools)

ToolDescription
fc_start_searchStart a background search (returns immediately)
fc_get_search_resultsRetrieve results with pagination
fc_stop_searchCancel a running search
fc_list_searchesList all active/completed searches
fc_clear_searchRemove completed searches from memory

Process Management (4 tools)

ToolDescription
fc_execute_commandExecute a shell command (blocking, with timeout)
fc_start_processStart a background process (non-blocking)
fc_list_processesList running system processes
fc_kill_processTerminate a process by PID or name

Interactive Sessions (5 tools)

ToolDescription
fc_start_sessionStart an interactive process (Python, Node, shell...)
fc_read_outputRead session output
fc_send_inputSend input to a running session
fc_list_sessionsList all sessions
fc_close_sessionTerminate a session

File Maintenance & Repair (8 tools)

ToolDescription
fc_fix_jsonRepair broken JSON (BOM, trailing commas, comments, single quotes)
fc_validate_jsonValidate JSON with detailed error position and context
fc_cleanup_fileRemove BOM, NUL bytes, trailing whitespace, normalize line endings
fc_fix_encodingFix Mojibake / double-encoded UTF-8 (27+ character patterns)
fc_folder_diffTrack directory changes with snapshots (new/modified/deleted)
fc_batch_renamePattern-based batch renaming (prefix/suffix, replace, auto-detect)
fc_convert_formatConvert between JSON, CSV, INI, YAML, TOML, XML, and TOON formats
fc_detect_duplicatesFind duplicate files using SHA-256 hashing
fc_checksumFile hashing (MD5, SHA-1, SHA-256, SHA-512) with optional compare

Archive (1 tool)

ToolDescription
fc_archiveCreate, extract, and list ZIP archives

OCR (1 tool)

ToolDescription
fc_ocrExtract text from images via tesseract.js (optional dependency)

System (2 tools)

ToolDescription
fc_get_timeGet current system time with timezone info
fc_set_safe_modeToggle safe mode: all deletes go through Recycle Bin / Trash

Export (2 tools)

ToolDescription
fc_md_to_htmlMarkdown to standalone HTML with CSS styling (headers, code blocks, tables, nested lists, blockquotes, images, checkboxes)
fc_md_to_pdfMarkdown to PDF via headless browser (Edge/Chrome). Falls back to HTML if no browser is available

Total: 43 tools


Comparison with Alternatives

FeatureFileCommanderDesktop CommanderOfficial Filesystem
File read/write/copy/move14 toolsYesYes
Safe delete (Recycle Bin)YesNoNo
Async background search5 toolsNoNo
Interactive sessions (REPL)5 toolsYesNo
Process management4 toolsYesNo
Shell command executionYesYesNo
String replace with validationYesYesNo
Line-based file editingYesNoNo
JSON repair & validation2 toolsNoNo
Encoding fix (Mojibake)YesNoNo
Duplicate detection (SHA-256)YesNoNo
Folder diff / change trackingYesNoNo
Batch rename (pattern-based)YesNoNo
Format conversion (JSON/CSV/INI/YAML/TOML/XML/TOON)YesNoNo
ZIP archive (create/extract/list)YesNoNo
File checksums (SHA-256/MD5)YesNoNo
OCR (image to text)OptionalNoNo
Safety mode (delete → Recycle Bin)YesNoNo
Path allowlist / sandboxingNoNoYes
Excel / PDF supportPDF (via browser)YesNo
HTTP transportNoNoNo
Markdown to HTML/PDF exportYesNoNo
Total tools43~15~11
Servers needed11+ extra for processes

Key differentiators:

  • Only MCP server with recoverable delete (Recycle Bin / Trash)
  • Only MCP server with async background search with pagination
  • Built-in JSON repair, encoding fix, and duplicate detection
  • Most comprehensive single-server solution (43 tools)
  • Built-in safety mode to prevent accidental permanent deletion

Tool Prefix

All tools use the fc_ prefix (FileCommander) to avoid conflicts with other MCP servers.


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_command runs arbitrary shell commands
  • fc_delete_* tools perform permanent deletion by default (use fc_safe_delete or enable safe mode via fc_set_safe_mode to route all deletes through Recycle Bin / Trash)
  • No built-in sandboxing - security is delegated to the MCP client layer
  • Designed for local use via stdio transport only

Development

# Install dependencies
npm install

# Watch mode (auto-rebuild on changes)
npm run dev

# One-time build
npm run build

# Start the server
npm start

See CONTRIBUTING.md for contribution guidelines.


Changelog

See CHANGELOG.md for the full version history.


License

MIT - Lukas (BACH)

Reviews

No reviews yet

Sign in to write a review