ellmos-filecommander-mcp 1.7.10 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [Unreleased]
6
+
7
+ ### Fixed
8
+ - Correct version mismatch in banner/description display (1.7.10 → 1.8.0) and improve OCR `fc_ocr` error handling for edge cases.
9
+
10
+ ### Changed
11
+ - Bump `@modelcontextprotocol/sdk` from 1.27.1 to 1.29.0.
12
+
13
+ ### CI
14
+ - Add a dedicated GitHub Actions test workflow for Node.js 20, 22, and 24. The workflow runs `npm ci`, TypeScript build, Vitest, and an npm package dry-run on pushes and pull requests.
15
+ - Lock `@emnapi/core` and `@emnapi/runtime` as dev dependencies so Linux `npm ci` resolves Vitest/Rolldown optional WASM peer dependencies deterministically.
16
+
17
+ ### Documentation
18
+ - Move the `llms.txt` last-checked marker to the top of the file and normalize search phrases into a crawler-friendly fenced code block.
19
+ - Ignore local automation protocol files via `*-protocoll.txt`.
20
+ - Normalize `package.json` repository metadata to npm's `git+https` form.
21
+
22
+ ## [1.8.0] - 2026-05-31
23
+
24
+ ### Added
25
+ - **Cloud-lock-safe file operations**: `fc_move`, `fc_batch_rename`, and `fc_safe_delete` now automatically fall back to copy+delete when the Windows Cloud Files filter (`cldflt.sys`) or other file locks block `rename()`. Triggered on EPERM, EACCES, EXDEV, and EBUSY errors.
26
+ - **`fc_check_cloud_lock`** — New read-only diagnostic tool that checks whether a path is at risk of cloud-sync lock conflicts. Reports driver status, sync folder detection, and risk level. Windows-only (graceful no-op on macOS/Linux).
27
+ - Empirical cloud-lock test (`test/empirical_cloud_lock.mjs`) using real Windows file locks to verify the fallback path.
28
+ - 7 new unit tests for `cloudSafeRename` helper (143 total tests).
29
+ - Full i18n (DE/EN) for all new features.
30
+ - Total tools: 44
31
+
32
+ ### Changed
33
+ - Include `server.json` in the npm package so official MCP Registry metadata ships with the published artifact.
34
+ - Rename the official registry title from legacy "BACH FileCommander" to "ellmos FileCommander".
35
+ - Update community workflows to `actions/stale@v10` and `actions/first-interaction@v3` with current input names.
36
+ - Refresh README/README_de and `llms.txt` discovery notes for Glama, npm, and the ellmos MCP family.
37
+
5
38
  ## [1.7.10] - 2026-05-23
6
39
 
7
40
  ### Fixed
