ellmos FileCommander について
ellmos FileCommanderは、AIクライアントにローカルファイル、検索、プロセス、対話セッション、アーカイブ用のツールを提供するMCPサーバーです。範囲を限定した検索、ごみ箱を使う削除、明示的なネット取得により、システム操作を安全に進められます。
主な機能
- 01ファイル操作とメタデータプレビュー
- 02秘密情報を伏せる範囲指定コンテンツ検索
- 03プロセス管理と対話セッション
- 04システムのごみ箱を使った安全な削除
- 05形式変換、アーカイブ、OCR、チェックサム
- 06クラウドロックを考慮した移動と診断
活用シーン
- 01AIクライアントでプロジェクトファイルを確認・編集する
- 02結果数を制限し認証情報を伏せて指定ファイルを検索する
- 03対話型シェルやREPLセッションを実行する
- 04復元やクラウドロックへの対策を伴ってファイルを移動・削除する
MCP 対応
ローカルstdioトランスポート経由で、`fc_`プレフィックス付きの50個のツールをMCPクライアントに公開します。ファイル操作、検索、プロセス管理、セッションなどを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
46掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | はい | ファイルのフルパス |
| encoding | string | いいえ | 文字エンコーディング |
| max_lines | integer | いいえ | 最大行数(0 = すべて) |
詳細
ellmos FileCommander MCP サーバー
🇩🇪 ドイツ語版
ellmos-ai ファミリーの一員です。
クイックナビゲーション:
- 概要 | 2. システムアーキテクチャ | 3. エンドツーエンドの実行ライフサイクル | 4. 主な機能と安全性の不変条件 | 5. 対象ユーザーと見つけやすさ | 6. インストールと前提条件 | 7. 設定とクライアントのセットアップ | 8. ツールの概要(50 個のツール) | 9. 比較マトリクスと代替手段 | 10. ツールのプレフィックスと命名規則 | 11. ガバナンスとランタイムの不変条件 | 12. セキュリティアーキテクチャとツールのリスク | 13. テスト、品質ゲート、検証 | 14. 変更履歴とバージョニング | 15. レベル 1 SBOM とサードパーティライセンス | 16. 沿革と進化 | 17. ellmos-ai エコシステムとパートナーマトリクス | 18. 法定通知(§ 521 BGB)と責任に関する免責事項
| 直接参照: 🛡️ セキュリティポリシー • 🤝 貢献 • ⚖️ サードパーティライセンス • 📄 プレーンテキスト SBOM • 📜 マーケティングログ • 🤖 LLM コンテキスト(llms.txt) • 📋 正式な通知 |
AI アシスタントに、ファイルシステムへの完全なアクセス、範囲を限定した複数ファイルのコンテンツ検索、プロセス管理、対話型シェルセッション、非同期のファイル名検索機能を提供する、包括的な Model Context Protocol(MCP)サーバーです。
1 つのサーバーに 50 個のツールを搭載。AI エージェントがローカルシステムとやり取りするために必要な機能をすべて備えています。 検出キーワード: ローカルファイルシステム MCP サーバー、複数ファイルコンテンツ検索 MCP、安全な削除 MCP、ごみ箱 MCP サーバー、プロセス管理 MCP、対話型シェル MCP、AI エージェント向け非同期ファイル検索、クラウドロックに安全なファイル操作、Markdown から PDF への変換 MCP、OCR MCP サーバー、ZIP アーカイブ MCP。
レジストリの状況: npm で公開され、jsDelivr にインデックスされ、LobeHub で公開され、Glama に掲載されており、server.json を通じて公式 MCP Registry への登録準備が整っています。一部のサードパーティディレクトリには、まだ古い 43 ツールのメタデータが表示されているため、再インデックスが追いつくまでは、正規の情報源として README と npm のメタデータを参照してください。
メモ
AI エージェントと LLM との統合について: FileCommander では、標準の stdio トランスポートを介して 50 個の特化ツールを利用できます。すべてのツール名には、名前空間の衝突を防ぐために
fc_プレフィックスが付いています。LLM 向けの簡潔なコンテキストとスキーマの概要は、llms.txtとserver.jsonで確認できます。
概要と FileCommander を選ぶ理由
ほとんどのファイルシステム MCP サーバーが対応するのは、基本的な読み取り/書き込み操作だけです。FileCommander は、さらに幅広い機能を提供します。
- 安全な削除 - ファイルを完全に削除する代わりに、ごみ箱(Windows)またはゴミ箱(macOS/Linux)に移動します
- 対話型セッション - MCP プロトコルを通じて、REPL(Python、Node.js、シェル)を起動して操作できます
- 非同期検索 - AI が作業を続けている間に、大規模なディレクトリツリーをバックグラウンドで検索します
- 明示的なコンテンツ検索 - 再帰検索や glob 展開を行わず、指定範囲内のファイル一覧からリテラルテキストまたは正規表現を検索します
- プロセス管理 - システムプロセスの一覧表示、起動、終了ができます
- 文字列置換 - コンテキストを検証しながら、一意の文字列を照合してファイルを編集します
- 形式変換 - JSON、CSV、INI、YAML、TOML、XML、TOON 間で変換します
- ZIP アーカイブ - ZIP アーカイブの作成、展開、一覧表示ができます
- ファイルチェックサム - MD5、SHA-1、SHA-256、SHA-384、SHA-512 のハッシュ計算と比較に対応します
- OCR - 画像からテキストを抽出します(オプションの tesseract.js 依存関係が必要です)
- 安全モード - すべての削除を、ごみ箱に移動するように切り替えます
- Markdown エクスポート - コードブロック、表、入れ子のリスト、引用ブロックを含む Markdown を、見栄えのよい HTML/PDF に変換します
- クラウドロックに安全 - クラウド同期フィルター(OneDrive、Dropbox、Google Drive、iCloud)が名前変更操作をブロックした場合、自動的にコピーと削除に切り替えます
- クラウドロック診断 - 操作前に、パスが同期フィルターとの競合の影響を受けるおそれがあるかを確認します
- クロスプラットフォーム - プラットフォームごとの最適化により、Windows、macOS、Linux で動作します
システムアーキテクチャ
ASCII による 4 ビューのアーキテクチャトポロジー
+--------------------------------------------------------------------------------------------------+
| ELLMOS FILECOMMANDER MCP ARCHITECTURAL TOPOLOGY |
+--------------------------------------------------------------------------------------------------+
| [VIEW 1: CALLER RUNTIMES & AGENT CLIENTS] |
| * Autonomous Agents : Claude Code, OpenAI Codex, Antigravity / Gemini, Kimi, Cursor |
| * Agent Frameworks : AutoGen, CrewAI, LangChain, LlamaIndex, Custom Python / TS Clients |
| * Transport Protocols : Model Context Protocol (MCP stdio), JSON-RPC 2.0 Framing |
| * Tool Surface : 50 Unified Specialized Tools (fc_* namespace collision isolation) |
| * Schema Contract : Stdio transport, dynamic runtime i18n parameter parsing (Zod validated)|
+--------------------------------------------------------------------------------------------------+
| | |
| v |
+--------------------------------------------------------------------------------------------------+
| [VIEW 2: FILECOMMANDER MCP CORE ENGINE & DISPATCH ORCHESTRATOR] |
| * Protocol Dispatch : ESM stdio router with Zod schema validation & parameter checking |
| * Multilingual Core : 6-language dynamic runtime i18n (de, en, es, zh, ja, ru) engine |
| * Safety Interceptor : Global Safety Mode (fc_set_safe_mode) routing deletes to Recycle Bin |
| * Sync Diagnostics : Reparse point detection & cloud filter diagnostics (fc_check_cloud_lock)|
| * Process Supervisor : Bounded child process lifecycle management & interactive REPL session |
| state registry with circular ring buffers |
+--------------------------------------------------------------------------------------------------+
| | |
| v |
+--------------------------------------------------------------------------------------------------+
| [VIEW 3: FILESYSTEM RUNTIME, FORMAT REPAIR & PROCESS ISOLATION] |
| * Atomic File Ops : Read, write, line edit, exact literal string replacement (fc_str_replace)|
| * Cloud-Lock Fallback : Automatic copyFileSync + SHA-256 verify + unlinkSync on EPERM / EBUSY |
| * Bounded Inspection : Metadata-first preview (fc_preview_file, 1 MiB inline content ceiling) |
| * Bounded Content Srch: max 50 explicit files, 10 MB ceiling, token redaction (INV-MASK-06) |
| * Self-Healing Repair : Mojibake repair (27+ UTF-8 patterns), JSON syntax fix, file cleanup |
| * Lossless Converter : Declarative transformation across 7 formats (JSON, YAML, TOML, XML...) |
| * Media & Documents : Headless Markdown to PDF/HTML, ZIP archive engine, optional OCR (Tess) |
+--------------------------------------------------------------------------------------------------+
| | |
| v |
+--------------------------------------------------------------------------------------------------+
| [VIEW 4: AIR-GAP DEFENSE PERIMETER, RUNASINVOKER & CONTROLLED EGRESS] |
| * Execution Privilege : RunAsInvoker unprivileged user-mode (Zero administrative elevation) |
| * Transport Boundary : 100% Local stdio transport, zero telemetry, zero open listening ports |
| * Controlled Egress : Outbound HTTP(S) strictly gated through caller-invoked fc_web_fetch |
| * Network Safety : SSRF guard blocking private/internal IP ranges (allow_private override) |
| * Governance & Supply : Level 1 SBOM, 100% permissive runtime (MIT/BSD), 48h Security SLA |
+--------------------------------------------------------------------------------------------------+
コンポーネントフロー図
flowchart TD
subgraph Client["MCP Client Layer"]
Claude["Claude Desktop / Claude Code"]
Custom["Custom LLM Agents / Frameworks"]
end
subgraph Transport["Transport Layer"]
Stdio["Stdio Transport (JSON-RPC)"]
end
subgraph Core["ellmos FileCommander Engine (50 Tools)"]
FS["Filesystem Engine\n(15 tools: read, bounded preview, write, edit, safe-delete, cloud-lock safe)"]
Search["Search Engine\n(6 tools: explicit content search plus 5 async filename-search tools)"]
Proc["Process & REPL Sessions\n(10 tools: exec, default-app opening, background proc, interactive REPLs)"]
Repair["Repair & Format Converter\n(9 tools: JSON fix, Mojibake fix, duplicates, format convert, checksum)"]
Export["Export & Web Fetch\n(3 tools: Markdown->HTML/PDF, web_fetch)"]
Sys["System, Utilities & i18n\n(7 tools: OCR, ZIP, cloud-lock check, safe-mode, time, language set/get)"]
end
Client -->|JSON-RPC| Stdio
Stdio --> Core
Core --> FS
Core --> Search
Core --> Proc
Core --> Repair
Core --> Export
Core --> Sys
エンドツーエンドの実行ライフサイクル
sequenceDiagram
autonumber
participant AI as AI Assistant (Client)
participant FC as FileCommander Engine
participant FS as Host Filesystem
participant Trash as Recycle Bin / Trash
participant Cloud as Cloud Sync Filter
Note over AI,FC: 1. Safe Deletion & Recovery Protection
AI->>FC: fc_delete_file / fc_safe_delete(targetPath)
alt Safety Mode Active or fc_safe_delete invoked
FC->>Trash: Move item to Recycle Bin / Trash
Trash-->>FC: Moved safely (recoverable)
FC-->>AI: Success (item preserved in Trash/Recycle Bin)
else Permanent Unlink requested
FC->>FS: Direct unlink
FS-->>FC: Removed permanently
FC-->>AI: Success
end
Note over AI,Cloud: 2. Resilient Cloud-Lock Handling (OneDrive/Dropbox)
AI->>FC: fc_move(sourcePath, destPath)
alt Cloud Filter Locks Destination
FC->>Cloud: Attempt standard rename
Cloud-->>FC: EPERM / EBUSY (Cloud Filter Error)
FC->>FS: Fallback: copyFileSync + SHA-256 verify
FC->>FS: unlinkSync source
FC-->>AI: Move succeeded via resilient fallback
else Local Native Filesystem
FC->>FS: Rename (atomic)
FS-->>FC: Done
FC-->>AI: Move succeeded
end
中核機能と安全性の不変条件
| 機能/不変条件 | 保証と実装の詳細 | セキュリティおよび運用上のメリット |
|---|---|---|
| ローカル stdio と明示的な外部通信 | MCP トランスポートはローカル stdio であり、テレメトリや自動的なネットワーク通信はありません。fc_web_fetch は、クライアントが明示的に呼び出した場合にのみアウトバウンド HTTP(S) リクエストを送信します。allow_private が有効になっていない限り、プライベートな宛先はデフォルトでブロックされます。 | ローカルでポート不要のサーバートランスポートを維持しながら、クライアントからネットワーク境界を確認できるようにします。 |
| 安全な削除とゴミ箱による保護 | fc_safe_delete は項目を Windows のごみ箱/macOS のゴミ箱/Linux FreeDesktop のゴミ箱に移動します。fc_set_safe_mode は、すべての削除を安全に行うよう設定します。 | 誤った再帰的削除や一括削除による、取り消せないデータ損失を防ぎます。 |
クラウドロックに強い移動(fc_move) | クラウド同期フィルター(OneDrive、Dropbox、iCloud の再解析ポイント)を自動検出し、コピー+検証+削除によるフォールバックにシームレスに切り替えます。 | 同期ディレクトリ内でのエージェントによる操作中に発生する EPERM/EBUSY エラーを解消します。 |
クラウドロックの診断(fc_check_cloud_lock) | 静的なクラウドパスのコンテキストと対象の存在/種類を読み取り専用で報告します。Cloud Files のハイドレーションとプロセスハンドルは、確認できない場合、未確認であることを明示します。 | 静的な OneDrive のリスクと、実際に検出された名前変更ロックをエージェントが区別できます。 |
| 制限付きの複数ファイルコンテンツ検索 | fc_search_content は、入力に厳密な上限を設けます(明示的なファイルは最大 50 件、ファイルあたり 10 MB、マッチ数 200 件、文字数 200k)。glob による再帰検索は行いません。 | 大規模なリポジトリ検索中のメモリ不足や、CPU の致命的なロックを防ぎます。 |
| シークレットとトークンの自動マスキング | コンテンツ検索の抜粋では、一般的な API キー、ベアラートークン、AWS 認証情報、認可ヘッダーが自動的にマスキングされます。 | プロンプト履歴における LLM コンテキストの汚染や、認証情報の意図しない漏えいを防ぎます。 |
| 対話型 REPL とセッション分離 | Python、Node.js、bash、PowerShell 用に、バッファーに上限を設けた状態保持型の対話セッション(fc_start_session、fc_send_input、fc_read_output)を提供します。 | 制限のないバックグラウンドプロセスの増加を招かずに、複数ターンにわたる REPL デバッグを可能にします。 |
| ロスレスなマルチフォーマットエンジン | 7 種類の構造化形式(JSON、YAML、TOML、XML、CSV、INI、TOON)を対象に、宣言的な変換(fc_convert_format)を行います。 | データを失うことなく、異種の設定形式間でデータを適切に正規化します。 |
| 文字化けとファイルの修復エンジン | fc_fix_encoding、fc_fix_json、fc_cleanup_file は、壊れた UTF-8 エンコーディング(27 種類以上のパターン)、不正な JSON 構文、BOM、NUL バイトを修復します。 | OS プラットフォームの違いにより生成された破損ファイルを、パイプライン内で自動修復できます。 |
| 権限昇格を伴わない実行 | 標準的な非特権ユーザーモードで実行されるよう設計され、検証されています。管理者または root 権限は一切必要ありません。 | 攻撃対象領域を最小限に抑え、最小権限の原則に準拠します。 |
| 6 言語対応のランタイム i18n エンジン | ドイツ語(de)、英語(en)、スペイン語(es)、中国語(zh)、日本語(ja)、ロシア語(ru)の動的な言語切り替えと確認(fc_set_language、fc_get_language)に対応します。 | 開発者が母語で利用できる多言語環境と、ローカライズされたエラー報告を提供します。 |
| 複数 OS で検証済みのマトリックス | Node.js 20、22、24 を使用し、Windows、Ubuntu Linux、macOS で 292 件の自動アサーションによりテストされています。 | クロスプラットフォームでの継続的な一貫性と信頼性を実現します。 |
対象ペルソナと見つけやすさ
FileCommander は、開発者、エージェント、運用担当者の 4 つの主要なペルソナ向けに特化して構築され、検証されています。
[PERSONA-01] 自律型 AI コーディングエージェントと LLM スウォーム
- プロフィール: Claude Code、Antigravity/Gemini、OpenAI Codex、AutoGen、CrewAI を使い、再帰的なコード編集、プロジェクトのリファクタリング、ディレクトリ監査を実行するマルチエージェントスウォームとスタンドアロンのエージェント実行環境です。
- 主な運用上の課題: 数メガバイトのファイルを読み込むことでコンテキストウィンドウが急速に肥大化すること、クラウド同期フォルダー内のロックされたファイルによる未処理のプロセスクラッシュ(
EPERM/EBUSY)、誤ってrm -rfによるクリーンアップを実行した際にリポジトリが復旧不能な状態に破損することです。 - FileCommander のソリューション:
fc_preview_file:メタデータを優先して検査し、インラインコンテンツを厳密に 1 MiB 以下に抑えることで、LLM のコンテキストが過剰に膨らむのを防ぎます。fc_search_content:上限付きの複数ファイル検索(最大 50 ファイル、1 ファイルあたり 10 MB、200 件の一致)を行い、シークレット/トークンを自動的にマスキングします。fc_safe_deleteとfc_set_safe_mode:削除したファイルを OS のごみ箱に保持し、リスクのないファイル操作を実現します。fc_moveとfc_check_cloud_lock:ファイルがロックされている場合に、自動的にコピー、SHA-256 検証、リンク解除へとフォールバックし、エージェントの失敗を防ぎます。
[PERSONA-02] DevOps、ツールチェーン、マルチホスト自動化エンジニア
- プロフィール: Windows、Linux、macOS にまたがるクロスプラットフォーム CLI ツール、CI/CD 検証パイプライン、複数マシン間の同期スクリプトを構築するシステムおよび自動化エンジニアです。
- 主な運用上の課題: OS ごとに異なる仕様(Windows のバックスラッシュと POSIX のスラッシュ、改行コードの破損、シェル固有の構文)、ゾンビ子プロセス、共有 OneDrive/Dropbox ワークスペースでのファイルロックです。
- FileCommander のソリューション:
- Windows、Linux、macOS で統一されたクロスプラットフォームのツール仕様を提供します。
- 上限付き循環リングバッファーを備えた、状態を保持する対話型 REPL セッション(
fc_start_session、fc_send_input、fc_read_output)を提供します。 - ファイルの一括リネーム(
fc_batch_rename)と、バックグラウンドでのディレクトリ検索(fc_start_search、fc_get_search_results)に対応します。 - プロセスリークを起こさずに、プロセスのライフサイクルを管理します(
fc_execute_command、fc_start_process、fc_kill_process)。
[PERSONA-03] SecOps、ガバナンス、コンプライアンス担当者
- プロフィール: エンタープライズ環境や本番環境での AI ツール連携を監督するセキュリティ担当者、コンプライアンス監査担当者、プライバシー担当チームです。
- 主な運用上の課題: 開示されていないバックグラウンドのテレメトリビーコン、ローカルプラグインによる未審査のネットワークアクセス、モデルのトレーニングやプロンプト履歴への認証情報/トークンの漏洩、非特権ユーザーによる権限昇格です。
- FileCommander のソリューション:
- テレメトリが一切なく、外部から接続可能なネットワークリスニングポートも一切ない、ローカルの stdio トランスポートです。
- 明示的な外向きネットワーク通信は、呼び出し元が実行した
fc_web_fetchに厳密に制限されています(内部/プライベート IP はデフォルトでブロックされます)。 - 検索結果の抜粋でシークレットとベアラートークンを自動的にマスキングします(
INV-MASK-06)。 - 非特権ユーザーによる厳格な実行(
INV-PROC-09)と、48 時間以内の脆弱性対応を保証する SLA([email protected]、[email protected])です。
[PERSONA-04] エンタープライズプラットフォームアーキテクトとデータパイプライン開発者
- プロフィール: ローカルファイルの統合、異種設定形式の正規化、暗号学的ハッシュの検証、レポートの生成を行うソリューションアーキテクトとデータエンジニアです。
- 主な運用上の課題: 単一用途の異なるサーバーを 4~6 台必要とする MCP サーバーの乱立、ツール間で発生する破損した UTF-8 バイト列(文字化け)、専用の解析スクリプトです。
- FileCommander のソリューション:
- 50 種類のツールを単一サーバーに統合し、複数サーバーの乱立とプロセスのオーバーヘッドを解消します。
- 7 種類の構造化形式(
fc_convert_format:JSON、YAML、TOML、XML、CSV、INI、TOON)間で、情報を損失しない宣言的な変換を行います。 - パイプラインの自己修復に対応する、組み込みのファイル修復エンジン(
fc_fix_encoding、fc_fix_json、fc_cleanup_file)を備えています。 - 暗号学的チェックサム(
fc_checksum:SHA-256、SHA-512、MD5、SHA-1)と、Markdown から PDF/HTML へのレンダリング(fc_md_to_pdf、fc_md_to_html)に対応します。
高インテント検索クエリと見つけやすさのベクトル
- 主要な検索クエリ:
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。 - 機械可読メタデータ: AI エージェント向けの構造化コンテキストは、
llms.txt、server.json、glama.jsonで管理されています。 - コンプライアンスと帰属表示:
THIRD_PARTY_LICENSES.mdおよびNOTICEに照らして検証済みです。
インストール
前提条件
- Node.js 20 以上
- npm
オプション 1:NPM からインストール
npm install -g ellmos-filecommander-mcp
オプション 2:ソースからインストール
git clone https://github.com/ellmos-ai/ellmos-filecommander-mcp.git
cd ellmos-filecommander-mcp
npm ci
npm run build
設定
Claude Desktop
claude_desktop_config.json に追加します。
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
NPM でグローバルインストールした場合:
{
"mcpServers": {
"filecommander": {
"command": "ellmos-filecommander"
}
}
}
ソースからインストールした場合:
{
"mcpServers": {
"filecommander": {
"command": "node",
"args": ["/absolute/path/to/filecommander-mcp/dist/index.js"]
}
}
}
保存した後、Claude Desktop を再起動してください。
その他の MCP クライアント
サーバーは stdio トランスポートで通信します。MCP クライアントから dist/index.js エントリーポイントまたは ellmos-filecommander バイナリを指定してください。
ツールの概要
ファイルシステム操作(15 個のツール)
| ツール | 説明 |
|---|---|
fc_read_file | ファイルの内容を読み取ります。行数制限を指定できます |
fc_preview_file | まず MIME タイプとサイズを確認し、その後、上限付きの MCP インラインコンテンツを明示的に要求します |
fc_read_multiple_files | 1 回の呼び出しで最大 20 個のファイルを読み取ります |
fc_write_file | ファイルに書き込み、新規作成、または追記します |
fc_edit_file | 行単位で編集します(行の置換、挿入、削除) |
fc_str_replace | コンテキストを検証して、ファイル内の一意な文字列を置換します |
fc_list_directory | ディレクトリの内容を一覧表示します(再帰、深さの設定が可能) |
fc_create_directory | ディレクトリを作成します(親ディレクトリも含む) |
fc_delete_file | ファイルを削除します(完全削除) |
fc_delete_directory | ディレクトリを削除します(再帰フラグは任意) |
fc_safe_delete | ごみ箱に移動します(復元可能です!) |
fc_move | ファイルやディレクトリを移動または名前変更します(クラウドロックに安全) |
fc_copy | ファイルやディレクトリをコピーします |
fc_file_info | 詳細なファイルメタデータ(サイズ、日付、種類)を取得します |
fc_search_files | ワイルドカードパターンを使用して、ファイルを同期的に検索します |
fc_preview_file は、ローカルファイルに対するリモート/ヘッドレス環境向けの代替手段です。デフォルトの呼び出しでは、解決済みのパス、file:// URI、MIME タイプ、バイトサイズ、プレビューの種類、固定の 1 MiB 上限、正確な後続の呼び出しのみを含む構造化メタデータを返します。コンテンツは include_content=true の後にのみ読み取られます。対象となるテキストとラスター画像には標準の MCP text/image コンテンツブロックが使用され、PDF には上限付きの埋め込み resource が使用されます。1 MiB を超えるファイルと未対応の種類はメタデータのみとなり、プレビュー経由で読み取られたり、Base64 エンコードされたりすることはありません。
コンテンツ検索(1 ツール)
| ツール | 説明 |
|---|---|
fc_search_content | 明示的に指定した順序付きファイル一覧から、リテラルまたは正規表現で読み取り専用検索します。大文字と小文字の区別、コンテキスト、全体およびファイルごとの上限を指定できます |
fc_search_content はグロブを展開せず、ディレクトリを走査せず、ファイルを再帰的に検出することもありません。明示的に指定した UTF-8 テキストファイルを最大 50 個受け付け、バイナリファイルと 10 MB を超えるファイルはスキップして、決定論的な JSON を返します。一致件数は全体で 200 件、ファイルごとに 100 件、コンテキストは 10 行、抜粋は 500 文字、シリアライズ後の出力は 200,000 文字に制限されます。ファイルが見つからない場合、クラウド上のみの場合、権限、エンコーディング、バイナリ、サイズに関するエラーはファイルごとに報告されるため、読み取り可能なファイルからは引き続き結果が得られます。一般的な形式のシークレットは抜粋からマスキングされます。
非同期検索(5 ツール)
| ツール | 説明 |
|---|---|
fc_start_search | バックグラウンド検索を開始します(即座に返ります) |
fc_get_search_results | ページネーションを使用して結果を取得します |
fc_stop_search | 実行中の検索をキャンセルします |
fc_list_searches | 実行中および完了済みの検索をすべて一覧表示します |
fc_clear_search | 完了済みの検索をメモリから削除します |
プロセス管理(5 ツール)
| ツール | 説明 |
|---|---|
fc_execute_command | シェルコマンドを実行します(ブロッキング、タイムアウトあり) |
fc_start_process | バックグラウンドプロセスを開始します(ノンブロッキング) |
fc_open_path | 既存のローカルファイルまたはディレクトリを検証し、OS の既定のアプリケーションで開きます |
fc_list_processes | 実行中のシステムプロセスを一覧表示します |
fc_kill_process | PID または名前でプロセスを終了します |
fc_open_path は既存のファイルまたはディレクトリのみを受け付け、固定されたネイティブの既定ハンドラー起動ツールに渡します。構造化された結果では launcher_accepted=true|false が報告され、user_visible="unknown" が常に報告されます。また、機械可読な代替手段として、ファイルにはメタデータのみを指定した fc_preview_file、ディレクトリには fc_list_directory が示されます。ランチャーが受け付けたことをもって、GUI が表示されたとは断定しません。一方、fc_start_process では呼び出し元が実行ファイルと引数を選択できます。fc_execute_command は任意のシェルコマンドを受け付けます。通常のコマンドでは Node の既定シェルが使用され(Windows では COMSPEC/cmd.exe)、FileCommander の Windows 特殊文字パスでは Windows PowerShell 経由で実行される場合があります。
インタラクティブセッション(5 ツール)
| ツール | 説明 |
|---|---|
fc_start_session | インタラクティブプロセスを開始します(Python、Node、シェルなど) |
fc_read_output | セッションの出力を読み取ります |
fc_send_input | 実行中のセッションに入力を送信します |
fc_list_sessions | すべてのセッションを一覧表示します |
fc_close_session | セッションを終了します |
ファイルの保守と修復(9 ツール)
| ツール | 説明 |
|---|---|
fc_fix_json | 壊れた JSON を修復します(BOM、末尾のカンマ、コメント、一重引用符) |
fc_validate_json | JSON を検証し、エラーの位置とコンテキストを詳細に表示します |
fc_cleanup_file | BOM、NUL バイト、末尾の空白を削除し、改行コードを正規化します |
fc_fix_encoding | 文字化け/二重エンコードされた UTF-8 を修正します(27 種類以上の文字パターン) |
fc_folder_diff | スナップショットでディレクトリの変更を追跡します(新規/変更/削除) |
fc_batch_rename | パターンに基づいて一括で名前を変更します(接頭辞/接尾辞、置換、自動検出) |
fc_convert_format | JSON、CSV、INI、YAML、TOML、XML、TOON 形式間で変換します |
fc_detect_duplicates | SHA-256 ハッシュを使用して重複ファイルを検出します |
fc_checksum | ファイルをハッシュ化します(MD5、SHA-1、SHA-256、SHA-384、SHA-512)。比較も指定できます |
アーカイブ(1 ツール)
| ツール | 説明 |
|---|---|
fc_archive | ZIP アーカイブを作成、展開、一覧表示します |
OCR(1 ツール)
| ツール | 説明 |
|---|---|
fc_ocr | tesseract.js を使用して画像からテキストを抽出します(オプションの依存関係) |
クラウド同期(1 ツール)
| ツール | 説明 |
|---|---|
fc_check_cloud_lock | クラウド同期の静的なコンテキストと対象の状態を報告します。証拠なしにロックが有効だと主張することはありません(Windows) |
システム(4 ツール)
| ツール | 説明 |
|---|---|
fc_get_time | タイムゾーン情報付きで現在のシステム時刻を取得します |
fc_set_safe_mode | セーフモードを切り替えます。すべての削除はごみ箱を経由します |
fc_set_language | 実行時の言語を設定します(de、en、es、zh、ja、ru) |
fc_get_language | アクティブな実行時の言語と、サポートされているすべての言語コードを読み取ります |
エクスポート(2 ツール)
| ツール | 説明 |
|---|---|
fc_md_to_html | Markdown を CSS スタイル付きのスタンドアロン HTML に変換します(見出し、コードブロック、表、入れ子のリスト、引用、画像、チェックボックス) |
fc_md_to_pdf | ヘッドレスブラウザー(Edge/Chrome)を使って Markdown を PDF に変換します。ブラウザーが利用できない場合は HTML にフォールバックします |
Web(1 ツール)
| ツール | 説明 |
|---|---|
fc_web_fetch | Web ページを取得し、mode に応じてコンテンツを返します:extract(本文を抽出)、raw(HTTP ボディ)、links(リンク)、forms(フォーム)、headers(ヘッダー)。読み取り専用のネットワークツールです。SSRF ガードにより、デフォルトで内部/プライベートのターゲットへのアクセスをブロックします。 |
合計:50 ツール
比較表と代替手段
FileCommander は、ファイルシステムの操作、範囲を限定した検索、プロセス制御、データ修復、形式変換、ドキュメントのレンダリングを、単一の統合 MCP インターフェースにまとめています。以下に、主要な運用上の 10 項目について、標準的な代替手段とのアーキテクチャ上の比較を示します。
| 運用上の項目 | ellmos FileCommander MCP(50 個のツール) | 公式 Filesystem MCP(@modelcontextprotocol/server-filesystem) | Desktop Commander MCP | ホストの直接シェル(bash / PowerShell) | アドホックなスクリプトとクラウド API |
|---|---|---|---|---|---|
ツールの幅と範囲 [INV-PROC-09] | 6 つの領域にわたる 50 個の統合ツール | 基本的なファイル I/O ツール約 11 個 | 約 15 個のツール(ファイル+プロセス) | 制約のない CLI コマンド | 個別に作成されたスクリプトが分散 |
安全な削除と復元 [INV-SAFE-02] | OS 標準のごみ箱(fc_safe_delete、セーフティモード) | 完全削除のみ(unlink) | 完全削除のみ | 元に戻せない rm -rf / Remove-Item | 独自のごみ箱実装 |
クラウドロックと同期への耐性 [INV-LOCK-03] | 自動フォールバック(コピー+SHA-256 による検証+EPERM/EBUSY 時の unlink) | ロックされたファイル/再解析ポイントで失敗 | ロックされたファイルで失敗 | 失敗するか、無期限にブロック | 同期の衝突/競合コピー |
範囲を限定した検索とシークレットのマスキング [INV-SRCH-05 / INV-MASK-06] | 範囲を限定した検索(最大 50 ファイル、10 MB、API トークンを自動マスキング) | ディレクトリ走査のみ(コンテンツの正規表現検索なし) | 範囲制限のない正規表現検索 | 範囲制限のない grep(コンテキストにシークレットが漏れる) | マスキングのない独自の正規表現 |
非同期の長時間検索 [INV-SRCH-05] | トークンでページ分割するバックグラウンドスキャン(fc_start_search) | 同期のみ(エージェントをブロック) | 同期のみ | バックグラウンドジョブ制御(&) | ポーリングループ/低速なネットワーク呼び出し |
対話型 REPL とセッション制御 [INV-REPL-08] | 状態を保持する REPL(Node、Python、Shell)と循環バッファー | 非対応 | 基本的なターミナルセッション | 生のサブプロセス(ゾンビプロセスのリスク) | 複雑な IPC パイプ |
自己修復とデータ修復 [INV-DIAG-04] | 組み込みの文字化け修正(27 種類以上のパターン)と JSON 修復 | 非対応 | 非対応 | 手動の iconv / sed パイプライン | 独自のエラー回復コード |
複数形式の変換 [INV-PREV-07] | 宣言型変換(JSON、YAML、TOML、XML、CSV、INI、TOON) | 非対応 | 非対応 | 外部の jq / yq / xmlstarlet が必要 | サードパーティの Python ライブラリ |
ドキュメントとアーカイブのユーティリティ [INV-PREV-07] | 組み込みの ZIP ライフサイクル管理、OCR(Tesseract)、Markdown から HTML/PDF への変換 | 非対応 | デスクトップアプリ経由で Excel/PDF に対応 | pandoc、zip、tesseract が必要 | ユーティリティへの依存が分散 |
ガバナンスとセキュリティ SLA [INV-LOCAL-01 / INV-SLA-10] | ローカル stdio、テレメトリゼロ、明示的な外部送信、拘束力のある 48 時間 SLA | 標準的な stdio、コミュニティ SLA | stdio、未審査のテレメトリ/ログ | 制限のない権限昇格とスクリプトインジェクションのリスク | アドホックな SaaS によるクラウドへのデータ露出 |
主な差別化要因:
- 復元可能な削除(ごみ箱)とグローバルなセーフティモードを備えた、唯一の MCP サーバーです
- ページネーションとトークン管理に対応した非同期バックグラウンド検索を備えた、唯一の MCP サーバーです
- 検索スニペット内のシークレットとベアラートークンの自動マスキングを備えた、唯一の MCP サーバーです
- JSON 修復、文字化けエンコーディングの修正、重複検出を標準搭載しています
- クラウドロックに安全なファイル操作と、コピー+検証+削除による自動フォールバックを標準搭載しています
- 最も包括的な単一サーバーソリューション(50 個のツール)により、複数サーバーの乱立を解消します
ツールのプレフィックス
すべてのツールは、他の MCP サーバーとの競合を避けるため、fc_(FileCommander)プレフィックスを使用します。
ガバナンスとランタイムの不変条件
サーバーは、安全性、予測可能性、最小権限を保証する10個の厳格なランタイム不変条件を適用します。
| 不変条件 ID | 名前 | 保証と実装の詳細 | 運用上の安全性のメリット |
|---|---|---|---|
| INV-LOCAL-01 | ローカル stdio と明示的な外向き通信 | ローカル stdio トランスポート、テレメトリーなし、待ち受けポートなし。外向き HTTP(S) リクエストは、fc_web_fetch への明示的なクライアント呼び出しを介してのみ厳密に実行されます。 | 許可されていないバックグラウンドでのネットワーク漏えいをゼロにし、ローカル優先の分離を実現します。 |
| INV-SAFE-02 | 安全な削除とごみ箱による保護 | fc_safe_delete とグローバルな fc_set_safe_mode により、ファイルとディレクトリの削除は OS のごみ箱(Windows)/ゴミ箱(macOS/Linux)を経由します。 | AI エージェントの操作による、取り消し不能なデータの誤消去を防ぎます。 |
| INV-LOCK-03 | クラウドロックに耐性のある移動 | 同期フィルター(OneDrive、Dropbox、iCloud)が EPERM/EBUSY を引き起こした場合、fc_move は自動的にコピー+SHA-256 検証+ソースのリンク解除という代替処理を実行します。 | クラウド同期されたワークスペース内でも、ファイル操作が確実に成功することを保証します。 |
| INV-DIAG-04 | クラウドロックの診断 | fc_check_cloud_lock は、ファイルシステムの状態を変更せずに、読み取り専用の静的なパス検査と再解析ポイントの検出を行います。 | 変更を行う前に、エージェントが同期競合のリスクを評価できます。 |
| INV-SRCH-05 | 複数ファイルのコンテンツ検索の上限 | fc_search_content は、入力を厳密に制限します(明示的に指定できるファイルは最大50個、ファイルあたり10 MB、検索結果は200件、文字数は20万文字)。グロブによる再帰検索は行いません。 | メモリ不足によるクラッシュや、制限のない CPU 消費を防ぎます。 |
| INV-MASK-06 | シークレットとトークンの自動マスキング | コンテンツ検索の抜粋では、API キー、ベアラートークン、AWS 認証情報、認可ヘッダーを自動的に検出してマスキングします。 | 認証情報がプロンプトへ漏えいしたり、コンテキストを汚染したりするのを防ぎます。 |
| INV-PREV-07 | インラインプレビューの上限と安全なオープン | fc_preview_file はメタデータを優先し、インラインコンテンツの上限を厳格に1 MiBに制限します。fc_open_path は、シェルセーフな OS ランチャーを介して既定のアプリケーションを起動します。 | UI のフリーズやペイロードの肥大化を防ぎながら、リモートファイルとローカルファイルを安全に確認できます。 |
| INV-REPL-08 | 対話型 REPL とセッション分離 | 状態を保持する対話型セッション(fc_start_session、fc_send_input、fc_read_output)では、サイズに上限のある循環リングバッファを使用します。 | ゾンビプロセスの増加を防ぎながら、複数ターンにわたる REPL デバッグを可能にします。 |
| INV-PROC-09 | 非特権・非昇格での実行 | 標準の非特権ユーザーモードでのみ実行され、管理者権限や root 権限を要求することも必要とすることもありません。 | 攻撃対象領域を最小限に抑え、最小権限の原則を厳格に遵守します。 |
| INV-SLA-10 | 48時間のセキュリティ対応と5日間のトリアージ SLA | 複数の連絡先([email protected]、[email protected])を設け、正式な脆弱性対応を約束します。 | 予測可能で、エンタープライズ対応のインシデント対応とトリアージのライフサイクルを実現します。 |
セキュリティ
このサーバーは、実行ユーザーの権限でファイルシステム全体にアクセスできます。
詳しいセキュリティ情報と推奨事項については、SECURITY.md を参照してください。
主なポイント:
fc_execute_commandは任意のシェルコマンドを実行しますfc_open_pathは、呼び出し元が指定した既存のパスに関連付けられたアプリケーションを起動します。そのアプリケーションはユーザーの権限で実行されますfc_open_pathは、起動要求の受理状況と、不変のuser_visible="unknown"を個別に報告します。メタデータを優先するリモート向けの代替手段はfc_preview_fileで、インラインコンテンツの上限は明示的に 1 MiB ですfc_start_sessionは任意の対話型コマンドを開始し、後続のfc_send_input呼び出しで追加の操作を実行できますfc_delete_*ツールは、既定で完全に削除します(すべての削除をごみ箱に移動するには、fc_safe_deleteを使用するか、fc_set_safe_modeでセーフモードを有効にしてください)- セーフモードが保護するのは
fc_delete_fileとfc_delete_directoryのみです。コマンドや対話型セッションはサンドボックス化されません - サーバーのトランスポートはローカルの stdio で、テレメトリーを送信しません。ただし、明示的に
fc_web_fetchを呼び出すと、アウトバウンドの HTTP(S) アクセスが発生します - 組み込みのサンドボックス機能はありません。セキュリティは MCP クライアント層に委ねられています
開発
# Install dependencies
npm ci
# Watch mode (auto-rebuild on changes)
npm run dev
# One-time build
npm run build
# Start the server
npm start
# Run test suite
npm test
テスト
このプロジェクトには、ファイルシステム操作、メタデータを優先するインラインプレビュー、範囲を限定したコンテンツ検索、ネイティブの既定ハンドラーによる起動、形式変換、エンコーディングの修復、アーカイブ処理、重複検出、言語パック、ツールの注釈、実際の stdio 動作、セキュリティ境界を対象とする 235 件の Vitest テストと 71 件の単独 i18n チェック(合計 306 件) が含まれています。
npm test # Run all tests
node test-i18n.mjs # Run standalone i18n checks
npx vitest run # Same as above
npx vitest --watch # Watch mode
テストは Windows、macOS、Linux で検証されています。
プッシュとプルリクエストでは、Node.js 20、22、24 を使用して、npm ci、TypeScript のビルド、Vitest、npm パッケージのドライランを実行する CI が起動します。
貢献ガイドラインについては、CONTRIBUTING.md を参照してください。
変更履歴
全バージョンの履歴については、CHANGELOG.md を参照してください。
ライセンスと法的帰属表示
MIT - Lukas Geiger(ellmos-ai)。open-bricks の包括的な帰属表示については NOTICE を、レベル 1 SBOM については THIRD_PARTY_LICENSES.md を、プレーンテキストの SBOM については THIRD_PARTY_LICENSES.txt を参照してください。
経緯
このプロジェクトは、当初 BACH FileCommander(bach-filecommander-mcp)として開発されました。ellmos-ai 組織の一環として、ellmos FileCommander(ellmos-filecommander-mcp)に名称変更されました。
従来のパッケージ名 bach-filecommander-mcp は非推奨です。代わりに ellmos-filecommander-mcp を使用してください:
npm uninstall -g bach-filecommander-mcp
npm install -g ellmos-filecommander-mcp
ellmos-ai エコシステム
この MCP サーバーは、AI インフラストラクチャ、MCP サーバー、インテリジェントなツールを提供する ellmos-ai エコシステムの一部です。
MCP サーバーファミリー
| サーバー | ツール | 主な用途 | npm |
|---|---|---|---|
| FileCommander | 50 | ファイルシステム、範囲を制限したインラインプレビュー、コンテンツ検索、既定のアプリで開く機能、プロセス管理、対話型セッション、クラウドロックに安全な操作 | ellmos-filecommander-mcp |
| CodeCommander | 22 | コード解析、JSON 修復、インポート、差分、正規表現 | ellmos-codecommander-mcp |
| Clatcher | 12 | ファイル修復、フォーマット変換、バッチ操作 | ellmos-clatcher-mcp |
| n8n Manager | 19 | AI アシスタントによる n8n ワークフロー管理 | n8n-manager-mcp |
| ControlCenter | 31 | MCP スタックの検出、プロファイル管理、コントロールプレーン | ellmos-controlcenter-mcp |
| Homebase | 45 | ローカルファーストの LLM メモリ、ナレッジ、状態、ルーティング、スウォームオーケストレーション | ellmos-homebase-mcp (アルファ版) |
| ServerCommander | 8 | サーバー運用:ヘルスチェック、ログ解析、デプロイのドライラン、メール診断 | ellmos-servercommander-mcp (アルファ版) |
| Blender Use | 5 | ヘッドレス Blender アセットの QA と FBX 再インポートの検証 | ellmos-blender-use-mcp (アルファ版) |
| Open Compute | 16 | モデルに依存しないコンピューター操作:キャプチャ、安全性ゲート付き操作、Windows UIA | open-compute-mcp (アルファ版) |
AI インフラストラクチャ
| プロジェクト | 説明 |
|---|---|
| BACH | LLM エージェント向けローカルファーストのテキストベース OS — 113 以上のハンドラー、550 以上のツール、SQLite メモリ |
| open-compute | Open Compute MCP を支える、モデルに依存しないコンピューター操作のコア |
| clutch | 自動ルーティングと予算追跡を備えた、プロバイダーに依存しない LLM オーケストレーション |
| rinnsal | 軽量なエージェントメモリ、コネクター、自動化インフラストラクチャ |
| ellmos-stack | セルフホスト可能な AI 研究スタック(Ollama + n8n + Rinnsal + KnowledgeDigest) |
| MarbleRun | Claude Code 向け自律型エージェントチェーンフレームワーク |
| gardener | ミニマリストなデータベース駆動型 LLM OS のプロトタイプ(4 つの関数、1 つのテーブル) |
| ellmos-tests | LLM オペレーティングシステム向けテストフレームワーク(7 つの側面) |
デスクトップソフトウェアと関連アプリケーション
パートナー組織 open-bricks とその傘下組織は、AI ネイティブのデスクトップアプリケーションと開発者向けユーティリティを提供しています。
| アプリケーション | カテゴリ | 組織 | 主な機能 |
|---|---|---|---|
| ProFiler | ファイル管理 | file-bricks | AI 統合機能を備えた高速なデュアルペインファイルマネージャー |
| ExplorerPro | ファイル探索 | file-bricks | セマンティックフィルターとプレビュー機能を備えたスマートファイルエクスプローラー |
| WinStorePackager | パッケージング | file-bricks | Windows デスクトップアプリケーション向けの MSIX および Store パッケージング |
| SoftwareCenter | アプリストア | file-bricks | デスクトップパッケージの一元管理と配布 |
| SQLiteViewer | データベースツール | file-bricks | 軽量な SQLite の探索とクエリ実行 |
| DokuZen | Markdown スイート | doc-bricks | Markdown エディター、PDF エクスポート、ドキュメント変換 |
| MediaBrain | ドキュメント/メディア | doc-bricks | 音声・動画の文字起こし、メタデータ抽出、カタログ化 |
| UniversalInvoiceMail | ドキュメント/メール | doc-bricks | 請求書の自動解析、PDF 抽出、メール振り分け |
| DevCenter | 開発者向けスイート | dev-bricks | 統合開発ツールボックス、コードアナライザー、ジェネレーター |
| CodeBox | コードエディター | dev-bricks | LLM による機能拡張を備えた多言語対応コードエディター |
| safe-start-for-codex | セキュリティと監査 | dev-bricks | Codex 向けの堅牢化された実行環境と起動前チェッカー |
| automation-master | タスク自動化 | dev-bricks | 高信頼性のバックグラウンド自動化ランナーおよびスケジューラー |
| Zombie Killer Tray | プロセス管理 | dev-bricks | 孤立した MCP プロセスを確認するための任意の Windows ツール。FileCommander は、サポート対象の node_modules/ellmos-filecommander-mcp/dist/index.js エントリーポイントから起動した場合、設定済みの候補となります。追加のプロセス確認と適用確認はすべて引き続き必要です。 |
Haftung / 責任
本プロジェクトは、ドイツ民法第516条以降に基づく無償のオープンソース贈与です(好意に基づく提供)。作者および貢献者の責任は、ドイツ民法第521条に従い、故意および重過失に限定されます。これに加えて、MIT ライセンスの免責条項が適用されます。
ご自身の責任においてご利用ください。保守の約束や可用性の保証はなく、瑕疵がないことや特定の目的への適合性も保証されません。
セキュリティに関わるインシデントや脆弱性は、[email protected] および [email protected] で拘束力のある48時間 SLAに基づいて受け付け、5営業日以内にトリアージします。
本プロジェクトは、ドイツ法(ドイツ民法第516条以降)に基づく無償のオープンソース贈与です。責任は、故意および重過失に厳格に限定されます(ドイツ民法第521条)。これに加えて、MIT ライセンスの免責条項が適用されます。ご自身の責任においてご利用ください。保証はなく、保守の保証もなく、特定の目的への適合性も想定されていません。
セキュリティインシデントと脆弱性は、[email protected] および [email protected] を通じて、拘束力のある48時間の対応 SLAに基づいて取り扱われ、5営業日以内に正式なトリアージが行われます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。