package/README.md CHANGED
@@ -11,10 +11,15 @@
11
11
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
12
12
  [![npm version](https://img.shields.io/npm/v/ellmos-filecommander-mcp.svg)](https://www.npmjs.com/package/ellmos-filecommander-mcp)
13
13
  [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/)
14
+ [![FileCommander tests](https://github.com/ellmos-ai/ellmos-filecommander-mcp/actions/workflows/tests.yml/badge.svg)](https://github.com/ellmos-ai/ellmos-filecommander-mcp/actions/workflows/tests.yml)
14
15
 
15
16
  A comprehensive **Model Context Protocol (MCP) server** that gives AI assistants full filesystem access, process management, interactive shell sessions, and async file search capabilities.
16
17
 
17
- **43 tools** in a single server - everything an AI agent needs to interact with the local system.
18
+ **44 tools** in a single server - everything an AI agent needs to interact with the local system.
19
+
20
+ **Discovery keywords:** local filesystem MCP server, safe delete MCP, Recycle Bin MCP server, process management MCP, interactive shell MCP, async file search for AI agents, Markdown to PDF MCP, OCR MCP server.
21
+
22
+ **Registry status:** published on [npm](https://www.npmjs.com/package/ellmos-filecommander-mcp), listed on [Glama](https://glama.ai/mcp/servers/eyurifgg4t), and prepared for the official MCP Registry via [`server.json`](server.json). Glama currently indexes the repository metadata but still reports `tools: []`, so a reindex should be triggered after the next npm patch release.
18
23
 
19
24
  ---
20
25
 
@@ -33,6 +38,8 @@ Most filesystem MCP servers only cover basic read/write operations. FileCommande
33
38
  - **OCR** - Extract text from images (optional tesseract.js dependency)
34
39
  - **Safety Mode** - Toggle to route all deletes through Recycle Bin / Trash
35
40
  - **Markdown Export** - Convert Markdown to professional HTML/PDF with code blocks, tables, nested lists, blockquotes
41
+ - **Cloud-Lock Safe** - Automatic copy+delete fallback when cloud sync filters (OneDrive, Dropbox, Google Drive, iCloud) block rename operations
42
+ - **Cloud Lock Diagnosis** - Check whether a path is at risk of sync-filter conflicts before operating
36
43
  - **Cross-platform** - Works on Windows, macOS, and Linux with platform-specific optimizations
37
44
 
38
45
  ---
@@ -119,7 +126,7 @@ The server communicates via **stdio transport**. Point your MCP client to the `d
119
126
  | `fc_delete_file` | Delete a file (permanent) |
120
127
  | `fc_delete_directory` | Delete a directory (with optional recursive flag) |
121
128
  | `fc_safe_delete` | Move to Recycle Bin / Trash (recoverable!) |
122
- | `fc_move` | Move or rename files and directories |
129
+ | `fc_move` | Move or rename files and directories (cloud-lock safe) |
123
130
  | `fc_copy` | Copy files and directories |
124
131
  | `fc_file_info` | Get detailed file metadata (size, dates, type) |
125
132
  | `fc_search_files` | Synchronous file search with wildcard patterns |
@@ -179,6 +186,12 @@ The server communicates via **stdio transport**. Point your MCP client to the `d
179
186
  |------|-------------|
180
187
  | `fc_ocr` | Extract text from images via tesseract.js (optional dependency) |
181
188
 
189
+ ### Cloud Sync (1 tool)
190
+
191
+ | Tool | Description |
192
+ |------|-------------|
193
+ | `fc_check_cloud_lock` | Diagnose whether a path may be blocked by cloud sync filters (Windows) |
194
+
182
195
  ### System (2 tools)
183
196
 
184
197
  | Tool | Description |
@@ -193,7 +206,7 @@ The server communicates via **stdio transport**. Point your MCP client to the `d
193
206
  | `fc_md_to_html` | Markdown to standalone HTML with CSS styling (headers, code blocks, tables, nested lists, blockquotes, images, checkboxes) |
194
207
  | `fc_md_to_pdf` | Markdown to PDF via headless browser (Edge/Chrome). Falls back to HTML if no browser is available |
195
208
 
196
- **Total: 43 tools**
209
+ **Total: 44 tools**
197
210
 
198
211
  ---
199
212
 
@@ -223,14 +236,15 @@ The server communicates via **stdio transport**. Point your MCP client to the `d
223
236
  | Excel / PDF support | PDF (via browser) | Yes | No |
224
237
  | HTTP transport | No | No | No |
225
238
  | Markdown to HTML/PDF export | Yes | No | No |
226
- | **Total tools** | **43** | ~15 | ~11 |
239
+ | **Total tools** | **44** | ~15 | ~11 |
227
240
  | **Servers needed** | **1** | 1 | + extra for processes |
228
241
 
229
242
  **Key differentiators:**
230
243
  - Only MCP server with **recoverable delete** (Recycle Bin / Trash)
231
244
  - Only MCP server with **async background search** with pagination
232
245
  - Built-in **JSON repair**, **encoding fix**, and **duplicate detection**
233
- - Most comprehensive single-server solution (43 tools)
246
+ - Only MCP server with **cloud-lock-safe file operations** (automatic copy+delete fallback)
247
+ - Most comprehensive single-server solution (44 tools)
234
248
  - Built-in **safety mode** to prevent accidental permanent deletion
235
249
 
236
250
  ---
@@ -241,6 +255,19 @@ All tools use the `fc_` prefix (FileCommander) to avoid conflicts with other MCP
241
255
 
242
256
  ---
243
257
 
258
+ ## Discoverability
259
+
260
+ FileCommander is designed to be discoverable by both people and AI agents:
261
+
262
+ - `package.json` exposes the official `mcpName` (`io.github.ellmos-ai/ellmos-filecommander-mcp`) and MCP-specific npm keywords.
263
+ - [`server.json`](server.json) follows the official MCP Registry schema and points to the npm package.
264
+ - [`glama.json`](glama.json) provides MCP-directory metadata for Glama-compatible indexes.
265
+ - [`llms.txt`](llms.txt) gives compact context for LLMs, agent catalogs, and documentation crawlers.
266
+
267
+ Primary search terms: `ellmos-filecommander-mcp`, `FileCommander MCP`, `filesystem MCP server`, `safe delete MCP`, `async file search MCP`, `process management MCP`, `Markdown PDF MCP`.
268
+
269
+ ---
270
+
244
271
  ## Security
245
272
 
246
273
  **This server has full filesystem access with the running user's permissions.**
@@ -276,7 +303,7 @@ npm test
276
303
 
277
304
  ### Testing
278
305
 
279
- The project includes a comprehensive test suite with **136 tests** covering filesystem operations, format conversion, encoding repair, archive handling, duplicate detection, and more.
306
+ The project includes a comprehensive test suite with **143 tests** covering filesystem operations, format conversion, encoding repair, archive handling, duplicate detection, and more.
280
307
 
281
308
  ```bash
282
309
  npm test # Run all tests
@@ -285,6 +312,7 @@ npx vitest --watch # Watch mode
285
312
  ```
286
313
 
287
314
  Tests are verified on **Windows**, **macOS**, and **Linux**.
315
+ 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.
288
316
 
289
317
  See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.
290
318
 
@@ -306,7 +334,7 @@ See [CHANGELOG.md](CHANGELOG.md) for the full version history.
306
334
 
307
335
  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](https://github.com/ellmos-ai) organization.
308
336
 
309
- The legacy package name `bach-filecommander-mcp` is deprecated. Please use [`ellmos-filecommander-mcp`](https://www.npmjs.com/package/ellmos-filecommander-mcp) instead:
337
+ The legacy package name `bach-filecommander-mcp` is deprecated. Please use [`ellmos-filecommander-mcp`](https://www.npmjs.com/package/ellmos-filecommander-mcp) instead:
310
338
 
311
339
  ```bash
312
340
  npm uninstall -g bach-filecommander-mcp
@@ -323,10 +351,13 @@ This MCP server is part of the **[ellmos-ai](https://github.com/ellmos-ai)** eco
323
351
 
324
352
  | Server | Tools | Focus | npm |
325
353
  |--------|-------|-------|-----|
326
- | **[FileCommander](https://github.com/ellmos-ai/ellmos-filecommander-mcp)** | **43** | **Filesystem, process management, interactive sessions** | `ellmos-filecommander-mcp` |
327
- | [CodeCommander](https://github.com/ellmos-ai/ellmos-codecommander-mcp) | 17 | Code analysis, AST parsing, import management | `ellmos-codecommander-mcp` |
328
- | [Clatcher](https://github.com/ellmos-ai/ellmos-clatcher-mcp) | 12 | File repair, format conversion, batch operations | `ellmos-clatcher-mcp` |
329
- | [n8n Manager](https://github.com/ellmos-ai/n8n-manager-mcp) | 18 | n8n workflow management via AI assistants | `n8n-manager-mcp` |
354
+ | **[FileCommander](https://github.com/ellmos-ai/ellmos-filecommander-mcp)** | **44** | **Filesystem, process management, interactive sessions, cloud-lock safe** | **[`ellmos-filecommander-mcp`](https://www.npmjs.com/package/ellmos-filecommander-mcp)** |
355
+ | [CodeCommander](https://github.com/ellmos-ai/ellmos-codecommander-mcp) | 17 | Code analysis, AST parsing, import management | [`ellmos-codecommander-mcp`](https://www.npmjs.com/package/ellmos-codecommander-mcp) |
356
+ | [Clatcher](https://github.com/ellmos-ai/ellmos-clatcher-mcp) | 12 | File repair, format conversion, batch operations | [`ellmos-clatcher-mcp`](https://www.npmjs.com/package/ellmos-clatcher-mcp) |
357
+ | [n8n Manager](https://github.com/ellmos-ai/n8n-manager-mcp) | 18 | n8n workflow management via AI assistants | [`n8n-manager-mcp`](https://www.npmjs.com/package/n8n-manager-mcp) |
358
+ | [ControlCenter](https://github.com/ellmos-ai/ellmos-controlcenter-mcp) | 10 | MCP stack discovery, profile management, control plane | [`ellmos-controlcenter-mcp`](https://www.npmjs.com/package/ellmos-controlcenter-mcp) |
359
+ | [Homebase](https://github.com/ellmos-ai/ellmos-homebase-mcp) | 44 | LLM memory, knowledge, state, routing, and orchestration | [`ellmos-homebase-mcp`](https://www.npmjs.com/package/ellmos-homebase-mcp) (alpha) |
360
+ | [ServerCommander](https://github.com/ellmos-ai/ellmos-servercommander-mcp) | 8 | Server operations: deploy dry-runs, mail, log analysis, health checks | [`ellmos-servercommander-mcp`](https://www.npmjs.com/package/ellmos-servercommander-mcp) (alpha) |
330
361
 
331
362
  ### AI Infrastructure
332
363
 
@@ -348,9 +379,9 @@ Our partner organization **[open-bricks](https://github.com/open-bricks)** bundl
348
379
 
349
380
  ## Haftung / Liability
350
381
 
351
- Dieses Projekt ist eine **unentgeltliche Open-Source-Schenkung** im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß **§ 521 BGB** auf **Vorsatz und grobe Fahrlässigkeit** beschränkt. Ergänzend gelten die Haftungsausschlüsse aus GPL-3.0 / MIT / Apache-2.0 §§ 15–16 (je nach gewählter Lizenz).
382
+ Dieses Projekt ist eine **unentgeltliche Open-Source-Schenkung** im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß **§ 521 BGB** auf **Vorsatz und grobe Fahrlässigkeit** beschränkt. Ergänzend gilt der Haftungsausschluss der MIT-Lizenz.
352
383
 
353
384
  Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie, keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.
354
385
 
355
- This project is an unpaid open-source donation. Liability is limited to intent and gross negligence (§ 521 German Civil Code). Use at your own risk. No warranty, no maintenance guarantee, no fitness-for-purpose assumed.
386
+ This project is an unpaid open-source donation. Liability is limited to intent and gross negligence (§ 521 German Civil Code). The MIT license disclaimer also applies. Use at your own risk. No warranty, no maintenance guarantee, no fitness-for-purpose assumed.
356
387
 
package/README_de.md ADDED
@@ -0,0 +1,375 @@
1
+ <p align="center">
2
+ <img src="assets/filecommander_banner.jpg" alt="FileCommander Banner" width="700">
3
+ </p>
4
+
5
+ # ellmos FileCommander MCP Server
6
+
7
+ **🇬🇧 [English Version](README.md)**
8
+
9
+ *Teil der [ellmos-ai](https://github.com/ellmos-ai) Familie.*
10
+
11
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
12
+ [![npm version](https://img.shields.io/npm/v/ellmos-filecommander-mcp.svg)](https://www.npmjs.com/package/ellmos-filecommander-mcp)
13
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/)
14
+ [![FileCommander tests](https://github.com/ellmos-ai/ellmos-filecommander-mcp/actions/workflows/tests.yml/badge.svg)](https://github.com/ellmos-ai/ellmos-filecommander-mcp/actions/workflows/tests.yml)
15
+
16
+ Ein umfassender **Model Context Protocol (MCP) Server**, der KI-Assistenten vollen Dateisystemzugriff, Prozessverwaltung, interaktive Shell-Sitzungen und asynchrone Dateisuche bietet.
17
+
18
+ **44 Tools** in einem einzigen Server — alles, was ein KI-Agent für die Interaktion mit dem lokalen System braucht.
19
+
20
+ **Discovery-Suchbegriffe:** lokaler Dateisystem-MCP-Server, Safe-Delete-MCP, Papierkorb-MCP-Server, Prozessverwaltungs-MCP, interaktive Shell per MCP, asynchrone Dateisuche für KI-Agenten, Markdown-zu-PDF-MCP, OCR-MCP-Server.
21
+
22
+ **Registry-Status:** auf [npm](https://www.npmjs.com/package/ellmos-filecommander-mcp) veröffentlicht, auf [Glama](https://glama.ai/mcp/servers/eyurifgg4t) gelistet und über [`server.json`](server.json) für die offizielle MCP Registry vorbereitet. Glama indexiert aktuell die Repository-Metadaten, meldet aber noch `tools: []`; nach dem nächsten npm-Patchrelease sollte dort ein Reindex angestoßen werden.
23
+
24
+ ---
25
+
26
+ ## Warum FileCommander?
27
+
28
+ Die meisten Dateisystem-MCP-Server decken nur grundlegende Lese-/Schreiboperationen ab. FileCommander geht weiter:
29
+
30
+ - **Safe Delete** — Verschiebt Dateien in den Papierkorb (Windows) oder Trash (macOS/Linux) statt permanenter Löschung
31
+ - **Interaktive Sitzungen** — REPLs starten und bedienen (Python, Node.js, Shells) über das MCP-Protokoll
32
+ - **Asynchrone Suche** — Große Verzeichnisbäume im Hintergrund durchsuchen, während die KI weiterarbeitet
33
+ - **Prozessverwaltung** — Systemprozesse auflisten, starten und beenden
34
+ - **String Replace** — Dateien bearbeiten durch eindeutigen Stringabgleich mit Kontextvalidierung
35
+ - **Formatkonvertierung** — Konvertierung zwischen JSON, CSV, INI, YAML, TOML, XML und TOON
36
+ - **ZIP-Archive** — ZIP-Archive erstellen, entpacken und auflisten
37
+ - **Prüfsummen** — SHA-256, MD5, SHA-1, SHA-512 Hashing mit Vergleichsfunktion
38
+ - **OCR** — Texterkennung aus Bildern (optionale tesseract.js-Abhängigkeit)
39
+ - **Safety Mode** — Umschalten, damit alle Löschvorgänge über den Papierkorb / Trash laufen
40
+ - **Markdown-Export** — Markdown in professionelles HTML/PDF konvertieren mit Codeblöcken, Tabellen, verschachtelten Listen, Blockzitaten
41
+ - **Cloud-Lock-sicher** — Automatischer copy+delete-Fallback wenn Cloud-Sync-Filter (OneDrive, Dropbox, Google Drive, iCloud) rename-Operationen blockieren
42
+ - **Cloud-Lock-Diagnose** — Prüft ob ein Pfad von Sync-Filter-Konflikten betroffen sein könnte
43
+ - **Plattformübergreifend** — Funktioniert auf Windows, macOS und Linux mit plattformspezifischen Optimierungen
44
+
45
+ ---
46
+
47
+ ## Installation
48
+
49
+ ### Voraussetzungen
50
+
51
+ - [Node.js](https://nodejs.org/) 18 oder höher
52
+ - npm
53
+
54
+ ### Option 1: Installation über NPM
55
+
56
+ ```bash
57
+ npm install -g ellmos-filecommander-mcp
58
+ ```
59
+
60
+ ### Option 2: Installation aus dem Quellcode
61
+
62
+ ```bash
63
+ git clone https://github.com/ellmos-ai/ellmos-filecommander-mcp.git
64
+ cd ellmos-filecommander-mcp
65
+ npm install
66
+ npm run build
67
+ ```
68
+
69
+ ---
70
+
71
+ ## Konfiguration
72
+
73
+ ### Claude Desktop
74
+
75
+ Zur `claude_desktop_config.json` hinzufügen:
76
+
77
+ **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
78
+ **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
79
+
80
+ #### Bei globaler Installation über NPM:
81
+
82
+ ```json
83
+ {
84
+ "mcpServers": {
85
+ "filecommander": {
86
+ "command": "ellmos-filecommander"
87
+ }
88
+ }
89
+ }
90
+ ```
91
+
92
+ #### Bei Installation aus dem Quellcode:
93
+
94
+ ```json
95
+ {
96
+ "mcpServers": {
97
+ "filecommander": {
98
+ "command": "node",
99
+ "args": ["/absolute/path/to/filecommander-mcp/dist/index.js"]
100
+ }
101
+ }
102
+ }
103
+ ```
104
+
105
+ Claude Desktop nach dem Speichern neu starten.
106
+
107
+ ### Andere MCP-Clients
108
+
109
+ Der Server kommuniziert über **stdio transport**. Verweisen Sie Ihren MCP-Client auf den `dist/index.js` Einstiegspunkt oder die `ellmos-filecommander` Binary.
110
+
111
+ ---
112
+
113
+ ## Übersicht der Tools
114
+
115
+ ### Dateisystemoperationen (14 Tools)
116
+
117
+ | Tool | Beschreibung |
118
+ |------|-------------|
119
+ | `fc_read_file` | Dateiinhalt lesen mit optionalem Zeilenlimit |
120
+ | `fc_read_multiple_files` | Bis zu 20 Dateien in einem Aufruf lesen |
121
+ | `fc_write_file` | Dateien schreiben/erstellen/anhängen |
122
+ | `fc_edit_file` | Zeilenbasiertes Bearbeiten (Ersetzen, Einfügen, Löschen) |
123
+ | `fc_str_replace` | Eindeutigen String in einer Datei ersetzen mit Kontextvalidierung |
124
+ | `fc_list_directory` | Verzeichnisinhalt auflisten (rekursiv, konfigurierbare Tiefe) |
125
+ | `fc_create_directory` | Verzeichnisse erstellen (einschließlich Elternverzeichnisse) |
126
+ | `fc_delete_file` | Datei löschen (permanent) |
127
+ | `fc_delete_directory` | Verzeichnis löschen (mit optionalem rekursivem Flag) |
128
+ | `fc_safe_delete` | In Papierkorb / Trash verschieben (wiederherstellbar!) |
129
+ | `fc_move` | Dateien und Verzeichnisse verschieben oder umbenennen (Cloud-Lock-sicher) |
130
+ | `fc_copy` | Dateien und Verzeichnisse kopieren |
131
+ | `fc_file_info` | Detaillierte Dateimetadaten abrufen (Größe, Daten, Typ) |
132
+ | `fc_search_files` | Synchrone Dateisuche mit Wildcard-Mustern |
133
+
134
+ ### Asynchrone Suche (5 Tools)
135
+
136
+ | Tool | Beschreibung |
137
+ |------|-------------|
138
+ | `fc_start_search` | Hintergrundsuche starten (kehrt sofort zurück) |
139
+ | `fc_get_search_results` | Ergebnisse mit Paginierung abrufen |
140
+ | `fc_stop_search` | Laufende Suche abbrechen |
141
+ | `fc_list_searches` | Alle aktiven/abgeschlossenen Suchen auflisten |
142
+ | `fc_clear_search` | Abgeschlossene Suchen aus dem Speicher entfernen |
143
+
144
+ ### Prozessverwaltung (4 Tools)
145
+
146
+ | Tool | Beschreibung |
147
+ |------|-------------|
148
+ | `fc_execute_command` | Shell-Befehl ausführen (blockierend, mit Timeout) |
149
+ | `fc_start_process` | Hintergrundprozess starten (nicht-blockierend) |
150
+ | `fc_list_processes` | Laufende Systemprozesse auflisten |
151
+ | `fc_kill_process` | Prozess nach PID oder Name beenden |
152
+
153
+ ### Interaktive Sitzungen (5 Tools)
154
+
155
+ | Tool | Beschreibung |
156
+ |------|-------------|
157
+ | `fc_start_session` | Interaktiven Prozess starten (Python, Node, Shell...) |
158
+ | `fc_read_output` | Sitzungsausgabe lesen |
159
+ | `fc_send_input` | Eingabe an laufende Sitzung senden |
160
+ | `fc_list_sessions` | Alle Sitzungen auflisten |
161
+ | `fc_close_session` | Sitzung beenden |
162
+
163
+ ### Dateiwartung & Reparatur (9 Tools)
164
+
165
+ | Tool | Beschreibung |
166
+ |------|-------------|
167
+ | `fc_fix_json` | Defektes JSON reparieren (BOM, nachgestellte Kommas, Kommentare, einfache Anführungszeichen) |
168
+ | `fc_validate_json` | JSON validieren mit detaillierter Fehlerposition und Kontext |
169
+ | `fc_cleanup_file` | BOM, NUL-Bytes, nachgestellte Leerzeichen entfernen, Zeilenenden normalisieren |
170
+ | `fc_fix_encoding` | Mojibake / doppelt kodiertes UTF-8 reparieren (27+ Zeichenmuster) |
171
+ | `fc_folder_diff` | Verzeichnisänderungen mit Snapshots verfolgen (neu/geändert/gelöscht) |
172
+ | `fc_batch_rename` | Musterbasierte Massenumbenennung (Präfix/Suffix, Ersetzen, Auto-Erkennung) |
173
+ | `fc_convert_format` | Konvertierung zwischen JSON, CSV, INI, YAML, TOML, XML und TOON |
174
+ | `fc_detect_duplicates` | Doppelte Dateien mittels SHA-256-Hashing finden |
175
+ | `fc_checksum` | Datei-Hashing (MD5, SHA-1, SHA-256, SHA-512) mit optionalem Vergleich |
176
+
177
+ ### Archiv (1 Tool)
178
+
179
+ | Tool | Beschreibung |
180
+ |------|-------------|
181
+ | `fc_archive` | ZIP-Archive erstellen, entpacken und auflisten |
182
+
183
+ ### OCR (1 Tool)
184
+
185
+ | Tool | Beschreibung |
186
+ |------|-------------|
187
+ | `fc_ocr` | Texterkennung aus Bildern über tesseract.js (optionale Abhängigkeit) |
188
+
189
+ ### Cloud Sync (1 Tool)
190
+
191
+ | Tool | Beschreibung |
192
+ |------|-------------|
193
+ | `fc_check_cloud_lock` | Diagnose ob ein Pfad von Cloud-Sync-Filtern blockiert werden könnte (Windows) |
194
+
195
+ ### System (2 Tools)
196
+
197
+ | Tool | Beschreibung |
198
+ |------|-------------|
199
+ | `fc_get_time` | Aktuelle Systemzeit mit Zeitzoneninformation abrufen |
200
+ | `fc_set_safe_mode` | Safety Mode umschalten: alle Löschvorgänge über Papierkorb / Trash |
201
+
202
+ ### Export (2 Tools)
203
+
204
+ | Tool | Beschreibung |
205
+ |------|-------------|
206
+ | `fc_md_to_html` | Markdown zu eigenständigem HTML mit CSS-Styling (Überschriften, Codeblöcke, Tabellen, verschachtelte Listen, Blockzitate, Bilder, Checkboxen) |
207
+ | `fc_md_to_pdf` | Markdown zu PDF über Headless-Browser (Edge/Chrome). Fällt auf HTML zurück, wenn kein Browser verfügbar ist |
208
+
209
+ **Gesamt: 44 Tools**
210
+
211
+ ---
212
+
213
+ ## Vergleich mit Alternativen
214
+
215
+ | Feature | FileCommander | [Desktop Commander](https://github.com/wonderwhy-er/DesktopCommanderMCP) | [Official Filesystem](https://www.npmjs.com/package/@modelcontextprotocol/server-filesystem) |
216
+ |---------|:---:|:---:|:---:|
217
+ | Dateien lesen/schreiben/kopieren/verschieben | 14 Tools | Ja | Ja |
218
+ | Safe Delete (Papierkorb) | Ja | Nein | Nein |
219
+ | Asynchrone Hintergrundsuche | 5 Tools | Nein | Nein |
220
+ | Interaktive Sitzungen (REPL) | 5 Tools | Ja | Nein |
221
+ | Prozessverwaltung | 4 Tools | Ja | Nein |
222
+ | Shell-Befehlsausführung | Ja | Ja | Nein |
223
+ | String Replace mit Validierung | Ja | Ja | Nein |
224
+ | Zeilenbasierte Dateibearbeitung | Ja | Nein | Nein |
225
+ | JSON-Reparatur & Validierung | 2 Tools | Nein | Nein |
226
+ | Encoding-Reparatur (Mojibake) | Ja | Nein | Nein |
227
+ | Duplikaterkennung (SHA-256) | Ja | Nein | Nein |
228
+ | Verzeichnis-Diff / Änderungsverfolgung | Ja | Nein | Nein |
229
+ | Massenumbenennung (musterbasiert) | Ja | Nein | Nein |
230
+ | Formatkonvertierung (JSON/CSV/INI/YAML/TOML/XML/TOON) | Ja | Nein | Nein |
231
+ | ZIP-Archiv (erstellen/entpacken/auflisten) | Ja | Nein | Nein |
232
+ | Datei-Prüfsummen (SHA-256/MD5) | Ja | Nein | Nein |
233
+ | OCR (Bild zu Text) | Optional | Nein | Nein |
234
+ | Safety Mode (Löschen → Papierkorb) | Ja | Nein | Nein |
235
+ | Pfad-Allowlist / Sandboxing | Nein | Nein | Ja |
236
+ | Excel / PDF-Unterstützung | PDF (über Browser) | Ja | Nein |
237
+ | HTTP Transport | Nein | Nein | Nein |
238
+ | Markdown zu HTML/PDF Export | Ja | Nein | Nein |
239
+ | **Tools gesamt** | **44** | ~15 | ~11 |
240
+ | **Benötigte Server** | **1** | 1 | + extra für Prozesse |
241
+
242
+ **Hauptunterscheidungsmerkmale:**
243
+ - Einziger MCP-Server mit **wiederherstellbarem Löschen** (Papierkorb / Trash)
244
+ - Einziger MCP-Server mit **asynchroner Hintergrundsuche** mit Paginierung
245
+ - Integrierte **JSON-Reparatur**, **Encoding-Korrektur** und **Duplikaterkennung**
246
+ - Einziger MCP-Server mit **Cloud-Lock-sicheren Dateioperationen** (automatischer copy+delete-Fallback)
247
+ - Umfassendste Einzelserver-Lösung (44 Tools)
248
+ - Integrierter **Safety Mode** zur Vermeidung versehentlicher permanenter Löschungen
249
+
250
+ ---
251
+
252
+ ## Tool-Präfix
253
+
254
+ Alle Tools verwenden das `fc_`-Präfix (FileCommander), um Konflikte mit anderen MCP-Servern zu vermeiden.
255
+
256
+ ---
257
+
258
+ ## Auffindbarkeit
259
+
260
+ FileCommander ist so dokumentiert, dass Menschen, LLMs und MCP-Verzeichnisse ihn eindeutig einordnen können:
261
+
262
+ - `package.json` enthält den offiziellen `mcpName` (`io.github.ellmos-ai/ellmos-filecommander-mcp`) und MCP-spezifische npm-Keywords.
263
+ - [`server.json`](server.json) folgt dem offiziellen MCP-Registry-Schema und verweist auf das npm-Paket.
264
+ - [`glama.json`](glama.json) liefert Metadaten für Glama-kompatible MCP-Verzeichnisse.
265
+ - [`llms.txt`](llms.txt) bietet kompakten Kontext für LLMs, Agentenkataloge und Dokumentations-Crawler.
266
+
267
+ Primäre Suchbegriffe: `ellmos-filecommander-mcp`, `FileCommander MCP`, `filesystem MCP server`, `safe delete MCP`, `async file search MCP`, `process management MCP`, `Markdown PDF MCP`.
268
+
269
+ ---
270
+
271
+ ## Sicherheit
272
+
273
+ **Dieser Server hat vollen Dateisystemzugriff mit den Berechtigungen des ausführenden Benutzers.**
274
+
275
+ Siehe [SECURITY.md](SECURITY.md) für detaillierte Sicherheitsinformationen und Empfehlungen.
276
+
277
+ Wichtige Punkte:
278
+ - `fc_execute_command` führt beliebige Shell-Befehle aus
279
+ - `fc_delete_*` Tools löschen standardmäßig permanent (verwenden Sie `fc_safe_delete` oder aktivieren Sie den **Safety Mode** über `fc_set_safe_mode`, um alle Löschvorgänge über den Papierkorb / Trash zu leiten)
280
+ - Kein eingebautes Sandboxing — die Sicherheit wird an die MCP-Client-Schicht delegiert
281
+ - Ausschließlich für lokale Nutzung über stdio transport konzipiert
282
+
283
+ ---
284
+
285
+ ## Entwicklung
286
+
287
+ ```bash
288
+ # Abhängigkeiten installieren
289
+ npm install
290
+
291
+ # Watch-Modus (automatischer Rebuild bei Änderungen)
292
+ npm run dev
293
+
294
+ # Einmaliger Build
295
+ npm run build
296
+
297
+ # Server starten
298
+ npm start
299
+
300
+ # Tests ausführen
301
+ npm test
302
+ ```
303
+
304
+ ### Tests
305
+
306
+ Das Projekt enthält eine umfassende Test-Suite mit **143 Tests** für Dateisystem-Operationen, Format-Konvertierung, Encoding-Reparatur, Archiv-Handling, Duplikat-Erkennung und mehr.
307
+
308
+ ```bash
309
+ npm test # Alle Tests ausführen
310
+ npx vitest --watch # Watch-Modus
311
+ ```
312
+
313
+ Tests sind auf **Windows**, **macOS** und **Linux** verifiziert.
314
+ Pushes und Pull Requests laufen in CI auf Node.js **20**, **22** und **24** mit `npm ci`, TypeScript-Build, Vitest und npm-Paket-Dry-Run.
315
+
316
+ Siehe [CONTRIBUTING.md](CONTRIBUTING.md) für Richtlinien zur Mitwirkung.
317
+
318
+ ---
319
+
320
+ ## Änderungsprotokoll
321
+
322
+ Siehe [CHANGELOG.md](CHANGELOG.md) für die vollständige Versionshistorie.
323
+
324
+ ---
325
+
326
+ ## Lizenz
327
+
328
+ [MIT](LICENSE) — Lukas Geiger ([ellmos-ai](https://github.com/ellmos-ai))
329
+
330
+ ---
331
+
332
+ ## Geschichte
333
+
334
+ Dieses Projekt wurde ursprünglich als **BACH FileCommander** (`bach-filecommander-mcp`) entwickelt. Es wurde im Rahmen der [ellmos-ai](https://github.com/ellmos-ai) Organisation in **ellmos FileCommander** (`ellmos-filecommander-mcp`) umbenannt.
335
+
336
+ Der alte Paketname `bach-filecommander-mcp` ist veraltet. Bitte verwenden Sie stattdessen [`ellmos-filecommander-mcp`](https://www.npmjs.com/package/ellmos-filecommander-mcp):
337
+
338
+ ```bash
339
+ npm uninstall -g bach-filecommander-mcp
340
+ npm install -g ellmos-filecommander-mcp
341
+ ```
342
+
343
+ ---
344
+
345
+ ## ellmos-ai-Ökosystem
346
+
347
+ Dieser MCP-Server ist Teil des **[ellmos-ai](https://github.com/ellmos-ai)**-Ökosystems: KI-Infrastruktur, MCP-Server und intelligente Werkzeuge.
348
+
349
+ ### MCP-Server-Familie
350
+
351
+ | Server | Tools | Fokus | npm |
352
+ |--------|-------|-------|-----|
353
+ | **[FileCommander](https://github.com/ellmos-ai/ellmos-filecommander-mcp)** | **44** | **Dateisystem, Prozessverwaltung, interaktive Sitzungen, Cloud-Lock-sicher** | **[`ellmos-filecommander-mcp`](https://www.npmjs.com/package/ellmos-filecommander-mcp)** |
354
+ | [CodeCommander](https://github.com/ellmos-ai/ellmos-codecommander-mcp) | 17 | Code-Analyse, AST-Parsing, Import-Verwaltung | [`ellmos-codecommander-mcp`](https://www.npmjs.com/package/ellmos-codecommander-mcp) |
355
+ | [Clatcher](https://github.com/ellmos-ai/ellmos-clatcher-mcp) | 12 | Dateireparatur, Formatkonvertierung, Batch-Operationen | [`ellmos-clatcher-mcp`](https://www.npmjs.com/package/ellmos-clatcher-mcp) |
356
+ | [n8n Manager](https://github.com/ellmos-ai/n8n-manager-mcp) | 18 | n8n-Workflow-Verwaltung über KI-Assistenten | [`n8n-manager-mcp`](https://www.npmjs.com/package/n8n-manager-mcp) |
357
+ | [ControlCenter](https://github.com/ellmos-ai/ellmos-controlcenter-mcp) | 10 | MCP-Stack-Discovery, Profilverwaltung, Control Plane | [`ellmos-controlcenter-mcp`](https://www.npmjs.com/package/ellmos-controlcenter-mcp) |
358
+ | [Homebase](https://github.com/ellmos-ai/ellmos-homebase-mcp) | 44 | LLM-Gedächtnis, Wissensbasis, Zustand, Routing und Orchestrierung | [`ellmos-homebase-mcp`](https://www.npmjs.com/package/ellmos-homebase-mcp) (alpha) |
359
+ | [ServerCommander](https://github.com/ellmos-ai/ellmos-servercommander-mcp) | 8 | Server-Operationen: Deploy-Dry-Runs, Mail, Log-Analyse, Health-Checks | [`ellmos-servercommander-mcp`](https://www.npmjs.com/package/ellmos-servercommander-mcp) (alpha) |
360
+
361
+ ### KI-Infrastruktur
362
+
363
+ | Projekt | Beschreibung |
364
+ |---------|-------------|
365
+ | [BACH](https://github.com/ellmos-ai/bach) | Textbasiertes Betriebssystem für LLMs: Handler, Tools und Skills |
366
+ | [clutch](https://github.com/ellmos-ai/clutch) | Provider-neutrale LLM-Orchestrierung mit Auto-Routing und Budget-Tracking |
367
+ | [rinnsal](https://github.com/ellmos-ai/rinnsal) | Leichte Agent-Memory-, Connector- und Automatisierungsinfrastruktur |
368
+ | [ellmos-stack](https://github.com/ellmos-ai/ellmos-stack) | Self-hosted AI Research Stack |
369
+ | [MarbleRun](https://github.com/ellmos-ai/MarbleRun) | Autonomes Agent-Chain-Framework für Claude Code |
370
+ | [gardener](https://github.com/ellmos-ai/gardener) | Minimalistischer datenbankgetriebener LLM-OS-Prototyp |
371
+ | [ellmos-tests](https://github.com/ellmos-ai/ellmos-tests) | Testframework für LLM-Betriebssysteme |
372
+
373
+ ### Desktop-Software
374
+
375
+ Unsere Partnerorganisation **[open-bricks](https://github.com/open-bricks)** bündelt KI-native Desktop-Anwendungen: eine moderne Open-Source-Softwaresuite für Datei-, Dokumenten- und Entwicklerwerkzeuge.
@@ -1 +1 @@
1
- {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,EAAE,EAAE,YAwdhB,CAAC"}
1
+ {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,EAAE,EAAE,YA2ehB,CAAC"}
package/dist/i18n/de.js CHANGED
@@ -54,6 +54,7 @@ export const de = {
54
54
  // ==================== fc_move ====================
55
55
  fc_move: {
56
56
  moved: (source, dest) => `\u2705 Verschoben:\n \uD83D\uDCE4 ${source}\n \uD83D\uDCE5 ${dest}`,
57
+ movedViaFallback: (source, dest) => `\u2705 Verschoben (via copy+delete, Cloud-Lock umgangen):\n \uD83D\uDCE4 ${source}\n \uD83D\uDCE5 ${dest}`,
57
58
  moveError: (msg) => `\u274C Fehler beim Verschieben: ${msg}`,
58
59
  },
59
60
  // ==================== fc_copy ====================
@@ -421,6 +422,23 @@ export const de = {
421
422
  disabled: '\u26A0\uFE0F **Safe Mode deaktiviert.** L\u00f6schoperationen sind jetzt permanent.',
422
423
  redirected: (originalAction) => `\uD83D\uDEE1\uFE0F Safe Mode aktiv: ${originalAction} wurde in den Papierkorb umgeleitet.`,
423
424
  },
425
+ // ==================== fc_check_cloud_lock ====================
426
+ fc_check_cloud_lock: {
427
+ description: 'Pr\u00FCft ob ein Pfad von einem Cloud-Sync-Filter (cldflt.sys) blockiert werden k\u00F6nnte. Nur auf Windows relevant.',
428
+ notApplicable: '\u2139\uFE0F Cloud-Lock-Pr\u00FCfung ist nur auf Windows relevant. Auf diesem System nicht anwendbar.',
429
+ header: (p) => `\u2601\uFE0F **Cloud-Lock-Diagnose: ${p}**`,
430
+ labelDriver: 'cldflt.sys Treiber',
431
+ driverActive: '\uD83D\uDFE1 Aktiv (geladen)',
432
+ driverInactive: '\uD83D\uDFE2 Nicht geladen',
433
+ labelInSyncFolder: 'In Sync-Ordner',
434
+ notInSyncFolder: '\u2014 Nein',
435
+ labelRisk: 'Lock-Risiko',
436
+ riskHigh: '\uD83D\uDD34 Hoch \u2014 rename-Operationen k\u00F6nnen blockiert werden',
437
+ riskMedium: '\uD83D\uDFE1 Mittel \u2014 Teilbedingung erf\u00FCllt',
438
+ riskLow: '\uD83D\uDFE2 Niedrig \u2014 kein Cloud-Sync-Konflikt erwartet',
439
+ advice: '\uD83D\uDCA1 fc_move nutzt automatisch einen copy+delete-Fallback wenn der Cloud-Filter blockiert.',
440
+ checkError: (msg) => `\u274C Fehler bei Cloud-Lock-Pr\u00FCfung: ${msg}`,
441
+ },
424
442
  // ==================== Server ====================
425
443
  server: {
426
444
  started: '\uD83D\uDE80 BACH FileCommander MCP Server gestartet',